Hacker News new | ask | show | jobs
by mattgreenrocks 5368 days ago
I blame the Internet. No, seriously.

Sites like HN and Reddit tend to have a vocal crowd who decide that certain languages and tools are the domain of the elite. This groupthink is religiously defended through self-righteous blog posts ("I switched from Java to C and became a better person!!!") and comment threads. Inevitably, posters go looking for something that the True Language is known to do well, and then overgeneralize their experience. The result? Karma, and another voice to add to the constant din of Conventional Wisdom. Intellectual honesty takes a backseat to conformity...as usual.

Developers looking to improve their skills should pick up new languages, especially those of different paradigms and abstraction levels. But the hegemony of 'superior' languages will always weigh in to these decisions, and potentially block out the idea that the language is merely a tool used in implementing the final solution. It was never the end goal.

Nor is being right on the Internet. This phenomenon is one of humans, and their politicization of engineering. We must be wary of the ego, and harness it for it's good uses, rather than always looking to appear badass or hip through our technologies.

4 comments

I have to agree. The Internet somehow does create these weird pissing contests where people seem to want to show that they are cool and everyone else sucks. For example, in an internal mailing list where I work, there is currently a thread between two idiots over whether iPhone or Android is superior.

What a completely ridiculous waste of time!

The mature "elite" programmer knows that solving problems is more important than the underlying technology.

There was that article from pud a few weeks ago talking about "you won't like my back-end", where he details how he uses a Microsoft stack, including IIS. So many people were responding with how much better LAMP was, etc. But the funny thing is that pud has made more money and acquired more customers than 99% of the people who responded. He is solving customer problems and being rewarded with money, and not engaging in useless pissing contests over which technology is better, and I admire that.

LAMP is better than .NET because I dont need to buy Windows Server licenses to get going. That is a fair statement.

LAMP is better because only losers use stuff from MS. This is the sort of argument that you see alot of on the internet.

LAMP is better than .NET because I dont need to buy Windows Server licenses to get going.

A fair statement, but not exactly accurate :)

Even discounting the Mono stuff, there's always BizSpark or one of the cloud many providers that offer Windows/MSSQL hosting at a slightly increased price (essentially renting Windows Server licenses).

I don't like flame fests any more than you do, but honestly is making money always the most important factor? Especially in our profession there are far more rewarding goals than money.
Getting things done is usually the most important factor in a business setting.
No one here said it was.
Well said. A lot of people on HN (including PG) like to diss Java as some backward corporate language. The fact that you can run Lisp on the JVM (clojure) shows that such criticisms are shallow.

Lisp may be superior to Blub. But if Blub has excellent libraries X,Y, and Z that make solving your problem a lot easier, using Lisp may be a no-go - unless you can interoperate with Blub code from Lisp -- something that a virtual machine like the JVM makes very easy without having to write bindings.

J2EE (what most people are referring to when they talk about Java sucking) is a really awful, verbose thing to write programs in, and I had those feelings well before I started reading articles about it. It's not a shallow criticism.

The JVM, on the other hand, is great, and lots of great tech has come out of it. I haven't seen too many people disparaging the JVM. There is also quite a lot of useful, stable library code in the Java universe.

j2EE != Java. J2EE is a framework. More accurate to compare J2EE and Rails. Or compare Swing to Qt. You can program in Java without J2EE and Swing (which suck). The criticism is against Java. You are adding your own qualification.
Java, the Programming Language, not the Development Environment, is what I think he was talking about. The JVM is awesome and will be one of the platforms that defines the next generation of languages (e.g. Clojure, Scala).

Java the language is painful after writing in Lisp, Clojure, Ruby, et al.

Edit: C# is also widely regarded as "superior" to Java.

> C# is also widely regarded as "superior" to Java.

It feels like saying Stheno and Euryale are Medusa's pretty sisters.

I suppose, but it's what a lot of people are stuck writing in enterprisey Java shops, and it's been my impression that people mix the two up when complaining. That might be wrong, though. I suppose the core language has a number of problems of its own as well. I don't think people think the JVM is one of them, though, and it's not really what most people are talking about when they talk about programming in Java.
This groupthink is religiously defended through self-righteous blog posts ("I switched from Java to C and became a better person!!!") and comment threads. Inevitably, posters go looking for something that the True Language is known to do well, and then overgeneralize their experience.

I'm not even particularly old, and I ran into this offline first. Go anywhere within 500 feet of a tech meetup, and you'll have people telling you these kinds of conversion stories, overgeneralizing their experience, etc. My first encounter, when I was a high-school student, was with a C-programming graybeard who was sort of religious about C.

One of the best comments I've read on HN. Fight group think.