This article isn't exactly wrong. Certainly, running on your target platform and having library support for the things you're trying to do are critical features for getting anything done, and a great language that lacks these things in the wrong tool for the job. That doesn't mean criticism of bad design choices in, say, Javascript is mistaken, or as the author describes it, "troubling". It just means you probably have to use Javascript anyway[0].<p>It also leaves out another reason for learning languages and using them for pet projects: it makes you a better programmer. The more good languages you know, and idioms from those languages, the more likely you are to recognize when an ad-hoc implementation of one of those idioms is the right solution to a problem in the language you're actually using.<p>[0] Though possibly only as a compilation target.