Hacker News new | ask | show | jobs
by fragmede 4020 days ago
Only if you think of programming languages as an individual golf-club.

Put it this way: Is there a conference for professional basketball, baseball AND ice hockey players? I'm not even aware of anyone who managed to go pro in two of those, not to mention all three.

Most programmers have a preferred domain and language. Once you scale past a pet project and have a decently sized team, specializations start to occur, especially as the code base grows beyond what one person can hold in memory.

I'm reminded of the saying "jack of all trades, master of none".

9 comments

"Jack of all trades, master of none" applies to situations where the trades are not terribly related to each other. Beyond a certain basic level of knowledge that applies to everything, being a good plumber isn't going to contribute to your being a good farmer, which won't contribute to your being a good therapist. To be sorta good at all those things and others besides requires that you can not have put in the time to master any of them.

Programming languages are different. For one, they all run on the same hardware. For another, the basics of logic and such are the same. And for the coup de grace, we have the well-known acecdata that learning a language of a significantly different paradigm than your "main" language generally improves your ability to program in your "main" language, to the point where I and others routinely recommend to people that they learn (or implement!) other language paradigms as a routine, expected part of their programming career. Learning Haskell to the point you can effectively use it can and will improve your PHP.

In the programming field, I don't think you can be a master programmer without being a fairly effective polyglot, as a bare minimum requirement. That is, if someone claims to be a master but they only have fluency in one language, even if that language is C++ or something, I would not consider them a "programming" master, only a C++ master.

Bo Jackson was both an NFL and MLB player.

http://en.wikipedia.org/wiki/Bo_Jackson

As was Deion Sanders, but the GP didn't give football as one of his sports
> Only if you think of programming languages as an individual golf-club.

Which is a more accurate analogy than a whole sport.

> Put it this way: Is there a conference for professional basketball, baseball AND ice hockey players? I'm not even aware of anyone who managed to go pro in two of those, not to mention all three.

Among athletes that have gone pro in more than one sport, baseball/basketball seems to be a not-unusual combination:

Michael Jordan is probably the best known example, but also Danny Ainge, Scott Burrell, Nathaniel Clifton, Dave Dubusschere, Cotton Nash, and Bill Sharman.

Hockey is a pretty rare combination with either baseball or basketball.

Did Michael Jordan count as a professional basketball and baseball player?
Felt the need to remind you whippersnappers about Bo Jackson!

I'd also argue that the skills needed for multilanguage competency as a programmer aren't as mutually exclusive as some of the physical traits needed for pro-level athletic talent.

[1]http://en.wikipedia.org/wiki/Bo_Jackson [2]http://en.wikipedia.org/wiki/List_of_multi-sport_athletes

I'm not even aware of anyone who managed to go pro in two of those

There are a handful of athletes that have played both pro football and baseball, Bo Jackson probably being the most famous.

Michael Jordan played pro Baseball and Basketball, but was never a good baseball player

> There are a handful of athletes that have played both pro football and baseball

Well, a particularly large hand:

If you are even narrower than "pro" and restrict it to just MLB and NFL, there are several dozen [0]

[0] http://en.wikipedia.org/wiki/List_of_athletes_who_played_in_...

Somebody has already mentioned Bo Jackson. There was also Deion Sanders (at least I think he made into MLB briefly), and long before either Dave DeBusschere, who pitched a season or two in the big leagues and then had a good career in the NBA.
You're kidding right? A programming language is another tech tool in the box. Just like using git, a debugger, Linux, nginx, etc.

Do you have different people in your team: one focused on nginx, one on bash, one on Python, one on PHP, and one on algo design?

> Most programmers have a preferred domain and language.

A preferred domain perhaps. But a preferred language? That smells of sticking to one's (tightly drawn) comfort zone.

Preferences are usually a matter of personal opinion. They don't actually need to be justified.

I prefer to speak English. Yes, "language is arbitrary", but pointing that out is kind of missing the point, isn't it?

I'm not even aware of anyone who managed to go pro in two of those

Not to discredit your argument even a bit, but Michael Jordan (MJ23) had a short stunt with pro baseball away from basketball.

That was so easy man :)