<Ends in what is likely a fun question for these p...
# linking-together
e
Ends in what is likely a fun question for these parts:
In the 1970s, you could launch a new language with a paper and a maybe a compiler and/or interpreter. In 2025, you need an integrated product, a narrative, and enough momentum to bootstrap an ecosystem and on top of that a huge corpus of code that can only be created through sustained use. Modern langdev is daunting to say the least.
Where do languages go from here?
• Languages could be shaped by physical and purpose-specific constraints once again. Tomorrow’s interesting languages may target IoT, SBCs, edge devices, Blockchain, GPUs, and let’s not forget that the world still runs on microcontrollers.
• Python is the lingua franca of AI, which means it’s the lingua franca of LLM-generated code. Eventually Python will force LLMs to eat their own tail, but more immediate an over-reliance on AI-generated code will expose inherent weaknesses in the technology. We’re seeing real problems with an increased lack of rigor and there are novel problems that LLMs simply cannot solve. These short-comings are opportunities.
• Future innovations may look more like a new operating environment with integrated semantics across distributed systems, or programmable infrastructure that blurs the line between language and runtime.
to kick off, I’d point out that this kinda assumes you want wide adoption, but then I think about places that I know of that spin up targeted DSLs that do just one kinda thing for one kinda reason
g
"Programming languages" and "operating systems" are old-fashioned ideas invented for 1960s hardware limitations. In 2025, we want LEGO® blocks of software written in a multitude of languages. BTW "functions" aren't LEGO® blocks because of their inherent "blocking" (ad hoc control flow <==> caller must suspend and wait for callee). UNIX pipelines gave us a taste of a better way to snap software units together but the
*sh
syntax was restricted by the inside-the-box-mentality use of text and the one-input-one-output mentality. Today, we can do a lot better, e.g. no inherent blocking, and, fanning out of data to multiple, parallel receivers, etc.
d
In some ways, things are a lot more flexible, because there are high-performance VMs that you can target (JVM for statically-typed OO languages), BEAM for CSP languages (doing dataflow targeting BEAM would be interesting @guitarvydas), and I’m working on a high-performance dynamic-typed language RTS. So you can create a language (DSP, scripting, or otherwise) and target an appropriate VM.
k
I don't know man, the future is coding is not about programming languages. Languages aren't in my top 10 things we would need to improve. They take up too much space in everybody's heads.
😍 1
💯 2
r
I actually think we're going to have to revisit modeling and model-checking for verified systems. Its the only way to make LLMs practically useful without constant oversight. Will there even be a textual language for such a system? Will it be more like a projectional tool vs source of truth? I think the optimizations for training data like going for python/javascript/typescript/react is a very short-sighted and short term one.
(although certainly a pragmatic choice right now if you have to)
k
I tend to see PLs more and more as dependencies, in particular PLs that have only one relevant implementation. Most non-trivial software depends on several PLs. Searching for the One True PL that will replace all the others is a dream that was defendable when IBM designed PL/1 in the 1960s, but no more. I'd prefer people to work on improving foundational software layers, rather than PLs.
👍 1
g
I think it perhaps 70% likely that in 10 years, WASM will be the dominant way to deploy at least non-desktop software, and it will be routine to deploy in one VM code written in multiple languages that interoperates pretty seamlessly. If this is true, I think it means that languages with unusual and useful features will see a renaissance — Prolog, for example. Python will likely be the dominant glue language, with other currently popular pretty good languages like Ruby also in the mix. And with any luck, Javascript will be dying the death it so richly deserves.
j
My hope is that LLM progress makes it easier than ever to tinker with a new language, and we see a Cambrian explosion due to reduced exploration costs.
A friend of mine had a language idea he wanted to try out, so he had Claude Code write him both a C++ and a self-hosted compiler, a bytecode interpreter, and a handful of libraries, just to see how it felt. It wasn’t cheap—a few hundred dollars in API calls—but it was also super fast and easy.
Languages (textual ones, anyway) are in some ways ideal fodder for LLMs, because they’re so self-contained and closed-loop testable.
k
The Lisp curse: coming now to a language near you!
🍰 3
k
@Josh Bleecher Snyder Your scenario sounds like a nightmare to me. Ever more languages, ever less interoperability... I don't mind if language nerds follow the path you outline, but if maintain the attitude of past language nerds of pushing naïve and unsuspecting newbies into adopting their shiny new language, then the overall impact on the world will be negative.
j
I guess I haven’t personally seen a lot of languages being “pushed” onto “unsuspecting newbies”. And as @Kartik Agaram reminds us, there are strong forces pushing towards homogeneity. But I am excited about the democratization of programming language tinkering and exploration.
Having a lingua franca or three is great. Having a monoculture is not. But you don’t have to choose.
k
To clarify my previous comment: I don't think a cambrian explosion of languages is going to be a great thing, and I don't think it's going to be a nightmare. We've seen this dynamic play out before, and if it happens it will end up kind of average.
s
Image from iOS.jpg
k
I haven’t personally seen a lot of languages being “pushed” onto “unsuspecting newbies”.
Look at the Web site of just about every programming language that has one. They all advertise their great features, say nothing about limitations, and more importantly, mostly don't mention the type of software for which they were designed, leaving the usually false impression of "general purpose".
k
I'm with Josh here. Random languages are not getting distribution to newbies. Facebook and Google and whatnot have the newbies sewed up tight. And even the people who see the website run into limitations quickly enough. Most visitors to languages bounce, unconvinced. There are plenty of problems in the world. It's not clear that more languages increases or decreases them.