DEV Community

loading...

Lets all stop the language wars and focus more on building great products

Bruno Paz
Web Engineer. Working mostly with PHP, Symfony and Golang. Entusiast about Engineering Best Practices, Continuous Delivery and DevOps. Sports and FC Porto fan!
・4 min read

If you are a developer, you probably have seen lots of endless discussions and arguments in internet forums, blog comments sections or social networks, about things like, “what is the best programming language” or “why this new shiny language is the greatest thing ever” vs “why is anyone using this shit language / you are an inferior developer if you program with X language”.

Its incredible how many developers, who should supposedly be intelligent people tend to be so mean and aggressive defending their favorite language or framework and criticize everyone that dares to like or build something using a language that they consider bad or old fashioned.

PHP developers and the users of frameworks like Electron are often the most common victims of the hardest critics, resulting in memes like this:

These discussions are stupid and useless in my opinion.

We as developers, have the opportunity to change the world and improve people lives using technology, shouldn't we support everyone that is building something that will be useful for someone, instead of bashing them just because they are using an “inferior” language?

Of course, everyone has its preferences and there are languages that are better than others depending on the use cases, but why the hate? Cant we have more constructive criticism?

Every programming language has its uses and should be respected. The internet wouldn't be what it is today without PHP. I dont like Wordpress but it was a revolutionary software when it comes out and allowed many many people to share knowledge with others and many companies to have its place on the internet. Many developers wouldn't care about desktop applications, without frameworks like Electron.

Just because its not in the top page of Hacker News, its more than 1 year old or it doesn't have the most clean syntax and best performance, doesn't mean its the worse thing on earth and all the ones that uses them should go to hell.

A top developer can make a PHP application fly, and a mediocre developer can make a NodeJS application really slow.

Its nice to be able to use the latest technologies, but in real world, stability is very important. Would you build a business using the latest new shiny JavaScript framework where nobody knows if it will still be around, 2 years from now?

As someone very interested in Startups and Organizations, last week I had the opportunity to read the amazing makebook by Pieter Levels where it says the following:

The people discussing what programming language is best are not shipping products. The people who don’t care what programming language they’re using are shipping products.
They’ll use whatever tool they need, whenever they need it.

I completely agree with his statement.

Building great products should be our main focus as developers. Just use the tool you think it will be more appropriate for the job. It will be different from project to project.

The end users doesn't care it which language its built, as long it solve their own problems.

Of course, the Developer experience is incredibly important. You will be much more productive and happy if you are working in a product using a language you enjoy, that is easy to understand and maintain and that provides you with great tooling and quality libraries to build your product faster and with high quality.

Many languages can provide that and its also a very subjective topic. I really like working in PHP and can be very productive with it. You might prefer Ruby or Node. Its a personal choice. There isn't only one way to build quality products and clean code and that also depends on a lot of factors like your experience with the language and the requirements of your product.

What its crucial o understand is that there are languages more suited than others to do a particular task.

I wouldn't build a “real time” app with PHP, a personal blog with Java, or an app that requires complex calculations in Node.

Understanding the pros and cons of each language, how and when to apply known design patterns is what will make the difference in the end.

Also many developers tend to over engineer and to do premature optimization. Here is also a very interesting quote from the referred book:

honestly, unless you’re programming spaceships, it’s pretty hard to outgrow a language. They’re all based on the same principles of computing. You can build anything with most languages really.

Thats the reality. Not everyone is building applications at Google or Facebook scale, where performance and scalability play a very important role.

PHP, Ruby, Node, Python, Golang, I would say almost any well maintained programming language can be a valid starting point for most of projects.

And today, in a Microservices era, you are not limited to one language per application. You can easily optimize your application by building some components in a different language.

Conclusion

Lets stop this nonsense language wars and start respecting and collaborating more with each other in order to build better products and solve real problems.

There isn't a “one language, fits all” and every language or framework has its pros and cons. Understanding them and how to apply to your product in order to fulfill your users expectations is what will make the different in the end.

Discussion (2)

Collapse
legolord208 profile image
jD91mZM2

I'm sorry, but I can't agree at all. When it comes to programs being shipped to the user, of course it matters if the user has to download an interpreter or JIT manually! Grandma won't know how to do that! And even if you make a script that installs it for them, the people who already have it installed might then get multiple versions installed (just like when Steam tries to install Visual C++ in Windows).

I won't go into details on the Electron problem, because I've ranted about it waaaay too many times. But I want you to know that if I filter running applications by CPU in htop, the Electron applications are always on the first page, often 4-5th listed. Sometimes even more than my browser - Firefox! I would very much enjoy if Discord and Mattermost were written for GTK+ instead of just being a copy pasted version of their web client.

Collapse
drminnaar profile image
Douglas Minnaar

When it comes to passions of the heart, I think there will always be war :D ..... I get the gist of what you're saying though. I think that many of us, regardless of topic, welcome constructive debate that is backed up by fact. Unfortunately, too often it does turn out into a war where it becomes more about the entities that created the language than the language itself. I myself have had to endure countless criticism for programming in C# because it comes from microsoft. Of course there is no other organization out there that has committed any anti-trust violations or other crimes against humanity. Perhaps I should stop using React in light of recent events relating to facebook ;) Thanks for sharing your opinion!