[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: learning languages [Was: Re: Y Store now C++]

On Fri, Mar 14, 2003 at 10:26:58PM +0100, Michael Schuerig wrote:
> On Friday 14 March 2003 21:07, Adam Turoff wrote:
> > Today, the IT world has standardized on two primary platforms:
> > Windows and *NIX.  That has reduced the pressure to learn new
> > langauges pick up new skills, and increased the cost for average
> > programmers to design/learn/build their n+1st language.
> I'm doubtful about this argument. 
> Becoming a functioning programmer in a new language from the common 
> message-passing OO variety is no big deal for people who already know 
> another language from that pool. Of course, as always, mastery is 
> another matter entirely.

Yes, and you could have made the same argument about imperative
languages ten years ago.  At that time, the world was more
heterogeneous and it was common to come across wildly different
environments over a few brief years.  

On the one hand, you can take a reductionist attitude and say "shell
scripting is just shell scriptiong" whether it's bourne shell, csh,
ksh, Prime's COMI or DCL files, VAX DCL, DOS BAT files, etc.  Sure,
"learning another shell scripting language" was not that big of a
deal.  But the neurons for "learning how to learn a programming
language" were still almost permanently switched on.  

Today, it's possible to use the same toolset for five or ten years
without significant change.  Many programmers have no need for the
learn-a-language neurons to stay switched on as a result.

Learning a new paradigm is always more difficult, but easier if you're
ready to learn something new.
> Ordinary programmers -- i.e., not language afficionados -- (are made to) 
> learn a new language when it is perceived to enable them to do 
> something they can't (easily) do with their existing tools. 

Certainly.  And those events used to occur with much more regularity.

Time was when you *couldn't* get bash and gcc running on BizarroOS
and the only way to get anything done (easily) was to use the native
tools supplied by the vendor.