|Python. worth learning?|
a friend told me last night he intends learning a programming language and was recommended to learn Python so he can do more advanced than HTML things on websites.
I suggested PHP or failing that ASP but he seems set on Python.
I know virtually nothing about Python. Is this something he should learn or is it a dead-end road?
Python is a good language, not as wide spread as php though. I guess it's like a niche market :)
|Is this something he should learn or is it a dead-end road? |
It's hard to say without knowing his intentions.
I agree! Along with PHP, ASP.NET, JSP and Rails (with that Ruby too)!
Sure, stay away from ASP since it has too many extras and additions that have been added over time.
Depends on what his intention is.
I think it would be well worth learning Python, Ruby, or both, to anyone who is plotting a long-term future in web development.
Of the languages mentioned, the most popular - PHP - is the dead-end language, IMO. It's today's Basic. We *needed* a language to bring back spaghetti-code!
My preference of the two is Ruby. Looked at Python, and don't like all those underscores. ;) In all fairness, haven't scratched the surface of Python, beyond a few hacks to some Karamba widgets.
Both are certainly niches for now, but one of them is likely to ultimately become the most-used language for web development.
Both are so much more rational than the languages that have come before them.
Of all of these, my favorite so far has to have been Perl (with Snobol a strong second - but only within the domain it was intended for - text processing - and for it's timeframe), but my new favorite is Ruby.
Python is the language that gets the least into the way of my thinking. It's the one where you don't need to waste time with your tool, but can instead fully concentrate on the conceptual questions. Most other languages require that you pay some attention to them as well, to get around syntax quirks and other obstacles. In contrast, Python just does what you expect it to do most of the time, even if you're not a language expert.
In other words: Highly recommended if you don't care what "everybody else" uses, but simply want to get your work done in the most efficient way. I don't use anything else if I can avoid it.
|Both are certainly niches for now, but one of them is likely to ultimately become the most-used language for web development. |
A bit OT, but I think Perl has a big come-back when the Parrot is finally released.
The problem with Perl is both legacy code and legacy coding habits. I think, unfortunately, PHP5 may offer us a glimpse of the future of Perl 6.
The nice thing about both Python and Ruby is that they were born without a lot of bad habits.
The PHP case is a shame - as a modern language, it didn't have to turn out the way it has. It's had to evolve away from the bad habits of it's youth.
While this is understandable, given PHP's and Ruby's relative history's (I'm not familiar with Python's) and PHP's viral growth, it doesn't excuse it.
PHP started as a hack to templatize one person's web site. Ruby started with a desire to create an ideal, all-purpose programming language. PHP took off quickly before it was ready for prime time. Ruby had the luxury of baking in obscurity for a while while it matured. Most really bad Ruby code is probably written in Japanese, and we are unlikely to encounter it.
|I think, unfortunately, PHP5 may offer us a glimpse of the future of Perl 6. |
Actually, I think Perl6 is becoming more like Ruby and Python. It's fully OO and type'd language. Also you can call methods on anything, even literals, e.g. "string".length or $var.length, %hash.keys, etc...
|Actually, I think Perl6 is becoming more like Ruby and Python |
Yes, that is true.
What I meant, though, is that Perl 6 will suffer from legacy code and legacy coding practices from it's dark past.
PHP5 suffers from coding practices left-over from earlier versions. PHP5 isn't all bad - but most PHP code today was written for PHP4.
Better to use a newer language that doesn't have a dark past.
OTOH, Perl has a huge installed base (though not as big as PHP), huge number of good-quality packages, and with Perl6 will be on it's second byte-code interpreter. They're still working on the first one for Ruby.
I suggest you to have a look at this article, there you will find some reasons why Python is a language worth learning.