I had an interesting discussion with a bunch of people earlier today. Don’t really remember their names now. But we had an interesting discussion over beer any how. We started talking about the typical dalliances of running a startup, but as any hacker will tell you, such discussion inevitably end up being a wankfest over what languages are the best * It’s clearly Haskell /sarcasm .
The discussion eventually went there. And one of the people in the group talked about how he had switched stacks from a Python stack into a node.js stack and is now considering moving back into the Python or Go stack. When asked why, the response was simply “Javascript sucks”.
The response was amusing. There were 5 of us in the group, all of us fairly inebriated. The first few response were along the lines of “maybe you’re a terrible programmer”, and “you don’t get Javascript”. I find these kinds of response a little weird. Why would the first response be to blame the programmer? Sure, this is also part of the “blame the user not the tool” mindset, which is a good mindset to have in most cases, but taken to extreme means that we are often unable to objectively judge something.
Is it not even remotely possible that a language is objectively kinda shitty? There are a lot of ways to shoot yourself in the foot with Javascript. Heck the language is so full of warts that a book dedicated to the good parts was written.
This is particularly disturbing in my opinion. I see this as being part of a larger trend of what I think of as post modernism gone mad. Suddenly things like mores and ideals are exempt from criticism. This in my opinion is dangerous for the development of humans.
Javascript
I’m not the most stellar of programmers — in fact I have stated on more than one occasion that I’m not a software developer. Software development skills are just a toolset for me to do things more efficiently (or lazily). I do have my thoughts on software development and engineering. I try to follow best practices but I’m not overly dogmatic over them. Somehow, this means I’m not qualified to comment on criticize certain things.
I often make snarky remarks about Javascript, because frankly I think it is really a shit language that cannot be avoided. But somehow everytime I criticize Javascript, I get sayings like “you don’t understand Javascript” or “you’re not used to Javascript”. But au contraire – I’ve been writing Javascript code for a long time. And when I point this out, comments like “oh you’re not doing it right. It needs to be done X way”.
Me having criticisms about Javascript (or indeed not being a great programmer) doesn’t mean that my criticism is invalid. A few days ago I tweeted this:
I've been working with JS longer than Go, but I can go from 0 to production faster on Go than JS. Says a lot about JS. #golang #javascript
— Chewxy (@chewxy) February 23, 2013
I think it says a lot.
This problem is not limited to programming languages though. Somehow we as a civilization have lost the presence of mind to objectively criticize ideas. I had originally written a much longer piece, but the thought I shall leave you with are these more radical thoughts (these questions have measurable metrics that can be used to answer the question objectively):
- Why is it always the extremists who are wrong, not the religion/ideologies?
- Why is it always “you don’t get the art”, not that the art piece is objectively terrible?
- Are there such a thing as an objective truth? Can they be approximated with metrics?