Number of languages known [was Re: Python is readable] - somewhat OT

Steve Howell showell30 at yahoo.com
Fri Mar 23 03:45:40 EDT 2012


On Mar 22, 6:11 pm, Steven D'Aprano <steve
+comp.lang.pyt... at pearwood.info> wrote:
> 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... at 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.

I agree. It's certainly true for spoken languages.  The only
programming language that I ever learned without experience in other
languages was BASIC (because only one language can be our first).  I
believe I mastered BASIC, not that that is saying a whole lot.

> 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, ...
>

VB, Java, C, C++, JS, PHP, and Perl are all 20th century languages
FWIW.  PHP, Java, and JS all emerged circa 1995 (17 years ago); C, C+
+, and VB are even older.  (And so is Python.)

A future version of Python itself, or some language largely inspired
by Python (CoffeeScript 3.0 maybe?), will eventually squeeze out Perl,
PHP, and JS in the popularity contests.  At least I'm crossing my
fingers.

VB will die with no obvious successors.

C++ was never very distinct from C to begin with, and the two
languages will eventually converge, die off, or be supplanted.

In ten years we'll basically have only three 20th-century-ish
languages in the top ten: Python', C', and Java'.  The rest of the top
ten most popular languages will be something truly 21st-century.
They'll be languages that either haven't been invented yet or
modernized derivatives of languages that we view as "fringe" today
(Lisp'/Haskell'/etc.).





More information about the Python-list mailing list