Hacker News new | ask | show | jobs
by ncmncm 2114 days ago
What is lacking is payback.

Having developed Haskell skills, what can one then do with them? Who in the world wants to have any Haskell code written badly enough to offer to pay to have it done?

If Rust dies, it will die just exactly the way almost every language did: its adoption rate was two or more orders of magnitude too slow, and the world moved on.

This is not inevitable: there are many other ways languages have died. Ada had a formal spec, billions of dollars in development contracts backing it, many industrial-grade compilers, thousands employed coding in it. It died because, ultimately, it wasn't enough better than C.

PL/I died. Algol died. All the various Pascals died. Ruby is in sharp decline. Death is the natural course for languages. Overcoming death requires a near-miracle.

COBOL, Fortran, C, C++, Python, Java, and Javascript managed it. It is too early to tell about Go or Rust, but it is not looking good for Rust, just based on the numbers. Rust's originators hoped to displace C, but very few move from C. Most who might have moved on from C did before there was a Rust, and the rest like it for its flaws, the way rock climbers like cliffs.

Rust will take few from C++ because Rust is less expressive, by design. The gap widens with each Standard release.

The languages Rust can practically steal users from do not suffer from the memory-safety problems Rust is promoted as solving. They have other problems it could help with. Go and Java are pathologically weak languages, and Python is pathologically slow and un-parallel.

There are things Rust adherents could do to increase its adoption rate, but they seem, by all indications, supremely and aggressively uninterested in even trying any of them. HN buzz, which Rust fans have run up to stratospheric heights, is very far from enough to sustain a language. So, Rust's prospects are dimming even as its apparent popularity peaks.

3 comments

I see Rust as being a very influential language intro bringing affine types into mainstream languages, which eventually made other language communities look up how to improve their approaches to resource management.

Examples being Swift, Ada/Spark, C++ lifetime analyzers, Chapel, ParaSail.

Then there are the Haskell, OCaml, Pony, Verona, Nim, D, Nim efforts on how to combine the best of both worlds GC (in whatever form) + affine types when needed.

But taking the world by storm and actually replacing C++ across Fortune 500's, specially given the contribution of many of them to ISO C++ and industry certifications, I see that as a multiple decades effort and even, as we can see from C++'s failure to take over C in certain domains, it is going to be a very steep uphill battle.

So in the end, we might just happen to get the usual mainstream languages with improved capabilities for managing resources, just like Haskell happened to bring LINQ to .NET world, followed by influencing Java streams and C++ ranges.

> Having developed Haskell skills, what can one then do with them? Who in the world wants to have any Haskell code written badly enough to offer to pay to have it done?

Are there any languages you can immediately answer these questions for? Are there any popular languages you can't answer these questions for?

I have some ideas, but I want to nail things down a bit more before attempting an answer if you don't mind.

About once a week I get a note from another recruiter offering, for C++ coding, north of a half $mil per annum from a certain hedge fund with a reputation for high turnover.

And of course we all get our monthly calls from Google recruitment contractors to come code Google's special subset of C++. Google doesn't offer a half $mil to everyone, but remarkably many do get it. I expect a few even get it for coding Haskell, although one may doubt that is what the req they were hired on called for.

I feel like Rust is doing pretty well for itself, in light of the VAST inertia that C and C++ have. A bunch of big names in tech are adopting Rust: (obviously) Mozilla, Microsoft, Cloudflare, Dropbox, IIRC.

That's not bad for a language that has "barely" hit 1.0 five or so years ago (next to C's 40-something years).

Rust is doing extremely well for a new language.

If it can increase its adoption rate by two orders of magnitude, it just might survive and grow. But it will need changes to get that.

The fact that all big OS vendors are doing something with it it is quite positive, however they also have their own managed languages, alternatives to Rust like safety projects and have a seat at ISO C++ table.

So I guess it boils down to how much space are they planning to give to Rust on their own SDKs, IDE and OS infrastructure.

Ultimately, it boils down to absolute numbers.

You need a large enough population of skilled programmers that you can reasonably count on finding enough that are ready to move on and good enough for your project, and enough ongoing projects to keep them all busy. The number of companies that have little projects doesn't figure, nor the size of the companies. A list of big companies using it is actually the least informative, because all it takes is one person using, out of the many thousands there, to say "the company" is using it.

It would be surprising if there were two hundred paid Rust jobs already, and astonishing if there were a thousand. It needs to get to a hundred times that to have a chance to survive, and in only a few years. Ada got there and died anyway.

Decent programmers really don't have that much issue learning new stuff. That's not to say I haven't met a good number of people who have only ever programmed e.g., Java, and poorly at that. But I wouldn't even hire them to work on a Java codebase.

I'd say that the amount of Rust work is the metric I agree with. I think Graham's "Python paradox" is true and correct. If you post a job position that includes working on Rust, you'll have people falling over themselves to apply. What you'd really need, IMO, is managers to get on board. It's a chicken and egg problem. If it isn't Java, PHP, Python, C++, then it's "risky".

We do use Rust for a few projects where I work. Entirely because I had enough social capital and reputation with my boss to push for it.

I don't do Rust full time. But what counts as a "paid Rust job"? I get paid. And I do Rust for my company. Does that count?

And I don't understand why you're asserting that it has to shoot up by orders of magnitude to survive. I feel like maybe you're being biased by something, but I'm not sure what. Look at Python. It existed in the early 90's IIRC, but it totally exploded around 2005-ish (again, IIRC). Haskell and OCaml exist. They seem to actually be picking up a bit of steam if you go by social media such as HN. Ada isn't dead.

Ada isn't not dead yet, in fact NVidia choose Ada in detriment of Rust for their automated vehicles project.

It is also one of the few languages that has managed to keep a room at FOSDEM since I can remember.

It might be dead for FOSS hype projects, but in real life production code that actually affect people's lives, still has more deployments per year than most Rust projects.