DEV Community 👩‍💻👨‍💻

Hugo Daniel
Hugo Daniel

Posted on

The more things change...

So we know that history has a tendency to repeat itself. Statically typed languages are apparently here to stay. At the moment this wave might seem very hard to bail out and likely to crush us if we are not already surfing it like a pro.

Having had the pleasure of getting bombed in face by such waves in the past, I would like to draw a parallel with the computer programming language scene from 15 years ago.

Lets time travel to around 2005 (give or take). There was also a crushing wave of somewhat dynamic languages that you had to be surfing like a pro to avoid risking having your surfboard obliterated.

Here are the somewhat dynamic languages of 2005 and their equivalent vibe static ones of 2020:

  • Python in 2005 = Rust in 2020

    • Here is a language with a well thought set of principles as a starting design and with the good grace of being the cool language of the future. You definitely should be programming this. They are moving fast and don't even get stuck with things like backward compatibility.
  • Ruby in 2005 = Nim in 2020

    • A small niche language with interesting macro/AST/blabla stuff stolen from LISP. Peculiar people seem to be doing weird projects with it just for fun. Might have some industry one day.
  • JavaScript in 2005 = TypeScript in 2020

    • Browser compatible and gives you the best of both worlds with gradual typing. In runtime, nobody cares anyway.
  • PHP in 2005 = C# in 2020

    • A thing from the past trying to reinvent itself and with a ton of legacy stuff in the market. It seems to be gaining new traction in big markets.
  • Lisp in 2005 = Haskell in 2020

    • The purist vibe, some very niche industry. Make sure to know your monoids/cdrs.
  • Perl = ???

    • hmm I can't think of something similar to Perl back then; Perl had a very cool community of good coders (Perlmongers etc) and was waiting for perl6 to kill all industry and rule forever.

Top comments (0)

Need a better mental model for async/await?

Check out this classic DEV post on the subject.

⭐️🎀 JavaScript Visualized: Promises & Async/Await

async await