I would do the same for my children ~ However children have a special ability to revolt against any arbitrary constraints provided by parents, community, society. It differs person to person of course.
Correct, even though Ruby the language exists and predates Rails. What -- 80%+ of all Ruby code is Rails? Effectively the largest consumer and producer of the language which I think is a net benefit to your point.
Correct in that Ruby never had a schism and is still massively productive and wideley deployed (e.g. Shopify + Stripe alone represent billions/trillions of dollars through Ruby hotpaths).
Python's general lack of success in this domain is telling and embodies whats I was trying to communicate in the article -- languages with low entropy in syntax, features, ecosystem, and toolchain compound slowly.
Author here, wasn't expecting this piece of writing to show up on HN.
The specifics of Python were chosen only due to the language ecosystem being fragmented and inconsistent while Python remains an essential learning, research, and now ML programming language (it was my first language and I still love it).
My thoughts on LLM generated code have changed immensely in the last 9 months as I've taken on teams and projects through my consulting work [1] as a fractional CTO. Python remains a difficult, flakey, and inconsistent programming language for complex production systems. Most other programming languages suffer from fragmented toolchains and ecosystems: JavaScript (famously), PHP, and even C/C++ to a degree.
Languages with a single way to do things benefit the most: Ruby, Rust, Swift (even). Low entropy is the way to go and convention > configuration seems to pay off with LLMs.
Mean cost of management is more important than specific edge examples "X company run on Y language". I think that 'boring' languages with rock-solid compilers, toolchains, testing frameworks, and package managers make for high return on engineering time and production maintenance.
It's a riveting account of years of research to discover Quasicrytals from theory, to experiments, to literally hunting in a meteor field in eastern Russia!
I run a s business (small if you compare it to tech companies).
I can tell you the drag is between your own tools and the real world (which is very messy and inconsistent): taxes, compliance, payroll, amendments, share structures, etc.
Within my island, my books are in order, invoices and time keeping is fully automated, calendars and sales pipelines are connected.
I'm sure there are many businesses whose inner islands are not as orderly. The zillion tools out there all try to bring equanimity to the chaos and yet here we still are with fresh books, quickbooks, and xero...
I'm glad we went to space, truly. Racing the USSR might have been the wrong reason but it got us there. We've benefited immensely as a species from exploring the solar system and looking deep into the universe.
I'm not certain that racing China in AI is the right reason but it might get us... somewhere.
Dimensionality gets bizarre in 1000-D space. Similarity and orthogonality express themselves in strange ways and each dimension codes different semantic meaning.
Therefore, if the training data is highly consistent you are by definition reducing some complexity and/or encoding better similarity.
Previously in my life as an IC, I wrote a lot of Golang. I worked on the larger end to end encrypted video calling service.
I hated it. I was dreaming of Rust the entire time to release me from the hell of if err != nil dozens of time per day.
After hours with LLMs I've changed my tune. There have been 5 clients of mine (who have excellent engineering teams) but cannot get coherent results out of LLMs using python or Typescript.
I arrived back at Golang being a frustratingly simple, consistent, and low-thrash programming language which inadvertently made itself well represented in the training corpus [1].
My concession is that if you are going to write a median program (reading/writing files, network, db, etc.)...
Pick Golang especially if you've never used it. LLMs are extremely good at it, frustratingly so.
The big idea with LLMs is consistent references in the training corpus produced cheddar output by the language model during inference.
Go is an amazing language for language models because it's actually quite boring predictable while packing a lot of powerful distractions with a world class tool chain supported by Google and strong std library as well.
As a programmer I actually hated writing Go... and wanted to write Rust; but using coding agents makes me appreciate writing Go more.
I can get consistent results out while having concurrency cross compilation and predictability.
Don't mistake age for durability. A new cast iron pan is durable. The point isn't in providence but in practice. Durable tools (new or old) show themselves immediately.
[email protected].
Prev. Security @ Zoom, Keybase before that, Braintree, MIT Media Lab.
If you're in NYC I'll buy you a bagel and let's have an interesting conversation (jry.io/bagel)