Hi, I'm Frederic.

Web Developer & Entrepreneur
blogging about life and programming in Node.js+React.


The equality of languages

The more I learn new languages, the more debates about who’s language is more performant or just better, no reasons given, the more I think that every language is totaly viable for most of the tasks/projects. Especially in the web development world!

Having used PHP, C#, Java, VBScript, XSLT, Javascript, Ruby, Scala and seeing Go, Python, Rust, C, C++, Objective-C Elixir, Clojure, Haskell all going to war I caught myself thinking that those can all do the job very well and the metrics we use to compare them don’t really matter.

But, I do not neglect that certain groups of similar languages are way better at their jobs that other, what I mean by equality is that the speed diference between Ruby, Phython or PHP really depends on the code you write and what libraries you use more than the language it self, what matters the most is what you write, what you build. As programmer we are builders, creators, the single best thing you can do for your startup / project is to get to work and stop worrying about which technology/language/RDBMS you should choose, pick the ones you are used to, pick the one that will make you fast and efficient, pick the one your team is used to and make those keyboard keys sweat.

Then, once you have built something, there is a point in the life of a software where you might need more performance, more reliabily, more scalability, then, but only then think about rewriting small parts, learn slowly and adapt yourself.

As for web development here is how I would split those in groups:

High level, dynamic, iterative languages to kickoff a project or build a prototype with:

Still high level but more complex, with more overhead, performant languages:

Lower level, good for cli stuff & ops & heavy filesystem/OSy work:

TL; DR; Don’t be picky about which language to choose. Pick one you are used to, in the good category for your kind of project and get working!

Happy hacking!