I’m relatively young on the programming scene (I wasn't around when FORTRAN came out or anything) so this is a hubristic thing to say, but it feels like we’ve reached Peak Programming Languages. For anything you want to build and any way you want to build it, there's a mature and popular language already available. Typically the community around it is robust and the syntax is delightful. I mean, just try writing a few lines of C# or Dart and tell me it doesn't feel nice.
I made this flowchart recommending a language based on what you're building and the features you value most in a programming language. I left out a lot of languages (including 8 of the top 20) and for every leaf node on the chart, there's another option or three I could have chosen instead. But it's my chart, so you get my opinions.
It’s an unprecedented environment for new general-purpose languages to be competing in. People are definitely still creating them, but in 2023 more than ever, you might wonder why. Do any of them have a hope of gaining market share? Is it worth taking a chance on a new language, even one with some cool ideas or novel syntax, when you could use an established alternative with an enormous developer community and open-source ecosystem? What niche remains so painfully unfilled that we would all jump ship for a newcomer?
Of course, there are plenty of reasons to create a programming language other than trying to take the world by storm. It's fun, for one. It breeds new ideas that often get adopted into existing programming languages, for another. And if nothing else, it's one of the best ways to build your understanding of programming. We shouldn't stop making languages. If anything, we should be making more of them. But some of these new programming languages seem to be making a genuine effort to grow and establish a user base, and while I don't begrudge them that, I again ask why? I could happily use C#, Dart, Rust, and TypeScript for everything I build for the rest of my life. I can create anything I want, any way I want. I am happy.
I probably sound like this:
640K [of RAM] ought to be enough for anybody.
~Bill Gates, 1981 (allegedly)
All right, then correct me. What's still missing? What innovations have I overlooked? What brand-new language is going to be a huge deal in five years?
Maybe we haven't hit the Peak. That's up for debate. But we sure are spoiled for choice. It's an incredible time to be writing code.
Top comments (2)
I'm still waiting for many missing features in web technology. While you could argue that's just syntactical sugar, it still feels wrong to add 100 lines of boilerplate code or use third-party libraries to emulate state queries like
:stuck
for a sticky header state in CSS. And I originally wanted to mention JavaScript, but then I saw that you mentioned TS. I still wait for JS/ECMAScript to add native types to the core language. Looking at how PHP has evolved in the past 10 years, JS has still a long way to go.But you are probably focusing more on the language features, not on APIs and system functionality. I am sure that there has always been that 640K-moment, feeling there is nothing more to come. But look at the ongoing discussions: learning curves, common antipatterns, "secret" language features, code that becomes to hard to test, understand and maintain. Maybe there will be future languages offering more security, readability and performance by design. Maybe someone will find a way to combine the ease of more natural human language input with the precision needed for programming somehow. Maybe someone will find a way to define, detect, manage and mitigate misconceptions and bias by introducing a programming language enforcing more ethical and impact-driven development by design.
I'm just letting my imagination carry me away, but you were asking...
I believe we will never reach a peak of programming language development.
Bro just try Nim Programming Language, you would LOVE it!