3 ms·
On one hand, sometimes languages are bad. More specifically, if we choose to define the utility of a language based not on its features and high points, but on
by mynameislegion 10y ago
On one hand, sometimes languages are bad. More specifically, if we choose to define the utility of a language based not on its features and high points, but on its drawbacks and fundamental failings, then it's very straightforward for a cosmopolitan hacker to develop bad impressions of certain languages. The fact that those same languages show up as punching bags over and over, particularly PHP, JS, Java, and C++, should hopefully indicate to us as a community that these languages should be shunned and avoided.
On the other hand, the people wielding those languages do not deserve any hate, shame, nor prejudice. Attacking people for using a language is like attacking people for any other opinion that they might harbor; it is bigotry. There is no reason to be a bigot when it comes to languages; it should suffice merely to hold the opinion, to have the opinion be well-reasoned, and to always be conscientious of how we treat the people around us.
(I cannot believe that I had to write the previous paragraph, but HN's inability to hold this discussion in a calm and rational way in the past has made it clear that I must directly tell you all to not be bigots. Disappointing.)
It is a recurring pattern that discussions about these low-quality languages turn into us-vs.-them discussions, where one side harbors people who espouse the opinion that the language in question is low-quality, and the other side consists of people who use the language in question on a daily basis. The first side needs to avoid attacking and hurting people on the other side. It is unhelpful and derails the conversation. In particular, trying to communicate an idea of the form, "You need to be aware of the language's failings and flaws, and understand that not all other languages have these problems," is subtle and cannot be done while simultaneously flinging insults.
On the other side, we all must realize that our favorite languages are terrible. Our languages, like almost all facets of computing in this era, are primitive. We have only a few fundamental rules which guide our knowledge of computing, but otherwise we are usually walking blind, exploring and feeling our way through a field which is still largely unlit. When we discuss the failings of a particular language, we are trying to build up our understanding of which linguistic features do not work, and which features should be avoided.
In summary, we should kill PHP and JS, but we should have empathy for those who use these languages, and we should make sure that we learn from the mistakes which these languages embody as we step forward.
- cafard 10y agoEmpathy for the kids at Facebook with stock options?