Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > Python > Number of languages known [was Re: Python is readable] - somewhat OT

Reply
Thread Tools

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

 
 
Chris Angelico
Guest
Posts: n/a
 
      03-22-2012
On Fri, Mar 23, 2012 at 4:44 AM, Steven D'Aprano
<(E-Mail Removed)> 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", nor
"languages", but I'm of the opinion that a good developer should be
able to learn a new language very efficiently. Do you count Python 2
and 3 as the same language? What about all the versions of 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.

ChrisA
 
Reply With Quote
 
 
 
 
Steven D'Aprano
Guest
Posts: n/a
 
      03-23-2012
On Fri, 23 Mar 2012 06:14:46 +1100, Chris Angelico wrote:

> On Fri, Mar 23, 2012 at 4:44 AM, Steven D'Aprano
> <(E-Mail Removed)> 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_Ev...rogrammer.html


and here's a more serious version:

http://www.yacoset.com/Home/signs-th...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
 
Reply With Quote
 
 
 
 
Steve Howell
Guest
Posts: n/a
 
      03-23-2012
On Mar 22, 6:11*pm, Steven D'Aprano <steve
(E-Mail Removed)> wrote:
> On Fri, 23 Mar 2012 06:14:46 +1100, Chris Angelico wrote:
> > 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, ...


I love how you can rattle off 20 or so languages, just off the top of
your head, and not even mention Ruby.

(Although Perl was close enough.)





 
Reply With Quote
 
Steve Howell
Guest
Posts: n/a
 
      03-23-2012
On Mar 22, 12:14*pm, Chris Angelico <(E-Mail Removed)> wrote:
> On Fri, Mar 23, 2012 at 4:44 AM, Steven D'Aprano
>
> <(E-Mail Removed)> 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", nor
> "languages", but I'm of the opinion that a good developer should be
> able to learn a new language very efficiently. Do you count Python 2
> and 3 as the same language? What about all the versions of the C
> standard?
>


Not only is it hard to define what we precisely mean when we say
"[knows] moderately well" or "[n number of] languages", but what in
the world are we talking about with respect to "the typical
developer"? How do we even begin to define that term?



 
Reply With Quote
 
Dennis Lee Bieber
Guest
Posts: n/a
 
      03-23-2012
On Thu, 22 Mar 2012 19:48:19 -0700 (PDT), Steve Howell
<(E-Mail Removed)> declaimed the following in
gmane.comp.python.general:


> I love how you can rattle off 20 or so languages, just off the top of
> your head, and not even mention Ruby.
>

Ruby -- a translucent to transparent reddish stone in the corundum
family... Extremely hard; poorer specimens grate and cut softer
materials, but sometimes can be found in polished and highly attractive
form.
--
Wulfraed Dennis Lee Bieber AF6VN
http://www.velocityreviews.com/forums/(E-Mail Removed) HTTP://wlfraed.home.netcom.com/

 
Reply With Quote
 
Chris Angelico
Guest
Posts: n/a
 
      03-23-2012
On Fri, Mar 23, 2012 at 1:48 PM, Steve Howell <(E-Mail Removed)> wrote:
> On Mar 22, 6:11*pm, Steven D'Aprano <steve
> (E-Mail Removed)> wrote:
>> 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, ...

>
> I love how you can rattle off 20 or so languages, just off the top of
> your head, and not even mention Ruby.


If I were to rattle off a couple dozen languages, it probably wouldn't
include Ruby either. Never learned it, don't (as yet) know what its
advantage domain is. My list "runs somewhat thus": BASIC, 80x86
Assembly, C, C++, Java, REXX, Pascal, Pike, Perl, PHP, Javascript,
DeScribe Macro Language, Scheme, Python, ActionScript, DOS Batch, Lua,
COBOL, FORTRAN, Ada, Modula-2, LPC, Erlang, Haskell... and that's not
counting things like POV-Ray or LilyPond that aren't exactly
_programming_ languages, although in some cases you could shoehorn an
application into them. Granted, I do have some rather strange and
esoteric interests, and I'm sure that Ruby is far better known than
DeScribe Macro Language (!!), but I think first of those I've used,
and then of the most famous.

Sorry Ruby. No slight meant!

ChrisA
 
Reply With Quote
 
Steve Howell
Guest
Posts: n/a
 
      03-23-2012
On Mar 22, 6:11*pm, Steven D'Aprano <steve
(E-Mail Removed)> 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
> > <(E-Mail Removed)> 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_Ev...rogrammer.html
>
> and here's a more serious version:
>
> http://www.yacoset.com/Home/signs-th...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.).


 
Reply With Quote
 
Steve Howell
Guest
Posts: n/a
 
      03-23-2012
On Mar 23, 12:05*am, Chris Angelico <(E-Mail Removed)> wrote:
> On Fri, Mar 23, 2012 at 1:48 PM, Steve Howell <(E-Mail Removed)> wrote:
> > On Mar 22, 6:11*pm, Steven D'Aprano <steve
> > (E-Mail Removed)> wrote:
> >> 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, ...

>
> > I love how you can rattle off 20 or so languages, just off the top of
> > your head, and not even mention Ruby.

>
> If I were to rattle off a couple dozen languages, it probably wouldn't
> include Ruby either. Never learned it, don't (as yet) know what its
> advantage domain is.


Hype?

> My list "runs somewhat thus": BASIC, 80x86
> Assembly, C, C++, Java, REXX, Pascal, Pike, Perl, PHP, Javascript,
> DeScribe Macro Language, Scheme, Python, ActionScript, DOS Batch, Lua,
> COBOL, FORTRAN, Ada, Modula-2, LPC, Erlang, Haskell... and that's not
> counting things like POV-Ray or LilyPond that aren't exactly
> _programming_ languages, although in some cases you could shoehorn an
> application into them. Granted, I do have some rather strange and
> esoteric interests, and I'm sure that Ruby is far better known than
> DeScribe Macro Language (!!), but I think first of those I've used,
> and then of the most famous.
>
> Sorry Ruby. No slight meant!
>


If you're that adept at learning languages, then I recommend learning
Ruby just for kicks, but you're not missing *that* much, trust me.
I'd skip past Ruby and learn CoffeeScript.

Of the languages that are in the scripting family, you already know
REXX (supreme elegance for its time), Perl (I hate it now, but loved
it before Python), PHP (truly easy to learn, you can never take that
away from it), and Javascript (horrible syntax, awful platform, but at
least they have first-class functions).

You have the Assembly/C/C++/Java progression--definitely good stuff,
even if the ending to the movie was a bit of a letdown.

COBOL/Fortran/Ada gives you instance "old school" street cred.

Haskell/Erlang/Scheme means you can hang out with the cool grad school
kids in the CS/Math departments (no oxymoron intended).

I confess--I've never learned LilyPond, Modula-2, or LPC! I mean, of
course they're on my resume, just to get by HR screening, but that's
just between you and me...


 
Reply With Quote
 
Chris Angelico
Guest
Posts: n/a
 
      03-23-2012
On Fri, Mar 23, 2012 at 7:04 PM, Steve Howell <(E-Mail Removed)> wrote:
> If you're that adept at learning languages, then I recommend learning
> Ruby just for kicks, but you're not missing *that* much, trust me.
> I'd skip past Ruby and learn CoffeeScript.


Sure. When I have some spare time... lessee, I think I have two spare
minutes in the year 2015 that aren't allocated yet! Oops. There they
go.

> Of the languages that are in the scripting family, you already know
> REXX (supreme elegance for its time), Perl (I hate it now, but loved
> it before Python), PHP (truly easy to learn, you can never take that
> away from it), and Javascript (horrible syntax, awful platform, but at
> least they have first-class functions).
>
> You have the Assembly/C/C++/Java progression--definitely good stuff,
> even if the ending to the movie was a bit of a letdown.


+1 on the description, heh.

> COBOL/Fortran/Ada gives you instance "old school" street cred.
>
> Haskell/Erlang/Scheme means you can hang out with the cool grad school
> kids in the CS/Math departments (no oxymoron intended).


Ehh, the ones from COBOL on were because I ran out of languages that
I'm really familiar with, and enumerated a few famous ones. But the
rest, I do actually know, and that's why I thought of them.

> I confess--I've never learned LilyPond, Modula-2, or LPC! *I mean, of
> course they're on my resume, just to get by HR screening, but that's
> just between you and me...


GNU LilyPond is a music publishing language (it's to music what TeX is
to English, kinda). Awesome language and system. I can show you a few
pieces I've done with Ly, it's beautiful music score from a very clean
input file. Modula-2 is a Pascal-derived language that I haven't
actually used, but it's cited as an influence in the development of
several others that I have used. LPC is Lars Somebody's C, originally
written as the basis for Lars Somebody's MUD or LPMUD, and was the
basis for Pike (with which I'm very familiar, as readers of this list
probably know).

Half the above languages aren't on my resume, mainly because I don't
really care about HR screening

ChrisA
 
Reply With Quote
 
Nathan Rice
Guest
Posts: n/a
 
      03-23-2012
Logo. It's turtles all the way down.
 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Re: Number of languages known [was Re: Python is readable] - somewhatOT Nathan Rice Python 30 04-04-2012 07:07 AM
Re: Number of languages known [was Re: Python is readable] - somewhatOT Chris Angelico Python 4 04-03-2012 07:12 AM
Calling a function when the number of parameters isn't known till runtime John Friedland C Programming 18 07-12-2006 12:28 AM
Python in the news, somewhat Adonis Python 0 05-14-2005 02:41 AM
Finding the array index number for known content. PhilC Python 4 10-30-2004 04:11 AM



Advertisments