On language hipsters, C++, and ego.

I read an article today on Hacker News titled “Web programs written in C++ are no big deal.”

Hot damn, says me. Maybe it’s a showcase of apps that utilize some of what C’s good for. Maybe it’s some examples of awesome sites that have lots of C/C++ in their backend. Maybe I’ll get inspired to dust off my C skills and hack out some cool stuff.

Nope — its instead a perfect example of language hipsterism and NIH syndrome, with some good points well hidden.

NIH, for those not acquainted, stands for “Not Invented Here.” It’s an antipattern, not a good thing, and can often happen as a result of overgrown ego’s. Do you really think your code is that much better than everyone else’s? Can you honestly not trust something you didn’t craft with your own two hands? Are you building a spaceship?

Language hipsterism is when your language of choice is cooler, better, and better in bed than everybody else’s. Almost every language is different. They all have their benefits, they all have their weaknesses.

There are some good points that are brought up. Shiny object syndrome is a real problem. Community churn, lack of peer review, all of these are things that you have to think about and weigh when you make a language, framework, or infrastructure choice.

The best developers I know have a giant collection of tools that they can apply to the task at hand, and are constantly learning new languages, techniques, and skills — not latching on to the one they’re most comfortable with and calling it a career.

Web apps written in C++ are no big deal. An app written in assembly is no big deal. What is a big deal is using the wrong tool for the job because of ego, stubbornness, or inertia. We have the greatest collection of tools for software development we’ve ever had — let’s make use of them.