Alan Gauld wrote:
On 07/10/11 16:40, lina wrote:

but today I was also discouraged, I was told that you should not have
learned python, you should focus on C or bash, or D, cause python is
going to be obsolete,

C is a great language for writing Operating Systems and other "near the metal" code. But its not the best language for busiess apps, artificial intelligence and a host of other things. Bash is a good user shell, but its not even the best Unix shell for scripting (Thats probably ksh).
D? Who actually uses D? I think your informant was not well informed.


Ah, flame wars over which is the best language :)

I don't know enough about ksh to compare it to bash, but at least you didn't recommend csh :)

http://www.faqs.org/faqs/unix-faq/shell/csh-whynot/

But frankly, all the shell languages are pretty horrible.

D might not be a popular language, but it is a modern, advanced language in the C family, influenced heavily by Python. If I were to learn a new statically typed procedural/object-oriented language, I'd seriously consider learning D.

http://en.wikipedia.org/wiki/D_(programming_language)

But it really depends on why you are learning the language.

Are you learning a language because you need it for a specific job or project? Then learn whatever language you need, because you need it, regardless of whether it is widespread or not.

Are you learning a language because you want to maximize your chances of getting a job? Then learn one of the big commercial languages like VB, C, C++, PHP, Javascript or Java. You won't learn to be a better programmer, you may learn to be a *worse* programmer, and you might be competing with thousands of code monkeys, but there are plenty of jobs available.

Are you learning a language because you want to get the highest paid job? Then become an expert in an old language like PL/I or Fortran or something, and do it 30 years ago so you can claim 30 years experience. Now, if you can find a job -- and good luck with that -- you can pretty much set your own rate.

Do you want to learn a new language for the love of learning languages? Then learn a wide variety of languages.

Do you want to expand your skill-set (good for the resume!) and open your mind to new programming concepts? Then learn a variety of languages using many different programming paradigms:

* procedural
* declarative
* functional
* logic/deductive
* object-oriented
* stack-based
* concatenative
* concurrent
* natural language programming
* esoteric languages

etc.

Even if you don't have the time to learn the language, learn ABOUT the language.

You will never say, "Gosh, I wish I knew FEWER programming languages!"



--
Steven

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

Reply via email to