> often with duplicated functionality (multiple Base64, rand, sha256, etc crates)
I don’t think this is true unless they differ in major versions no? Cargo will apply semantic versioning and pick the best available given the cargo.toml version constraints.
I don't think they mean multiple versions of the same crate (although can certainly happen too), but rather multiple different crates that cover the same functionality.
> Given that Rust is quite an old language now and its adoption is still so low,
So being part of 3 major OS (Windows, Android and now Linux), the big 3 cloud providers having SDKs for the language, used by so much tooling (js + python) and being part of major internet infrastructure means its “slow” adoption then wow…
Very much so once you compare it to how quickly C++ (and, in fact, any language that's ever been in the top 5 or so) achieved similar milestones. Rust's adoption is very impressive when you compare it to, say, Haskell or Clojure, but not when you compare it to languages that achieved significant and long-lasting popularity. It's roughly similar to Ada's adoption when it was of a similar age (Ada was more prevalent then than Rust is now in some areas and less so in others). When work on Rust started twenty years ago, Java was younger than Rust is now. It was almost as close in time to the early work on C++ as we are now to the early work on Rust. Larger portions of operating systems were being written in C++ when it was younger than Rust is now.
There's no denying Rust's popularity in open-source CLI dev tools for Python and JS/TS, but when you talk to C/C++ shops who've evaluated Rust and see how many of them end up using it (and to what extent) you see it's not like it's been with languages that ended up achieving real popularity (which includes not only super-popular languages like C, C++, and Java, but also mid-popular languages like Go).
To this day C++ has hardly won the hearts of C devs on the embedded space, on both sides of the camp there are individuals that start religious discussions about the C/C++ abreviation, there is something like Orthodox C++ that basically means using C++ compiler to write what is mostly Better C, and most frameworks that were so hyped in the 1990's are now gone, or subsyst in maintenance contracts on applications that when the time gets to be rewritten it won't surely be C++.
So even though C++ is the language I reach for outside Java, C#, TypeScript, I would assert that downplaying Rust adoption by Amazon, Adobe, Microsoft, Google, is losing track where things are going.
Downplaying compared to what? This kind of adoption is certainly something Haskell never gained. But all those companies (or analogous ones) adopted C++ much faster. In fact, they've adopted faster virtually every language they're using seriously. So it's a great achievement compared to every language they've never adopted at all, but not such a great achievement compared to every other language they have adopted.
> that when the time gets to be rewritten it won't surely be C++.
It looks like it won't be Rust, either. I mean, some may be written in Rust, but not the majority. My point is just that as much as some erstwhile Haskell fans have taken to Rust, comparing Rust's adoption to Haskell's - a language whose joke motto was "avoid success at all costs" - is not the right metric. Given that Rust's goal was to replace C++, its success should be compared to C++ and other languages that ended up achieving similar success. I'm saying that compared to them Rust's success has been mediocre, if that, and it's not a young language anymore by any stretch of the imagination.
I don't have a use for Rust on my daily work, and would rather see Java finally adopt the features it missed down from Oberon and Modula-3 for systems programming, however we will have to disagree on the "mediocre" adoption.
So many language designers would dream to have such adoption numbers by tech giants for their hobby language.
Of course Rust is very popular compared to any hobby language (and many non-hobby languages), but that is not the goal it set for itself to be judged by.
Correct, the goal is to be foster the adoption of safe systems programming, which given the uptake across all major cloud hyperscalers powering the Internet, and all major OS vendors selling hardware (with exception of one because they have their own alternative), is what I would consider a large success of anyone dreaming to get their language adopted at scale.
All major cloud vendors deploying my Java, .NET and nodejs containers do so, in infrastructure that has various layers of Rust code in it.
> Very much so once you compare it to how quickly C++
C++ came out in 1985 and competed with C, COBOL, Pascal and FORTRAN. It was an overall improvement than those and therefore there is a legit reason for it to take off.
> how many of them end up using it (and to what extent) you see it's not like it's been with languages that ended up achieving real popularity
I assume many places that have a huge codebase in C++ would just do a port to Rust. That would almost always cause problems but for greenfield projects it's a no brainer IMO.
> It was an overall improvement than those and therefore there is a legit reason for it to take off.
Of course. The rate of adoption is related to the increase in value compared to the status quo, much like how genes spread. But Rust's adoption is slow precisely because its "fitness benefit" is low.
> That would almost always cause problems but for greenfield projects it's a no brainer IMO.
It would have been a no brainer if, when writing a new codebase expected to last 20 years or more (which is often the case with software written in low-level languages), you'd believe the chosen language to be very popular over the next few deacdes. But given its slow adoption compared to languages that ended up achieving that status, despite it's rather old age, it's not looking like a safe bet, which is why Rust's adoption for important greenfield projects is also low (again, relative to other languages).
> Very much so once you compare it to how quickly C++ (and, in fact, any language that's ever been in the top 5 or so) achieved similar milestones.
No, this completely overestimates how quickly languages gain prominence.
C came out in 1972 and didn't gain its current dominance until approximately the release of the ANSI C spec in 1989/1990, after 17 years.
C++ came out in 1985 and didn't become the dominant language for gamedev until the late 90s (after it had its business-language-logic niche completely eaten by Java), after 14 years or so.
Python came out in 1991 and labored as an obscure Perl alternative until the mid-late 2000s, after about 16 years (we can carbon-date the moment of its popularity by looking at when https://xkcd.com/353/ was released).
Javascript came out in 1995 and was treated as a joke and/or afterthought in the broader programming discourse until Node.js came out in 2009, after 14 years.
Rust is currently 11 years old, and it's doing quite excellently for its age.
> C came out in 1972 and didn't gain its current dominance until approximately the release of the ANSI C spec in 1989/1990
While it kept growing in popularity later, by 1983-5 C was already one of the top programming langugages in the world.
> C++ came out in 1985 and didn't become the dominant language for gamedev until the late 90s
Major parts of Windows and Office were being written in C++ in the early-mid 90s, before C++ turned 10. Visual C++, one of Microsoft's flagship development products, came out in 1993. Huge mission-critical, long-term, industrial and defence projects were being written in C++ during or before 1995 (I was working on such a project).
> Python came out in 1991 and labored as an obscure Perl alternative until the mid-late 2000s
Even in 2002 Python was widespread as a scripting language. But it is, indeed, the best and possibly only example of a late bloomer language.
> Javascript came out in 1995 and was treated as a joke and/or afterthought in the broader programming discourse until Node.js came out in 2009
AJAX (popularised by Gmail) pretty much revolutionised the web in 2004. When jQuery came out in 2006, JS was all over the place.
> Major parts of Windows and Office were being written in C++ in the early-mid 90s, before C++ turned 10.
Major parts of Windows, Android, and Linux were being written in Rust before it turned 10. Major parts of AWS were being written in Rust before it turned 4. Major parts of Dropbox were being written in Rust before it turned 1. So you agree by your own criteria that Rust is a major language?
> While it kept growing in popularity later, by 1983-5 C was already one of the top programming langugages in the world.
In the mid-80s, C still had plenty of major and healthy competitors, as pjmlp will imminently arrive to remind you. By the criteria of mid-80s C, Rust is already one of the top programming languages in the world.
> AJAX (popularised by Gmail) pretty much revolutionised the web in 2004. When jQuery came out in 2006, JS was all over the place.
No, despite the existence and availability of freestanding interpreters (e.g. Rhino), Javascript was an also-ran everywhere except the web; which is to say, nobody was choosing to use Javascript except the people forced at gunpoint to use it. There are infinitely more people choosing to use Rust at the age of 11 than were choosing to use Javascript at the age of 11, which means that, once again, by your criteria, you must consider Rust a major language. You can just admit it instead of being a tsundere.
> So you agree by your own criteria that Rust is a major language?
No, because I was merely responding to your specific points and the extent is nowhere near the same. C++ had a huge market share before it turned 10. In the late nineties I was working on a critical air traffic control system, first used in 1995, written half in Ada half in C++. Around 1995-6 C++ was already ubiquitous in serious software.
> In the mid-80s, C still had plenty of major and healthy competitors, as pjmlp will imminently arrive to remind you.
He doesn't need to remind me because I was there. Yes, there were major competitors, yet C was already very near the top.
> Javascript was an also-ran everywhere except the web
That's pretty much where it is today, yet it's still #1 (if we count TS as part of JS).
> There are infinitely more people choosing to use Rust at the age of 11 than were choosing to use Javascript at the age of 11
The number of people using Rust professionally is a fraction of that of any of the languages we mentioned, plus many more (C#, PHP, Ruby, Go, Kotlin) at the same age. It's more similar to Ada's adoption at that age in size (of course, there wasn't much small OSS projects then at all, let alone written in Ada, but there were many more big, mission- and even safety-critical systems being written in Ada at that age than in Rust). Is it a serious language? Absolutely! But so far its trajectory doesn't resemble that of any language that's achieved wide popularity.
You can go into Usenet archives, and ads on digital copies from Byte, Computer Shopper, Dr. Dobbs, PC Techniques, The C Users Journal, The C/C++ Users Journal, Your Sinclair, Amiga Format, MicroHobby, Micromania, SoloProgamadores, Spooler,...
And see which compiler toolchains had more ads, articles submissions, or source code listings.
No, this is silly. You can look at the availability and maturity of toolchains, the rate of release of projects written in that language, the rate of release of books and learning materials, the rate at which universities begin teaching the language, the volume of discourse devoted to that language in magazines and the online venues which did exist (e.g. Usenet), and crucially the declining metrics of all of the above for the direct competitors of that language.
Winamp was like 5MB. Starcraft 1 was something like 900MB. None of the two dozen apps are doing anything that should take so much space. It's probably all bloat from various dependencies. People's expectations of software quality have gotten very low.
Seriously. The collection of tools there shouldn't even be 1/3 of the space being used. Software is so bloated now a days it's crazy to say "ahh 1 GB no problem", "ahh 2GB of memory usage no problem". I hope the RAM + SSD shortage change people's perspective about this.
Great! I turn from a creator to a babysitter of creators. I'm not seeing the win here.
FWIW, I use LLMs extensively, but not to write the code, to rubber-duck. I have yet to have any LLM paired with any coding agent give me something that I would have written myself.
All the code is at best average. None of the smart stuff comes from them.
If increased productivity means your output is the same but now you produce it quicker, sure! But lets be honest, this is rarely the case and the “free” time is now filled with more work.
Not if your manager doesn't know what you are really capable of and your coworkers keep at about the same pace as you. Manager may get some portion of that productivity, but who says it has to be everything?
reply