Meanwhile, there are things sitting on the shelf that solve these problems in a principled way and make things simpler:
- ML languages
- Nix
- Bazel
- Erlang
- Rust
Some tools that are great and have large adoption:
- Git
- Terraform
Meanwhile, there are things sitting on the shelf that solve these problems in a principled way and make things simpler:
- ML languages
- Nix
- Bazel
- Erlang
- Rust
Some tools that are great and have large adoption:
- Git
- Terraform
ML was first developed in 1973. Ocaml in 1996 and SML in 1997. Great tools which haven't been popular in 20-40 years probably have something beyond fear of early adoption inhibiting them.
Do a quick search on YouTube on "what programming language to learn". You'll find video after video using popularity as a primary or even the primary factor to base the decision on.
Non-technical management tends to do the same, based out of the belief that languages are all pretty much equivalent and a desire to hire easily swappable "resources".
Jet was purchased by Walmart in 2016. Mark Lore from Jet was appointed as CEO of Walmart to turn the company around, particular its technology operations (to compete effectively with Amazon). Jet’s tech was mostly developed in F#. Yet, Lore did not push for its adoption widely within Walmart.
IMO explaining away the failure of ML languages to gain market share over multiple decades as “herd behavior and network effects” is lazy.
I think it has been pretty successful. The bigger success story in finance is F# though, which takes a bunch of ideas from OCaml.
Some companies are "lucky" and have either natural sharding keys for their primary business line, are an easily cacheable product, or can just scale reads on replicas. Others aren't, and that's where things get complicated.
DynamoDB, on the other hand, trivially scales to thousands (and more!) of TPS and doesn't come with footguns. If it works, then it'll continue to work forever.
Banking app is a classic example.
> pgbench -c 100 -s 100 -T 20 -n -U postgres > number of transactions actually processed: 321524 > latency average = 6.253 ms > tps = 15991.775957
Even when thats not the case, it usually ends up being a minority of the tables and collections that need additional speed.
If you don't believe me, look through the HN hiring thread sometime and notice how few product names you recognise.
Most products will never need to scale like GMail or Facebook.
Same goes for the other items in your list. Git had enough time and force behind it, and I believe the other tools will succeed as well. But it will take time.
What are those?
see also its 'newer incarnations' Scala, F#, Nemerle...(don't slay me)Rust(ish)
[1] https://en.m.wikipedia.org/wiki/ML_(programming_language)