Hacker News new | ask | show | jobs
by p-e-w 1089 days ago
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 (even though TypeScript is actually an excellent language).

Without the power of money, you are nothing.

3 comments

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://kristoff.it/blog/the-open-source-game/

If you want a proxy variable to observe wrt Zig's growth, look at the star history on GitHub: we are today more popular than Rust was at our age.

https://star-history.com/#ziglang/zig&rust-lang/rust&Timelin...

...and in fact some big tech companies are jumping on the bandwagon, like Uber, but that's an after-the-fact thing.

https://www.uber.com/en-US/blog/bootstrapping-ubers-infrastr...

> If Go weren't associated with Google, people would have laughed that language out of the room long ago.

Nah, Go gets right certain critical things, and that's why is popular. Being from Google doesn't guarantee anything, look at Dart for example.

https://kristoff.it/blog/why-go-and-not-rust/

> If you want a proxy variable to observe wrt Zig's growth, look at the star history on GitHub: we are today more popular than Rust was at our age.

Which does not say anything given Githubs growth and change in usage patterns from 2010 to today.

Rather, I would say Zig is lagging far behind Rust and it should have had multiples higher stars than Rust at the same time to be on "equal footing" given the multiples larger software community that exist today.

To be fair, Nim isn't dead either. It's steadily coming along, with new developers, features, and libraries all the time. Sure it hasn't had the meteoric growth of Rust, but it's still climbing.
"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.

That also ties into governance. The VP of Community position exists because the creator of the Zig programming language decided to create a non-profit corporation for the language as soon as he went full time with it, and then made the VP of Community position be the first hire.
he probably exaggerated saying that without money you are nothing, but it's (imo) pretty undeniable that money can be a great springboard for a project of that magnitude
Dart is a no go especially because Google is not really backing 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 well known that it is. In fact, would not bet against just Ken Thompson (by himself), creating a new language and whether or not it would catch on.
I don't think that Jai is a very good example. I doubt a single one of my coworkers will have heard of it but they've all heard of Go.
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.

Jai is still in closed beta, it's not being promoted at all yet.
jai is not well known and it being a language and closed source makes it a total non-starter
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.

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?
In general, the language lacks both complex features and low level primitives that would be useful for building anything more substantial than network glue code. Go codebases are often noted for the egregious use of copy and paste. Not that I can say that there's never a time and place for that, but it's not the kind of thing you'd be excited to work with. Give me the language Ken Thompson would solve problems in, not the language he gives his goons to solve problems in.
I think the issue is that it's hard to trust the language to go over its current limitations without commercial backing.

This is especially true for a language like Go which had limited functionality and a complete lack of tooling (eg. no package manager, no generics) for a long time.

I didn't pick up Rust until a few killer projects were released. Before that async was a complete mess. For a long time we didn't have the ? operator.

> In fact, would not bet against just Ken Thompson (by himself), creating a new language and whether or not it would catch on.

You mean like Limbo?

The counterexamples are definitely older like Python, Ruby, PHP. JS is a special case.