3 ms·
Based on this I felt like some of the big winners in 2050 will be Rust, Clojure and Go. These will be less than we think of Cobol today. The paradigms will be
by waynecochran 4y ago
Based on this I felt like some of the big winners in 2050 will be Rust, Clojure and Go.
These will be less than we think of Cobol today. The paradigms will be completely different by then. Declarative languages have the best shot at surviving since they are the least tied to today's paradigms. We have to figure a may to program for fine and coarse grain parallel machines -- and not von Neumann fetch-decode-execute style machines.
- rectang 4y ago"Can programming be liberated from the von Neumann style?" — John Backus, 1978 44 years later, it hasn't happened. I'm skeptical that it will happen in the next 28.
- edgedetector 4y agoWe've made a ton of progress. They didn't have decentralized computing at all in 1978. Now most things run on remote machines. Also, there has been a move away from the imperative style that makes parallelism so difficult.
- deleted 4y ago[deleted]
- waynecochran 4y agoProbably not a complete break. But there needs to be paradigms that can allow for exacale computing. Instead of 20000 independent threads (e.g., SIMD / CUDA style) we will have trillions of threads that work in interleaved harmony. The von Neumann model break downs at that level.
- wolfgang42 4y agoThis isn’t nearly so clear-cut as you make it out to be—compilers today often treat “imperative” languages as declarative, and CPUs are a lot more sophisticated than “fetch-decode-execute” implies. (Yesterday I was looking at some code where GCC took a fairly complicated for-loop and turned it into about four assembly instructions, all with incomprehensible acronyms.) COBOL’s fall from grace was due in no small part to the syntax rather than the semantics, and I expect that trend to continue: I wouldn’t be surprised if the languages of 2050 are similar to the languages of today, just with more expressivity, better communication between compiler and programmer, and an even larger range of optimizations under the hood.