3 ms·
> Much of this reduction has been accomplished by making programming languages more expressive. Languages such as Python, Ruby, or JavaScript can take as little
by weberc2 9y ago
> Much of this reduction has been accomplished by making programming languages more expressive. Languages such as Python, Ruby, or JavaScript can take as little as one third as much code as C in order to implement similar functionality. C gave us similar advantages over writing in assembler. Looking forward to the future, it is unlikely that language design will give us the same kinds of improvements we have seen over the last few decades.
I have lots of hope for language improvements (specifically type system improvements) to help manage software complexity. Generics marked a significant improvement over C or Java 1.0 styles of development. First-class sum types means I don't have to think about how to implement them as a pattern and weigh the tradeoffs or make sure all of my conditionals cover every scenario. Rust's memory model uses types to give strong correctness guarantees, and is currently probably the best way to write software when a GC simply won't do. TypeScript and MyPy employ gradual typing to help developers get the best of both dynamic and static typing. I suspect that there are a lot of ideas coming out of type theory that just need a good path from academia and into real-world practice.