5 ms·
Ahh yes, you must be an inferior programmer if you work in language X. Pretty much any common language other than C/C++ could be (and probably has been) called
by NateDad 13y ago
Ahh yes, you must be an inferior programmer if you work in language X.
Pretty much any common language other than C/C++ could be (and probably has been) called a blue-collar language - C#, Java, Javascript, Python....
- pron 13y agoWhat? Being a blue-collar language is a virtue! C#, Java, Python, Javascript etc. are all pretty much blue-collar languages; Haskell, Scala, C++ (depends), Rust (probably; I don't know much about it) and Clojure (sadly), aren't. But you're right: "white-collar" languages have the habit of never being too popular.
- stcredzero 13y agoThere were days when Python was white collar. There are places where C++ is blue-collar. (Games, for one.) Rust is meant to be white collar, seems to me.
- pcwalton 13y agoIf "blue collar" means "used in industry for real work", and "white collar" means "a research/niche language", Rust is designed to be blue collar. It's not designed to be a testbed for research beyond what was needed to get safety out of zero-cost abstractions.
- pron 13y agoLet me revise my previous comment. While many might categorize Python, Javascript and Ruby as blue-collar languages, they do encourage all sorts of metaprogramming tricks, while Java, C# and Go absolutely don't. I think this is a big philosophical distinction, because the second group favors readability and the ability to share code in a large team over language power, and this is what makes Go much closer to Java/C# in its philosophy than to Python et al.
- NateDad 13y agoBlue collar worker just usually means "one who is uneducated and unskilled". Putting that onto languages is sort of demeaning... it sounds like that's not really what you meant, though, and that's cool, just my misunderstanding of your meaning.
- pron 13y agoThat's just how James Gosling described Java when he explained the philosophy behind it in 1997[1]. He wrote, "Java is a blue collar language. It’s not PhD thesis material but a language for a job. Java feels very familiar to many different programmers because I had a very strong tendency to prefer things that had been used a lot over things that just sounded like a good idea." He most certainly didn't intend the term to be demeaning, but more to contrast it with research languages that include features that are untried and unproven. The term has since been used as shorthand for Java's (and languages like it) goals and philosophy. [1]: http://dfjug.org/thefeelofjava.pdf http://dfjug.org/thefeelofjava.pdf
- bradleyjg 13y agoUneducated I'll give you, though probably it should be qualified by something like formally educated, but blue collar certainly does not mean unskilled. The paradigmatic blue collar job to my mind is not taking orders at McDonalds, it's welding.
- NateDad 13y agoI knew I should have qualified that more. You're right, McDonald's is not blue collar, but working in a manufacturing plant riveting part A to part B is. It also encompasses stuff like mechanics and welders that do require skill and even some education and certification. But regardless, most of the time it's still used to mean something lesser.
- gruseom 13y agothe second group favors readability and the ability to share code in a large team over language power Not to pick on you, but people say this all the time, as in it's probably the thing people say most often on this subject, and I wonder: do we have any evidence for it? That is, do we have any evidence that the mid-tier languages which eschew more powerful abstractions (Java and its peers) lead to either more readable or more shareable code? Or is it one of those things that everybody "knows" but ain't so?