We’re in the golden age of programming language evolution. Things are moving faster than ever. The pace of technology change has exceeded the pace of most enterprise project lifecycles. Long-term stability and availability are hard to come by, which is why Java and Python 2.7 are still overwhelmingly popular with enterprises. Rust, meanwhile, has adopted an ethos of “stability without stagnation” that is serving it well. Python has fluid syntax that can be extended via meta-programming to concisely adapt to different domains. Python also has a robust C interface making it great for expressively orchestrating low-level libraries. And R is ideal for machine learning operations such as regression and classification.
Scala is pushing the theoretical limits of what type systems can automatically prove about the behavior of code at compile time. Elixir runs on the actor-based Erlang VM and is being used for many real-time collaboration apps, like Notion.so. And C is still at the heart of it all. The C ABI is still how all these languages interoperate with each other, and with the operating system. C will never die. It’s also easier than ever to develop new programming languages. Compiler toolchains like LLVM take all the work of native code generation and optimization out of the equation.
Does this all sound fascinating to you? Then check out Episode 5 of SoftWare In Motion, as Hosts @eric_kavanagh and Chris Sachs dive into the details of modern enterprise computing!