frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

Open in hackernews

Why Nim?

https://undefined.pyfy.ch/why-nim
130•TheWiggles•15h ago

Comments

mathverse•15h ago
Nim is a programming language for an expert programmer. The ecosystem is very small and for everything a little bit more specialized you need to make a library yourself.
andsoitis•14h ago
When there's a vacuum like that, that is also an opportunity for folks to make a significant impact.

Compare to other communities where you need to stand out from the noise.

scuff3d•4h ago
Perfect examples of glass-half empty vs glass-half full kinds of people.
lifthrasiir•3h ago
That's plus for individuals but minus for languages.

Personal anecdote: I was exactly there a decade ago when I was working on Chrono, now one of best-known date and time libraries in Rust. Since I was simply my own, my design was not as good as it could have been. Of course it is still much better to have a suboptimal Chrono, but I can't deny that it remains and probably will remain suboptimal due to my design a decade ago.

DarkNova6•14h ago
Sounds more like "Expert Hobbyist" than "Expert Programmer".
summarity•7h ago
Whenever I’m missing a library I’m usually just 5 mins away from successfully using a C library (or any library with a C API). In my years doing data analysis, signal processing, and just writing plain servers I’ve never once gotten stuck because of a missing library.
simonask•15h ago
“Has safety features in place”? I’m sorry, not gonna cut it.

I mean, Nim looks cool, but I’m not sure what it does that is substantially new. Niceties are generally not enough to foster adoption - something real has to be on the table that meaningfully opens up new avenues, unlocks new paths, enables new use cases.

I have the same criticism of Zig.

archargelod•14h ago
Nim has one of the most powerful metaprogramming systems out there. Hygienic templates, easy macros, but my favorite is the compile-time functions.

Nim compiler has an embedded VM, so any Nim code (that doesn't rely on FFI) can run at compile time.

lionkor•14h ago
More powerful than zig's comptime?
Tiberium•14h ago
Yes, compile-time execution in Nim is very natural, if you mark a variable "const" or use some other ways, you can run almost all pure-Nim code at compile-time without having to modify it.
xigoi•14h ago
For me, the killer feature of Nim is that I can just write code without having to constantly fight the language.
metaltyphoon•4h ago
You just get to fight now at runtime!
rich_sasha•15h ago
I often wonder why some languages succeed while others falter. Why did Rust break through, for example, while so many other excellent languages didn't.

I guess a lot of languages are kind of fungible. If you want a fast, cross platform, GC-based OOP language, the truth is, there are many choices. I'm not saying they are the same, but for 80% of the use cases they kind of are, and there are always good reasons to use established languages rather than new ones.

The ones that make it offer something very unique, not merely better than peers. So Rust, as a memory-safer non-GC language has a clear use case with little or no competition.

Nim doesn't have this luxury. I wish it well, I like the language and often contemplated learning it properly. But I fear the odds are against it.

hardwaresofton•14h ago
I really feel for new languages that have to compete with Rust.

It’s probably easier than it’s ever been to create a high quality new language but to get as good as Rust has become just takes so much time and collective effort that it can be out of reach for most ecosystems/groups of builders. Getting the language features just right (and including novel stuff) is just the beginning.

Remember when Rust and Go were comparable? Feels like forever ago when they both just looked like “new systems programming languages” a we know how that turned out.

For example Zig is probably the most impressive new language, and it’s got a ton of awesome stuff but the chance that I’m going to adopt it over a language with often comparable performance that is ALSO much safer? Rounds to zero.

Maybe some day I’ll have the brain cells and skill to write code in zig and be confident I’m Not introducing a whole class of gnarly bugs, but it seems like I should just focus my limited brain power on writing high quality Rust code.

akkad33•14h ago
> Maybe some day I’ll have the brain cells and skill to write code in zig and be confident I’m Not introducing a whole class of gnarly bugs, but it seems like I should just focus my limited brain power on writing high

Llms solve this problem

lionkor•14h ago
If you think LLMs solve this problem, you should reevaluate your experience level and seniority.
akkad33•11h ago
I've said nothing about my experience or seniority in this discussion, so I don't know how they are relevant
baq•14h ago
> Remember when Rust and Go were comparable?

They were never intended for the same niches. Go is a Java/Python replacement. Rust is more of a C/subset of C++ replacement. They were compared mostly because they had usable versions released at approximately the same time, but you (correctly) don’t see those comparisons anymore.

pjmlp•7h ago
Go is hardly a replacement with its weaker type system.
steveklabnik•6h ago
Way back when Rust was first made known outside of Mozilla; it was pretty close to Go. While the intent was to be super low level, it didn’t really achieve those goals until years later, and kind of at the expense of parts of the original vision.
hardwaresofton•34m ago
Other WAY more qualified people already responded and elucidated on the initial origins of Rust (it used to have a garbage collector!), but I can at least add this:

The definition of "same niche" is doing a lot of heavy lifting.

There's a marked difference between what these tools became and the impression of them along the way and the axes along which they were compared in actuality. In the simple "I need to build a backend" conversation, Rust and Go were comparable long after Rust changed to a "real" systems language -- I'd go as far as to say people still compare them to this day (and Go probably wins that larger niche for many contextual reasons).

I think the point is partially reflected in your own statement -- there are many axes along which Go is not a Java replacement, and is not a Python replacement either. The definition of the "niche" vastly changes the answer.

For example, if you pick the right niche (e.g. HFT) Java meaningfully outperforms Go because high performance Java is... actually high performance -- those millions of man years into the compiler, runtime, etc produced progress. That said both of those languages get trounced by the FPGAs and custom hardware in the end.

I'm not convinced it was always wrong to compare Rust and Go, but the modern understanding of how different they are today is definitely better/I am glad they're more separated/more people know not to directly compare them.

logicchains•13h ago
>a language with often comparable performance that is ALSO much safer

There are domains where performance is critical and safety isn't so important (e.g. video games). Zig has an advantage in such domains because of the pervasive support for passing around allocators in the standard library (avoiding hidden allocations, and allowing efficient memory reuse via block allocators), while in the Rust stdlib custom allocators are relatively cumbersome to use (and not easy to prove safe to the compiler).

hardwaresofton•20m ago
Agreed, I really like Zig's explicit allocation (and to be fair, lots of people from Rust like it too[0], it's just such an insane lift that who knows when it will stabilize)

The new "managed" async strategy (I was previously mistaken thinking it was the same as sans-io) is also really intriguing IMO, and feels like a fantastic balance (people in Rust are doing this too, but for the unrelated reason of trying to support various async runtimes).

[0]: https://github.com/rust-lang/rust/issues/32838

bsder•6h ago
>For example Zig is probably the most impressive new language, and it’s got a ton of awesome stuff but the chance that I’m going to adopt it over a language with often comparable performance that is ALSO much safer? Rounds to zero.

1) Rust, in practice, is "safer" than Zig but doesn't seem to be "much safer".

See: https://mitchellh.com/writing/ghostty-gtk-rewrite

> Our Zig codebase had one leak and one undefined memory access. That was really surprising to me (in a good way). Our Zig codebase is large, complex, and uses tons of memory tricks for performance that could easily lead to unsafe behaviors. I thought we'd have a lot more issues, honestly. Also, the one leak found was during calling a 3rd party C API (so Zig couldn't detect it). So this is a huge success.

Take that as you will. And what Ghostty does probably requires a decent chunk of "unsafe" that would likely hide a bug anyway.

To me, the tradeoff of a demonstrably small number of bugs in a system software language in return for the demonstrably faster developer velocity (Zig compiles WAY faster than Rust, Zig wraps C/C++ libraries way easier than Rust, Zig cross compiles way more easily, etc.) is a decent tradeoff for my use cases.

For me, programming is about corralling motivation more than anything else. Rust saps my motivation is ways that Zig does not.

I love what the Oxide folks are doing. Having someone pwn your big server because of a memory bug? Yeah, I'd reach for Rust in their use cases. Or, if I'm handling credit cards, I'll have a very different set of tradeoffs that swing against Zig. (Although, in that case, I'll probably reach for a GC language in that case so that I don't have to think about memory management at all.)

2) Rust is to C++ like Zig is to C.

Zig is simply a much smaller language than Rust. I use Zig because my brain isn't big enough for either C++ or Rust.

I'm not a 10x programmer, but I still want to get stuff done. Zig and C enable me to do that without bending my brain.

bilkow•2h ago
(not your parent commenter)

> For me, programming is about corralling motivation more than anything else. Rust saps my motivation is ways that Zig does not.

Yes, agree with you a lot! Maybe our brains are just wired differently, for me, no other language (until now) gives me as much motivation as Rust, as it's type system and docs make me feel really good.

> Zig is simply a much smaller language than Rust. I use Zig because my brain isn't big enough for either C++ or Rust.

Disclaimer: haven't really tried Zig yet. IMO you don't need to keep the whole of Rust in your brain to use it, I usually can just focus on the business logic as if I make a stupid mistake, the compiler will catch it. That (and the type system) is what makes me more efficient with it than other langs. I also stay clear of lifetimes unless I really need them (which is almost never for application code). An extreme example of the opposite is C, where I need to take care about anything I do as it will just accept anything (e.g. auto casting types) so I need to be vigilant about everything.

All of that said, there are patterns that will just be harder to reason about in Rust, mostly with self-referential things, and if you area already used to using them a lot, this can be a hassle. If you're used to smaller data structures and data-oriented programming, it will be a lot easier.

This is not trying to convince you or anyone else, just showing a different perspective. If you feel better with Zig, use it! Everyone has their own experience.

hardwaresofton•23m ago
> All of that said, there are patterns that will just be harder to reason about in Rust, mostly with self-referential things, and if you area already used to using them a lot, this can be a hassle. If you're used to smaller data structures and data-oriented programming, it will be a lot easier.

Also an underrated chance to be forced to learn about Arenas, most of the time.

hardwaresofton•27m ago
1)

Yeah, not everyone is mitchellh -- I'd argue that his intuition was right (expecting to find more issues), there's a reason we don't all write C.

That said, it's great to hear that others are having success with Zig and aren't writing very many bugs.

> To me, the tradeoff of a demonstrably small number of bugs in a system software language in return for the demonstrably faster developer velocity (Zig compiles WAY faster than Rust, Zig wraps C/C++ libraries way easier than Rust, Zig cross compiles way more easily, etc.) is a decent tradeoff for my use cases.

Reasonable points! This is one of the reasons I have on my list to consider Zig at all (that and wanting to write more C), it seems people that like it are wonderfully productive in it.

I really like a lot of the design decisions and watch the streams than Andrew and Loris, Tigerbeetle folks and others do to see the decisions they make. Their managed IO approach is certainly interesting and quite powerful.

Dislike some small petty syntax things (whyCamelCaseFunctions()!?), but that's a me thing.

> For me, programming is about corralling motivation more than anything else. Rust saps my motivation is ways that Zig does not.

Agree with this, anecdotally.

> I love what the Oxide folks are doing. Having someone pwn your big server because of a memory bug? Yeah, I'd reach for Rust in their use cases. Or, if I'm handling credit cards, I'll have a very different set of tradeoffs that swing against Zig. (Although, in that case, I'll probably reach for a GC language in that case so that I don't have to think about memory management at all.)

Yup, Typescript works for me here, and usually the hard parts are offloaded to an external service anyway (e.g. Stripe)

> Zig is simply a much smaller language than Rust. I use Zig because my brain isn't big enough for either C++ or Rust. > > I'm not a 10x programmer, but I still want to get stuff done. Zig and C enable me to do that without bending my brain.

I wouldn't put Rust and C++ in the same league there as far as brain size requirements, but point taken!

xigoi•14h ago
> I often wonder why some languages succeed while others falter.

$$$money$$$

hk__2•14h ago
> $$$money$$$

Rust (backed by a foundation) won over Go (backed by Google). Oh, and remember Dart (backed by Google)?

OoooooooO•14h ago
Rust can do everything Go does but Go can't do the same as Rust can.
nine_k•12h ago
How about fast compilation? :-\
dismalaf•3h ago
Developer productivity matters...
nine_k•12h ago
Say that Rust "won over" Go is like saying that Python "won over" Java. They are both alive and kicking, and live happily in rather different niches.
steve_adams_86•4h ago
I almost always choose Go over Rust when they are similarly suited to something. I only use Rust when Go's safety isn't sufficient. Go is a joy to use, Rust rarely is (in my experience).

I wouldn't say either of them have won. I'd say both are amazing tools, too. We're spoiled for choices these days.

dismalaf•3h ago
Rust was backed by Mozilla at first and now it's backed by Amazon, Google, Microsoft and others...

Go and Rust don't compete, Go has a GC, they're in fundamentally different domains. Google also uses Rust, among other languages (C++, Java, Python, Go, JS, etc...).

rjh29•50m ago
Dart is doing just fine in the Flutter space.
miggy•14h ago
A strong tooling ecosystem needs money, which usually means corporate sponsorship.
bobajeff•14h ago
I vaguely remember a talk given by the creator of ELM called "The Economics of Programming Languages". It's actually really expensive to make a good programming language that's widely used.

Forget about syntax or semantics or unique features or whatever. Having money and resources are the most important factor for a successful language.

elcritch•14h ago
The notion that we need to all program in the top 10 popular programming languages seems dead with the advent of LLMs.

I program a lot in Nim including professionally and strongly prefer it over Rust or even Zig.

Primarily because I just really enjoy programming in Nim and getting things done I wouldn’t have otherwise or be capable of doing.

For example recently I needed to automate a GUI app. I tried the Python libraries but found they kinda sucked. Despite pulling in opencv they were slow at finding buttons in a screenshot. Then the one I tried also broke on hidpi displays.

Instead I got Claude to write me up a Nim library to find images in a screenshot. Then had Claude add SIMD to it.

It’s far faster than the python libraries, supports hidpi, and is far easier to install and use. I still use a small Python app as a server to take the screenshots but it’s a nice balance.

> I guess a lot of languages are kind of fungible. If you want a fast, cross platform, GC-based OOP language, the truth is, there are many choices.

It’s true, in many cases they are fungible. Though much less so for languages which compile to native code. LLMs do lower the barrier to switching.

Nim isn’t really a GC’ed OOP language though it supports some bits of that.

It’s really a systems language that can also run anywhere from an embedded device to a web server and as a JavaScript app.

The new default memory management is based on reference counting with or without a cycle collector. So it’s great for latency sensitive settings.

nine_k•12h ago
> The notion that we need to all program in the top 10 popular programming languages seems dead with the advent of LLMs.

To my mind, to the contrary :( LLMs get trained on corpora of existing texts, including source code. They become much better at massively used languages because of the plethora of training data, and struggle with more niche languages because of the dearth of good examples. It's a positive feedback loop for mainstream languages, because more stuff gets vibe-coded, or code-assisted when the AI does a better job at it. It's a negative feedback loop for niche languages because the opportunity cost of choosing them grows :(

elcritch•9h ago
That hasn’t been my experience with Nim so far. Both Claude 4 and GPT5 both one shot Nim code almost perfectly now. They even made a Nim JavaScript app for me.

On top of that I’ve been able to “vibe” code a couple of different libraries for Nim. The bigger limits with LLMs is still “deeper” and loosing track of what it’s doing.

It helps that Nim doesn’t have much unique syntax requirements or paradigms like say Rust lifetime annotations. Some of the rarer Nim idioms like `set[Enum]` being castable to a cint aren’t used.

But generally what you’d do in most C++ code works well in Nim, but with simpler syntax.

DennisP•7h ago
Using LLMs to build the libraries you need seems like a fantastic way to work with them, since they've probably been trained on code that does similar things.
ninetyninenine•6h ago
>The notion that we need to all program in the top 10 popular programming languages seems dead with the advent of LLMs.

It was dead prior to this. A subset of programmers think it's hard to program in any other language other than the one or two they studied.

They are wrong. Most programming languages are very very similar. And learning one means you learned almost all. i learned new languages on the regular pre - llms and it required barely any effort.

Most company interviews are also language agnostic for this reason. Because languages are so trivial to learn once you "get" how to program.

brookst•2h ago
It’s like human language: your second one is hard, your fifth one is easy.
the__alchemist•2h ago
Concur on the [special case] of rust: It's in a domain that only has a handful of competitors (For its core competencies of system performing, high-performance programming, and embedded). It has learned from , and made improvements on them.
quotemstr•15h ago
You mean the language also known as NIM, n_iM, and NI_m?
Tiberium•14h ago
The first character is actually not considered for case insensitivity, although it was in the past. :) And case insensitivity itself comes to Nim from Pascal.
quotemstr•6h ago
The underscore thing gets me more than the case insensitivity, FWIW. We have tools for case insensitive greps, but underscore normalizing ones are rare.
xigoi•14h ago
By this logic, C++ is the same as C, C# is a syntax error and PHP should be named $PHP :D
gyulai•14h ago
So, there I was in 2016. It had been 13 years since I had last entertained the desire to learn a new programming language (I had landed on Python, back then). The serious contenders were Go, Nim, and Rust. I landed on Nim back then, thinking to myself: Man, this language really has a future. I did my next side project in Nim, and loved it like I've loved no other language over the course of my (as of now, in 2025) 28 years of programming. But no actual job ever materialized to make me into a professional Nim programmer that would actually pay the bills. I stuck it out with Python, with growing discontentment. I took a Perl job in 2018, which lasted until 2022, which I never should have taken in the first place. I was relatively free in my choice of language from that point forward, and decided to switch from Python to Lua after a short period of disorientation where I kind of liked Haxe. Right now, I'm learning Rust, crying tears over that future for Nim that never materialized.
Imustaskforhelp•10h ago
Honestly, we can all still correct it if we really want to. Nothing is too late in my opinion, but the question that I wish to ask is, is it worth it?

I mean, compared to zig which is starting to have a lot of hype and libraries / help, lets say that we now wish for nim to have this, then are the feature differences b/w zig and nim worth the revival of nim in that sense? (Pardon me if this doesn't make sense)

ZoomZoomZoom•6h ago
Had almost the same situation to a tee around the same time (~2014). Decided between Rust, Nim, D and Go. Went with Rust then and quickly felt it had been the right choice since it really helped me improving my skills and got me interested in programming again after a few years away from it. Rust community was way smaller and more approachable, the language felt exciting and really delivered on its promises.

Then around 2019 Nim started to gain momentum (preparing for 1.0 release) and when I looked into it a bit deeper it became evident that for most of the code I usually write for myself Nim is just a more pragmatic choice than Rust. It gets me there faster.

Zero job perspectives both times, scratched my own itch twice though.

Glad I haven't gone with Go. Nim is not a perfect overlap with Rust, but it definitely covers everything Go can do and more and is a better design in my opinion.

yawaramin•4h ago
Haha. I'm still in the 'this language has a future' phase with OCaml.
scuff3d•4h ago
You could always go work for Jane Street or... nope thats all I got lol
efilife•14h ago
Significant whitespace is a dealbreaker for me. I never tried Nim for this reason
krupan•14h ago
Hello, Python Critic from the 1990's. Welcome to the future
codr7•14h ago
Hello fellow programmer from the middle ages; we discovered long ago that significant whitespace is a dead end, the fact that it's popular with the wannabes changes nothing.
xigoi•14h ago
I have just the thing for you ;)

https://github.com/xigoi/nimdenter

archargelod•14h ago
I hated significant whitespace when I tried Python first time. Years later I found Nim and indentation didn't bother me as much.

Maybe we both just got bad first expression with most popular, but unfortunately not a good language? =)

zahlman•13h ago
I've really never understood where this aesthetic preference comes from.

Back when most of my code was in C or C++ (or Java), I was told all the time, sure you can omit these braces for a single-statement block, but you shouldn't, you'll regret it later. You can leave all the code unindented or irregularly indented, it won't matter to the compiler, but you'll appreciate lining it up in the long run. And all that advice was correct; I was better off in the long run, and I saw others come to regret it all the time. But then, over time, I started to wonder why I had to scan past all these diagonal lines of close braces as I read the code. And I cursed that these languages made it too difficult to pull out the inner parts into separate functions, disentangle setup and teardown from the main loop etc. But I also cursed that after putting in the effort (even if was just "using a proper text editor") to make things line up beautifully and in agreement with the logical structure, I still had to take up vertical space with these redundant markers of the logical structure.

Python was my first language using significant whitespace, and it was a breath of fresh air. That was a bit over 20 years ago, I think. I've learned several other programming languages since then, but I never "looked back" in any meaningful way.

lostdog•13h ago
Every time I copy paste something in python I have to check the whitespace. Often there's a problem that needs fixing, like the first line indented differently, or everything is off. Sometimes I'm not paying perfect attention and get hard to catch bugs.

I'm now certain that significant whitespace is simply wrong.

mixmastamyk•8h ago
Yes, optimize for the thing you do once in a great while over having to read/type redundant braces constantly. Wouldn’t want to have to pay attention and use the tab key! ;-)
froobius•14h ago
On the other hand, I hate languages that are polluted with ugly bracket noise, so Nim is appealing to me for this reason
sigmonsays•6h ago
Spaces don't copy n paste well and are hard to read/navigate
HiPhish•6h ago
I could never understand why people care this much about significant whitespace of all things. This seems like such a non-issue, it should be a minor annoyance at worst. Then again my favorite language is Lisp, so maybe I'm just too much beyond caring about syntax. The only annoying thing about significant whitespace is having to escape a new line sometimes.

But significant whitespace has always made sense to me. You are going to indent your code anyway, so you might as well give the indentation some meaning. I write Python, JavaScript and Lua most of the time, and I never waste any thought on whitespace VS braces VS keyword delimiters.

efilife•5h ago
It's harder to tell where code blocks end just by looking

2, I sometimes want to fuck up the indentation on purpose, if I'm just quickly pasting some code to test if it even works or to mark it as "look at it in 5 minutes from now". Also I can mix spaces and tabs

quick edits it notepad/vim/whatever become painful

also converting tabs to spaces or vice-versa is tiring. A language shouldn't force me to a particular code style

mrbluecoat•14h ago
From a promotional marketing perspective, that webpage misses quite a few basics, like linking to the Nim site [0] and explaining what it actually does:

Nim is a statically typed programming language that compiles to native dependency-free executables in C, C++ or JavaScript.

[0] https://nim-lang.org/

treeform•14h ago
I feel like Nim made me fall in love with programming again.

Nim fixes many of the issues I had with Python. First, I can now make games with Nim because it’s super fast and easily interfaces with all of the high performance OS and graphics APIs. Second, typos no longer crash in production because the compiler checks everything. If it complies it runs. Finally, refactors are easy, because the compiler practically guides you through them. The cross compiling story is great you can compile to JS on the front end. You can use pytorch and numpy from Nim. You can write CUDA kernels in Nim. It can do everything.

See: https://www.reddit.com/r/RedditEng/comments/yvbt4h/why_i_enj...

linsomniac•3h ago
>typos no longer crash in production because the compiler checks everything.

Gentle correction: Python is typed now too and you can get the benefits of typing both in your IDE (via LSP) and before deploying to production (via mypy and the like). This happens both by type inference as well as explicit type annotations.

nazgul17•3h ago
That's the dream. Reality is very different. Mypy presents numerous false negatives and false positives. Useful to screen for some bugs, but definitely far from giving guarantees.

Not to mention, if a library does not or does sloppily use type annotations, you would not get reliability even with a perfect type checker.

linsomniac•3h ago
I'm sure you're right that there are situations where mypy or ty or LSP give false positives/negatives, but in my use of them over the last ~6 months I really haven't run into many of those situations, or at least none come to mind. Libraries without type annotations do reduce the effectiveness to just what can be inferred by the type checker.
chamomeal•2h ago
True but IME languages that are historically dynamically typed have a rough time truly converting to static types.

Php even seems to have decent static types these days, but do my coworkers use them? Hell no

almostgotcaught•1h ago
> Gentle correction: Python is typed now too

No it's not and you should lose your union card for lying like this.

rjh29•51m ago
Somehow "gentle correction" sounds more aggressive (passive aggressive) than just saying correction.
boxed•11m ago
"Is typed now" is false.

"Can be typed now" is somewhat correct.

"Can be partially typed now" is actually correct.

zero0529•13h ago
What a low effort article. I have done some programming in Nim. It’s a nice language but I felt frustrated whenever I wanted to do something I knew I could do in python but that didn’t work in Nim. I just missed some of the syntactic sugar of python, that being said I would love to get back into Nim again.
polotics•12h ago
You know what, I mostly do python, but then had to get quite high performance on some lib. Converting to Nim and importing with nimpy has been a blast. The result is just one more python module, colleagues don't get frightened when they see the code, it's just seamless and nifty. I much prefer it to Cython.
summarity•7h ago
I’m also an avid Nim developer (findsight.ai is almost pure Nim).

I recently compiled some stats on Nims popularity on GitHub: https://code.tc/nim-stats-august-2025/

It’s growing steadily but I do qualitatively feel like the ecosystem has lost a bit of steam over the past year. Excited for the ongoing Nim tool chain work though.

fao_•4h ago
At this point I would feel more enthused to read a "Why not Nim?" page. Advertise where the language is bad at so I can get a better sense of it.
esafak•3h ago
* It hasn't taken off.

* It doesn't have many libraries.

dismalaf•3h ago
Nim is nice but I can't really find a use for it. Maybe it's because I started out on dynamic languages (Ruby and R) where I got used to writing in a dynamic language and then rewriting bottlenecks in C++.

Nim is in the awkward middle area where it's got a GC so it'll never replace C/C++ but it also isn't as productive as something like Ruby.

miguel_martin•1h ago
Nim 2 does not have a mandatory gc.

It is recommended to use ARC, which has similar semantics to C++, ie moves, copies, etc.

Unlike D, the GC is not mandatory for the standard library.

Clojure Async Flow Guide

https://clojure.github.io/core.async/flow-guide.html
84•simonpure•4h ago•33 comments

Google admits anti-competitive conduct involving Google Search in Australia

https://www.accc.gov.au/media-release/google-admits-anti-competitive-conduct-involving-google-search-in-australia
99•Improvement•2h ago•53 comments

A gigantic jet caught on camera: A spritacular moment for NASA astronaut

https://science.nasa.gov/science-research/heliophysics/a-gigantic-jet-caught-on-camera-a-spritacular-moment-for-nasa-astronaut-nicole-ayers/
26•acossta•3d ago•4 comments

Claudia – Desktop companion for Claude code

https://claudiacode.com/
360•zerealshadowban•11h ago•178 comments

NUMA Is the New Network: Reshaping Per-Socket Microservice Placement

https://codemia.io/blog/path/NUMA-Is-the-New-Network-How-Per-Socket-Memory-Models-Are-Reshaping-Microservice-Placement
30•signa11•3h ago•13 comments

The Enterprise Experience

https://churchofturing.github.io/the-enterprise-experience.html
297•Improvement•12h ago•79 comments

Llama-Scan: Convert PDFs to Text W Local LLMs

https://github.com/ngafar/llama-scan
93•nawazgafar•7h ago•51 comments

Modifying other people's software

https://natkr.com/2025-08-14-modifying-other-peoples-software/
36•todsacerdoti•4d ago•18 comments

Show HN: Doxx – Terminal .docx viewer inspired by Glow

https://github.com/bgreenwell/doxx
124•w108bmg•9h ago•30 comments

Mangle – a language for deductive database programming

https://github.com/google/mangle
23•simonpure•4h ago•2 comments

Show HN: OverType – A Markdown WYSIWYG editor that's just a textarea

245•panphora•13h ago•68 comments

Derivatives, Gradients, Jacobians and Hessians

https://blog.demofox.org/2025/08/16/derivatives-gradients-jacobians-and-hessians-oh-my/
219•ibobev•15h ago•51 comments

Show HN: NextDNS Adds "Bypass Age Verification"

321•nextdns•14h ago•92 comments

Fun with Finite State Transducers

https://blog.yossarian.net/2025/08/14/Fun-with-finite-state-transducers
22•woodruffw•3d ago•0 comments

Node.js is able to execute TypeScript files without additional configuration

https://nodejs.org/en/blog/release/v22.18.0
380•steren•23h ago•218 comments

ArchiveTeam has finished archiving all goo.gl short links

https://tracker.archiveteam.org/goo-gl/
325•pentagrama•11h ago•74 comments

I Prefer RST to Markdown (2024)

https://buttondown.com/hillelwayne/archive/why-i-prefer-rst-to-markdown/
60•shlomo_z•9h ago•38 comments

AI vs. Professional Authors Results

http://mark---lawrence.blogspot.com/2025/08/the-ai-vs-authors-results-part-2.html
83•biffles•7h ago•53 comments

BBC Micro, ancestor to ARM

https://retrogamecoders.com/bbc-micro-the-ancestor-to-a-device-you-are-guaranteed-to-own/
107•ingve•16h ago•90 comments

MS-DOS development resources

https://github.com/SuperIlu/DOSDevelResources/blob/main/README.md
74•mariuz•13h ago•14 comments

Show HN: ASCII Tree Editor

https://asciitree.reorx.com/
5•novoreorx•2h ago•0 comments

A Visual Exploration of Gaussian Processes (2019)

https://distill.pub/2019/visual-exploration-gaussian-processes/
44•vinhnx•2d ago•0 comments

Why Nim?

https://undefined.pyfy.ch/why-nim
130•TheWiggles•15h ago•139 comments

Here be dragons: Preventing static damage, latchup, and metastability in the 386

http://www.righto.com/2025/08/static-latchup-metastability-386.html
70•todsacerdoti•13h ago•40 comments

Show HN: Fallinorg - Offline Mac app that organizes files by meaning

https://fallinorg.com/#
70•bobnarizes•13h ago•39 comments

LL3M: Large Language 3D Modelers

https://threedle.github.io/ll3m/
393•simonpure•17h ago•170 comments

Faster Index I/O with NVMe SSDs

https://www.marginalia.nu/log/a_123_index_io/
144•ingve•16h ago•22 comments

Primitive Streaming Gods

https://tedium.co/2018/01/30/legal-music-streaming-history/
14•_vaporwave_•2d ago•1 comments

IMDB Terminal Browser

https://github.com/isene/IMDB
9•thunderbong•1h ago•4 comments

Teaching GPT-5 to Use a Computer

https://prava.co/archon/
56•Areibman•2d ago•13 comments