Hacker News new | ask | show | jobs
by 78666cdc 1211 days ago
I echo others here in the sense that “mastering programming” is not well defined. It’s interesting to try to define what that might be though. For example, I know people who would qualify as “master Java programmers” if there ever was one, but that doesn’t make them “master programmers”.

I think that in my life I have met one person that I would call a master programmer. He was intimately familiar with C, C++, Java, Erlang, Perl, APL, Ruby, Python, Prolog, Haskell, Scala, and more. You could probably find a person that is more of an expert in any one of those, sure, but that’s beside the point. The reason this fellow qualifies as a master of programming, for me, is that he seems to have complete knowledge of where every language came from, how that influenced its semantics, what the pros and cons of each language’s design are, and could code more or less idiomatically in any one of all those languages and explain why it was idiomatic.

Based on that, I’d say that if there is such a thing as a “master programmer”, it’s probably someone so well versed in computational theory and language design that picking up a new language is just a fun afternoon.

I am sure others will have different viewpoints. This is my two cents.

1 comments

"A master is one who transcends languages"? That sounds like a reasonable definition to me.