DEV Community

Discussion on: CS Graduates (and not): A Question

Collapse
 
dmerand profile image
Donald Merand • Edited

Thanks! That's an interesting question - I'm interpreting you as asking whether I think the main approaches to + thinking about programming languages have changed since I was in school.

On the one hand, this stuff's all been around forever. Functional programming since (before computers, and object-oriented programming for decades at least. Imperative models are also pre-computer, and that's pretty much all there is, approach-wise, for what people are using in production.

On the other hand, each new language brings a new approach, and sometimes those approaches shed new light on these same old ideas. For example: Joe Armstrong published his Erlang Thesis while I was still in school, but at the time Erlang's approach to message-passing functional programming using Actors (or, as some would say, the original vision for object-oriented programming was novel. That architecture allows us to write gorgeous, distributed programs that have a previously-unseen level of fault-tolerance and modularity. Nowadays we also have Elixir, which adds a layer of beautiful syntax, and a suite of amazing tools, along with some new ideas, to that Erlang core. Neither Joe Armstrong nor José Valim invented functional or object-oriented programming, but they've pushed the needle for sure. Personally, my exposure to Elixir + Erlang has changed the way I write code in other languages as well.

I hope that answers your question somewhat!