"Mark Lawrence" <breamore...@yahoo.co.uk> wrote
...I take issue with this "learn a language in five minutes" bit. It took me five years to get to grips with plain old C.

C is non trivial but not hard (certainly compared to C++)
But 5 years is enough to do a lot more than "get to grips with"
a language, that's what I'd expect it to take to become fully
fluent, maybe even the office expert!

Assume that the same applies to all other languages

No, the diffference is huge between languages. I learned both
awk and Logo in a week. Smalltalk took me three attempts and
I still struggle every time I go back to it after 24 years!  Same
with Lisp, I am still learning Lisp  despite having written production
code in it 15 years ago! (Fortunately I have 3 Lisp guru's, one of
whom was on the standards comittee, to whom I can turn for help!)

But C only took me about 6 months to become proficient(*).
COBOL about the same. Forth is easy to learn but difficult
to master.

(*)By which I mean good enough to write a control system
for a cable extrusion line in a factory and a data encryption
card for the original IBM PC, including intercepting BIOS
calls etc. A guru C programmer could find lots of faults in
my code but it worked and the clients paid money for
the results!

C++ took me about 2 years to feel comfortable and
about 5 years to become one of  the office gurus.
The biggest system I've ever been involved with was
primarily written in C++ - about 3 million lines of code.
It only took about 2 years away to lose that skill again!

to make it simple, that means for me to get to grips with 30 languages takes 150 years. I don't think I'll live to do that.

To me, "get to grips" means good enough to write effective
working code that can be used in professional production systems.
A professional programmer often has no choice but to learn a new
language and a new start will be lucky to get more than a
couple of months to get up to full speed. You will be expected
to be writing code within a couple of weeks, albeit with the
manual permanently by your side.

As I said earlier I've worked on single projects with over a
dozen different languages going at once, if we'd waited for
5 years for each language we'd still be studying yet! As it
was the total project time was only 3 years. And some of
those languages were bespoke creations for that project.

You don't need to be an expert in a language to be productive.
And learning new languages invariably improves your skills
in the ones you already know. That's why I've learned several
languages that I've never used in projects - but the concepts
they embodied were significant (Smalltalk is a good example.
A colleague was using it in 1986 and I was fascinated by
this new OOP paradigm so I started to use his environment
during lunches and so on and learn the basics, but I have
never use Smalltalk myself in a paid project - but I learned
a lot from it. Haskell is another in the same category)

Learning multiple languages is a way of improving your
skills in your existing languages. It makes you a better
programmer.

But, it only works once you understand the basics and for
that sticking to a single language is probably best.
And Python is an ideal starter.

Alan G.

_______________________________________________
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor

Reply via email to