Revolutionary Changes in Programming: Past, Present and Future

Join the discussion
Ask a follow-up here, or get your own question answered by working scientists, mathematicians and engineers — people, not an autocomplete.
Real named experts · corrections over time · the nuance an AI answer skips
3 replies · 2K views
Hercuflea
Messages
593
Reaction score
49
I'm just a casual/academic programmer. The last major revolution in programming (that I know of) was object oriented programming. But some of the latest developments (in C++) that can actually be used by everyday programmers that I can think of are things like smart pointers which were only really implemented in 2014. Python gets updated every few months to a new version. Are these updates bringing new ideas/functionality to the languages that programmers can use or are they mostly just housekeeping? Are there any big "revolutions" in the works with the same kind of magnitude as the change to object oriented programming?
 
Physics news on Phys.org
Another example: Google Tensorflow. It was recently released as a plugin for python. It is meant for machine learning, but it can actually be used to do numerical partial differential equations in parallel.
 
Elm is an interesting programming language which is primarily functional. It has the time traveling debugger which is quite cool. There are several videos on YouTube by the creator Evan Czaplicki.

https://en.m.wikipedia.org/wiki/Elm_(programming_language)

There's node.js where you can develop the server side of web apps in JavaScript so your web app can use one language for both client and server side which makes sharing data via json format seamless.

There's JVM languages like groovy, Scala, Clojure and jython that interoperate with Java and can use the many third party libraries. Groovy is like super Java whereas Scala fixes many Java architectural issues and Clojure and Jython are super lisp and Python that can work with Java libraries.

There's the processing IDE which makes writing Java fun. It has a lot of cool interactive Java graphics examples. It's also great for prototyping ideas too. See processing.org for more info.

There's Julia from MIT that seems on track to be a better MATLAB but with datatyping to speed calculations. It also takes a page from OO in that you can use different calling signatures on functions for polymorphic type calls i.e. The function does one thing when an art is an integer and another thing when it's a vector, see Julialang.org