On Fri, 23 Mar 2012 06:14:46 +1100, Chris Angelico wrote: > On Fri, Mar 23, 2012 at 4:44 AM, Steven D'Aprano > <steve+comp.lang.pyt...@pearwood.info> wrote: >> The typical developer knows three, maybe four languages moderately >> well, if you include SQL and regexes as languages, and might have a >> nodding acquaintance with one or two more. > > I'm not entirely sure what you mean by "moderately well",
I mean more than "poorly" but less than "very well". Until somebody invents a universal, objective scale for rating relative knowledge in a problem domain (in this case, knowledge of a programming language), we're stuck with fuzzy quantities like "guru", "expert", "deep and complete knowledge of the language and its idioms", all the way down to "can write Hello World" and "never used or seen the language before". Here's a joke version: http://www.ariel.com.au/jokes/The_Evolution_of_a_Programmer.html and here's a more serious version: http://www.yacoset.com/Home/signs-that-you-re-a-bad-programmer > nor > "languages", but I'm of the opinion that a good developer should be able > to learn a new language very efficiently. Should be, absolutely. Does, perhaps not. Some good developers spend their entire life working in one language and have become expert on every part of it. Some learn twenty different languages, and barely get beyond "Hello World" in any of them. > Do you count Python 2 and 3 as the same language? Absolutely. > What about all the versions of the C standard? Probably. I'm not familiar with the C standard. > In any case, though, I agree that there's a lot of people professionally > writing code who would know about the 3-4 that you say. I'm just not > sure that they're any good at coding, even in those few languages. All > the best people I've ever known have had experience with quite a lot of > languages. I dare say that experience with many languages is a good thing, but it's not a prerequisite for mastery of a single language. In any case, I'm not talking about the best developers. I'm talking about the typical developer, who by definition is just average. They probably know reasonably well one to three of the half dozen most popular languages (VB, Java, C, C+, Javascript, PHP, Perl?) plus regexes and SQL, and are unlikely to know any of Prolog, Lisp, Haskell, Hypertalk, Mercury, Cobra, Smalltalk, Ada, APL, Emerald, Inform, Forth, ... Or even in most cases *heard* of them. -- Steven -- http://mail.python.org/mailman/listinfo/python-list