Live data from Hacker News

Ask HN: Why did Nim not catch on like Rust did?

news.ycombinator.com

81–90 of 139 posts

Re: Ask HN: Why did Nim not catch on like Rust did?

#81
post #9
post #3

Rust had Mozilla's backing, and later other behemoths like Amazon and Microsoft jumped onto the bandwagon. Corporate support is absolutely essential for a new language to be taken seriously in the industry. If Go weren't associated with Google, people would have laughed that language out of the room long ago. Likewise, it's difficult to imagine TypeScript ever catching on if it didn't have Microsoft's might behind it…

While I agree that corporate support plays a huge role with market share and acceptance, I disagree that Go would have been laughed out of the room. Very likely that a language made by Griesemer, Pike, and Thompson would have got lots of attention. Arguably enough to catch on anyway. These men are already famous, in programming circles. Case in point, look at Jai, with just the star power of Jonathan Blow and how wel…

For another voice in the room, I know who Jonathan Blow is, relatively familiar with his work, I think he's making a game engine? And know he does coding streams, and don't think I've heard of Jai.

And I know plenty of software folks who wouldn't know who he is at all.

Re: Ask HN: Why did Nim not catch on like Rust did?

#83
post #51
post #43

Earlier quoted context omitted.

The question is not whether Nim is better than Rust, the questions are: Does a C++ developer have reasons to switch to Rust and Does a C++ developer have reasons to switch to Nim

Why switch? Is it that weird to know and use more than a language? In case of adoption, both answers are yes, because Rust and Nim don't occupy the same niche. The reason why Nim has not caught like wildfire is that its niche is often shared with Python or Go, which have a much larger mind share. Which is why asking this question from the memory safety point of view misses the mark.

It is not. I use 3 languages on a weekly basis for work, and 2 more for hobby stuff.

It's about use cases- frontend, jvm, systems/low-level, realtime/sockets, ML. There could be more overlap, but for reasons they don't.

Re: Ask HN: Why did Nim not catch on like Rust did?

#84
post #41

Earlier quoted context omitted.

Except THAT library only supports Python 2.7.x

sorry what do you mean?

They're poking fun at how sometimes you'll find a Python library that does exactly what you want with an interface that feels incredibly intuitive, but you end up finding out it was never updated to work in Python 3.x, only 2.x.

Though I'm not really sure how often that happens these days unless you're trying to write code that's using an old protocol that's fallen out of favor, like IRC, FTP, or Gopher.

Re: Ask HN: Why did Nim not catch on like Rust did?

#85
post #76
post #32

When Rust was able to get rid of a class of memory bugs, undefined behavior, concurrency bugs without a garbage collector, it achieved a breakthrough. You can now write JS or Java VM in a language that doesn't have buffer overflows, dangling pointers and all kinds of other nasty security vulnerabilities. Nim doesn't GUARANTEE memory safety, so it's basically... better Pascal? It's an iterative improvement that nobody…

Rust doesn't guarantee memory safety. I think anything that can generate a trivial hello world program that doesn't leak memory is better than V.

Besides the attempted slap on V coming from "out of left field", in regards to what the above commenter was talking about, V doesn't leak memory like that. V, since becoming beta (last year), uses an optional GC and does flexible memory management[1]. Giving users choices, somewhat like D and Nim do.

It provides 4 choices: default optional GC (that can be turned off), autofree (either alone or with GC), arena allocation (-prealloc), or manual memory management (-gc none). This flexibility has already been proven, like with their Vinix OS project[2].

Lastly, for developing languages going through alpha and beta phases, think that people should acknowledge how the process works and update their information. Rust or Nim, for example, aren't the same language they were 5 years ago or when still in beta.

[1]: https://github.com/vlang/v/blob/master/doc/docs.md#memory-ma... (4 ways to manage memory in V)

[2]: https://github.com/vlang/vinix

Re: Ask HN: Why did Nim not catch on like Rust did?

#86
post #75
post #9

Earlier quoted context omitted.

While I agree that corporate support plays a huge role with market share and acceptance, I disagree that Go would have been laughed out of the room. Very likely that a language made by Griesemer, Pike, and Thompson would have got lots of attention. Arguably enough to catch on anyway. These men are already famous, in programming circles. Case in point, look at Jai, with just the star power of Jonathan Blow and how wel…

I don't think it would be so well regarded when considering the motivation that Rob Pike and Ken Thompson had for making the language the way they did.

What was their motivation?

Re: Ask HN: Why did Nim not catch on like Rust did?

#87
post #3

Rust had Mozilla's backing, and later other behemoths like Amazon and Microsoft jumped onto the bandwagon. Corporate support is absolutely essential for a new language to be taken seriously in the industry. If Go weren't associated with Google, people would have laughed that language out of the room long ago. Likewise, it's difficult to imagine TypeScript ever catching on if it didn't have Microsoft's might behind it…

Considering that the Zig Software Foundation not only doesn't have any big corporate backing, but also made an explicit point of always being fully independent, and the fact that we're overall doing fine, I beg to disagree. https://ziglang.org/zsf/ Big tech wants you to think that you're nothing without them, while in truth there are plenty of situations where small realities can absolutely out-compete them: https://…

"Considering that the Zig Software Foundation not only doesn't have any big corporate backing, but also made an explicit point of always being fully independent"

Zig has a VP of Community and it's important how the role promotes and evangelize the language for developers. Another example: Crystal appointment a new Community Manager recently, and now have developer "ambassadors" - to promotion the Crystal language. It's a shame that Nim has no equivalent role or initiave to grow the language community.

Re: Ask HN: Why did Nim not catch on like Rust did?

#88
post #75

Earlier quoted context omitted.

I don't think it would be so well regarded when considering the motivation that Rob Pike and Ken Thompson had for making the language the way they did.

What was their motivation?

“The key point here is our programmers are Googlers, they’re not researchers. They’re typically, fairly young, fresh out of school, probably learned Java, maybe learned C or C++, probably learned Python. They’re not capable of understanding a brilliant language but we want to use them to build good software. So, the language that we give them has to be easy for them to understand and easy to adopt.”

Creating a tool that the constant stream of fresh out of college guys can't screw up with.

Re: Ask HN: Why did Nim not catch on like Rust did?

#89
post #61

Nim is too timid. Most languages are too timid. My context: I'm a maintainer of iNim, creator of the Rust channel, No Boilerplate, and a professional python web developer for 15 years. The features you are excited about in Nim are compromised for the sake of simplicity: - Macros can't change syntax, - There's a limit to how real-time the standard language is, - Compiling to javascript is a nice trick, but if it didn'…

The problem with WebAssembly isn't that Nim couldn't compile to it (which it can), but that WebAssembly can't do anything without JavaScript.

Re: Ask HN: Why did Nim not catch on like Rust did?

#90
post #88

Earlier quoted context omitted.

What was their motivation?

“The key point here is our programmers are Googlers, they’re not researchers. They’re typically, fairly young, fresh out of school, probably learned Java, maybe learned C or C++, probably learned Python. They’re not capable of understanding a brilliant language but we want to use them to build good software. So, the language that we give them has to be easy for them to understand and easy to adopt.” Creating a tool t…

I see. And this is why there is no Maybe type, and an “unset” value is silently set to 0? Because fresh grads would find this easy to work with?
Post reply on HN