plum
Nim
Our great sponsors
plum | Nim | |
---|---|---|
2 | 184 | |
169 | 12,920 | |
- | 2.1% | |
7.7 | 9.7 | |
about 2 months ago | about 5 hours ago | |
Python | Nim | |
MIT License | GNU General Public License v3.0 or later |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
plum
- Is there any language that is as similar as possible to Python in syntax, readability, and features, but is statically typed?
-
How Julia Uses Multiple Dispatch to Beat Python
Singledispatch is old, dates back to py2: https://docs.python.org/3/library/functools.html#functools.s...
I definitely agree that multiple dispatch is a lot harder :). But most of the examples in the article didn't need it, and it would have been appropriate I think to show equivalent code in Python. All that article did was make me think the author didn't know Python very well.
There are several libraries for multiple dispatch too, for e.g. https://github.com/wesselb/plum
Nim
-
Creator of SerenityOS announces new Jakt programming language effort
Nim https://nim-lang.org/
-
What are some low level languages?
Rust is trying to be there. D Language is there. Zig is around there. Nim is around there. V lang maybe.
-
My Experiences with Julia
Cython has long been an interesting alternative here - a gradually typed amalgam of Python & C that lets you write/compile Python extension modules without needing to learn much of the CPython API. You can even use --embed to compile your whole script file and -X infer_types.verbose=True to let you know where types are dynamic/implicit rather than declared. Several big core packages like scipy use this as well.
Personally, I prefer Nim [2] which has more compile-time meta-programming support, is strongly typed from the outset, and has a lot of syntactic flexibility like UFCS, and many other goodies.
-
The Julia language has a number of correctness flaws
Or Nim [1]..kind of an Ada with Lisp macros and more Pythonesque surface syntax.
All three are ahead-of-time compiled/less REPL friendly, though. Taking more than 100 milliseconds to compile can be a deal breaker for some, especially in exploratory data analysis/science settings where the mindset is "try out this idea..no wait, this one..oops, I forgot a -1" and so on. In my experience, it's unfortunately hard to get scientist developers onboard with "wait for this compile" workflows.
-
What languages do you like as much as or more than Kotlin?
Here is link number 1 - Previous text "Nim"
Nim is my go-to. I use Kotlin if it's a work project that will get an entire team maintaining it. Don't want to spend the political capital on Nim yet, but planning on it.
-
Our Experience Porting the YJIT Ruby Compiler to Rust
Nim had this same problem a couple of years ago, and it's very annoying. I just checked some stdlib functions and it's still there:
https://github.com/nim-lang/Nim/blob/devel/lib/std/varints.n...
For example, in readVu64:
18: proc readVu64*(z: openArray[byte]; pResult: var uint64): int =
-
The "mangabank.org" has disappeared.
A module that axios requests https, it is a return value of Promise type and can process response if the https request is successful. cheerio uses html text as an object and uses it as a css selector. I used it like nokogiri in Ruby, like bueatifulsoup4 in python, like goquery in go, like nimquery in Nim. These convenience selectors have similar usages and are different, so if you are not accustomed to not being able to use them properly unless you examine them carefully, you can manage with regular expressions even if you do not use them, so in that case it is the same even if the language is different. The standard regular expression style can be written in the same way. go also has a perl-style regular expression module, though it's not a standard library.
-
Is move of a ref object and accessing later to the object supposed to compile?
I created https://github.com/nim-lang/Nim/issues/19768
-
Nim Version 1.6.6 Released
For all those who are really interested in the language and have at least a small amount of experience with it already: Nim is ripe for contributing!
While the main team works on bigger things drawing v2 closer, there's still lots of issues of various magnitude and lots of housekeeping bits that can be done while getting yourself acquainted with the project's structure.
Here's a few links for your consideration:
- https://github.com/nim-lang/Nim/issues?q=is%3Aissue+is%3Aope...
- https://dev.to/xflywind/best-ways-to-make-your-first-contrib...
What are some alternatives?
zig - General-purpose programming language and toolchain for maintaining robust, optimal, and reusable software.
go - The Go programming language
rust - Empowering everyone to build reliable and efficient software.
haxe - Haxe - The Cross-Platform Toolkit
crystal - The Crystal Programming Language
rust - Rust for the xtensa architecture. Built in targets for the ESP32 and ESP8266
NumPy - The fundamental package for scientific computing with Python.
node - Node.js JavaScript runtime :sparkles::turtle::rocket::sparkles:
nimterop - Nimterop is a Nim package that aims to make C/C++ interop seamless
godot-docs - Godot Engine official documentation
tiny-skia - A tiny Skia subset ported to Rust
jester - A sinatra-like web framework for Nim.