Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
nimmer
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
8 ms
·
31.
▲
by
nimmer
5y ago
At the time no companies were heavily marketing FOSS projects. Also, today large companies have a fanbase.
32.
▲
by
nimmer
5y ago
Nim is getting very close to Rust in terms of safety (but without the verbose ownership management) https://nim-lang.org/blog/2020/10/15/introduction-to-arc-orc... https://nim-lang.org/bl
33.
▲
by
nimmer
5y ago
Nim compiles to C and then runs GCC (not LLVM) to compile the binary. Overall, it's much faster than Go and Rust.
34.
▲
by
nimmer
6y ago
You described Nim: https://nim-lang.org
35.
▲
by
nimmer
6y ago
In all non-trivial codebases you have to learn how other people implemented something. It can be easy or take time depending on the how well it's written. Macros are not different than functions: one can create readable or crazy spaghe
36.
▲
by
nimmer
6y ago
...because nowadays the world of software is marketing driven. People often ask me what big company is behind Nim even before asking about its design and features.
37.
▲
by
nimmer
6y ago
> I still don't understand though why Nim is not as popular as Go Google's marketing budget.
38.
▲
by
nimmer
6y ago
If I don't remember how to use some function it's a sign that I have to read the documentation. The documentation can have important tips around performance, security & recommended usage patterns that I need to know. And if yo
39.
▲
by
nimmer
6y ago
No. It's an inlined reference counter, not a runtime with dedicated thread and so on. Most people use "GC" to refer to the latter.
40.
▲
by
nimmer
6y ago
Nim is not using GC anymore [1], is memory safe and support formal methods [2] It's also introducing isolation [3] to provide safe multithreading similar to Rust's sendable. [1] https://nim-lang.org/blog/2020&
41.
▲
by
nimmer
6y ago
Like a statically typed, compiled Python? With a more flexible approach to OO? That can compile to binary, javascript and other languages? That would be https://nim-lang.org/
42.
▲
by
nimmer
6y ago
Nim is also as programmable as Lisp, and memory safe with automatic reference counting.
43.
▲
by
nimmer
6y ago
> Languages with garbage collection Nim uses GC by default and uses 512KB of RSS without any tuning. (With ARC/ORC and without libc it can run on microcontrollers with 1KB of RAM)
44.
▲
by
nimmer
6y ago
Nim has multiple memory management strategies with very different trade-offs. ORC provides performance comparable to Rust but without having to write the boilerplate. https://nim-lang.github.io/Nim/gc https:/
45.
▲
by
nimmer
6y ago
> I would prefer it generate direct machine code instead. Why? C has been the best choice for Nim so far. Compiling with Nim+GCC is much faster than Rust, it generates applications with comparable performance, and it supports way more ar
46.
▲
by
nimmer
6y ago
> Nim can inherit these unsafe behaviors of C? Not at all. You could apply the same reasoning for assembly: just because you can write insecure assembly it does not mean that all assembly generated by compiler is using vulnerable coding
47.
▲
by
nimmer
6y ago
If someone replaces complex and difficult code using a good, lean and fast library it would be an improvement. And yet you could argue that it's "adding further layer / critical third-party dependence" and so on.
48.
▲
by
nimmer
6y ago
> Google backs Go. Apple backs Swift. Amazon is trying to back Rust. Thankfully we can still use independent languages like Nim, Python, C, C++
49.
▲
by
nimmer
6y ago
> low-level compared to Python In what way? Nim gives full access to hardware, memory management & co, but the expressiveness is very similar to Python.
50.
▲
by
nimmer
6y ago
Pity that Nim was not part of the article.
51.
▲
by
nimmer
6y ago
Nim has productivity, expressiveness and readability that matches Python. Not the dynamic typing.
52.
▲
by
nimmer
6y ago
Absolutely yes. The default GC (not ARC/ORC) is not stop-the-world. "Nim's memory management is deterministic and customizable with destructors and move semantics, inspired by C++ and Rust. It is well-suited for embedded, har
53.
▲
by
nimmer
6y ago
> different yet practically replaceable garbage collection: RC, Mark & Sweep, Boehm, None, and a couple of deprecated ones The new ARC (automatic reference counting) and ORC are the most promising. No runtime, no pauses, thread-safe,
54.
▲
by
nimmer
6y ago
There's a number of cross-platform GUI frameworks for Nim.
55.
▲
by
nimmer
6y ago
Numpy is nice but pure-Nim applications appear to outperform it easily: https://narimiran.github.io/2018/05/10/python-numpy-nim.html https://github.com/mratsim/Arraymancer
56.
▲
by
nimmer
6y ago
> is static analysis really more powerful than the Rust type system + borrow checker? Yes, and by far. A theorem prover, as the name suggests, can be used to prove algorithmic correctness of your code.
57.
▲
by
nimmer
6y ago
Nim uses GCC and normal, idiomatic Nim competes very well with Crystal in performance and memory usage.
58.
▲
by
nimmer
6y ago
> the borrow checker in Rust, which is a form of static analysis, is so valuable > Compare linters and style checkers Odd comparison: static analysis is way more powerful than these two examples. It can spot plenty of subtle bugs due
59.
▲
by
nimmer
6y ago
> Are there any pros for languages that don't have static analysis other than the fact that it allows "rapid development/prototyping"? Nim is similar to Python in syntax and speed of development and yet it supports st
60.
▲
by
nimmer
6y ago
Plus, assert() is commonly used for runtime checks, not static analysis.
More ›