5 ms·
One metric: more new modules uploaded to CPAN on a daily basis than ever before.
by freyfogle 16y ago
One metric: more new modules uploaded to CPAN on a daily basis than ever before.
- danieldk 16y agoAnd another metric shows that Perl continues its years-long decline: http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html http://www.tiobe.com/index.php/content/paperinfo/tpci/index.... This is one of the factors why we have replaced Perl in our curriculum with Python. The other being that Python is far more fit for education.
- rjbond3rd 16y agoIf you are using TIOBE to make decisions on what to teach, I feel bad for your students :)
- bigiain 16y agoThat's true, but having said that, it's well known (or at least often joked about) that Perl makes a poor first programming language but a fine _last_ programming language. Jokes aside, I think the sentiment has some strong truth - if for no other reason that there are some very heavy assumptions in the standard documentation that the user is well versed in Unix, shell and C libraries. "perldoc -f printf" and "perldoc -f sprintf" are _not_ what I'd expect first-programming-language learners to have to work with. Unfortunately, the usual refrains of "patches welcome" are unlikely to solve this problem, because as a 2nd or 3rd (or 17th) language, it's precisely the documentation I want.
- danieldk 16y agoThat's a caricature of my comment (given the smiley this is probably intentional). The primary motivation was educational fitness, the second consistency within the education program, the third popularity. Of course, not popularity according to the TIOBE index, but to what typical employers require. Of course, in the market C# and Java are more popular, but popularity is just one factor.
- edenc 16y agoIf you use the TIOBE index as a measurement for language popularity you shouldn't be controlling a curriculum related to information technology because it indicates you don't have high-school level knowledge of statistics. TIOBE is based on "searches for a given language", there are all sorts of factors that can skew the outcome pretty badly. See http://www.tiobe.com/index.php/content/paperinfo/tpci/tpci_definition.htm http://www.tiobe.com/index.php/content/paperinfo/tpci/tpci_d....
- danieldk 16y agoYou must have misread my comment. Popularity (as in what typical future employers require) is one of the factors (besides fitness for education and program consistency), TIOBE is not. The TIOBE reference was to show that there are nearly always metrics that show your point. But I guess it is easy to stomp on people based on presumption. Let's just stick to arguments, rather than poisoning the well.
- jonathansizz 16y agoFor stuff like string handling, text processing and even variable interpolation, Perl blows Python and Ruby out of the water (and despite criticizing Perl's regex, Python ended up copying it almost identically). Much of this power stems from Perl's much-derided use of sigils (e.g. $scalar, @array, %hash) and context. Personally, I find Perl's $header2 = "Dear $title $name,"; to be more readable than Python's header2 = "Dear %(title)s %(name)s," % vars() Another benefit to using sigils is that it's immediately clear when reading code what type of data is being referred to, while in other languages you often have to read back through the code. On the other hand, Python has done a great job in positioning itself as the new BASIC (in a good way), and so of course Python gets much more exposure in the educational setting and thus has greater mind-share amongst younger coders. Python is simpler and easier to learn well than Perl, but nevertheless Perl is a very powerful and useful language that takes a lot of undeserved criticism (e.g. see the comment of wyuenho in this thread). Incidentally, I found the Google Trends link hilarious, as all the news snippets on the right of the page refer to people called Ruby and actual Python snakes (hey, maybe people are searching for things other than programming languages..)!
- wyuenho 16y agoI think what you have said is quite fair. However, I must clarify that I wasn't criticizing Perl's use of sigils, I was criticizing Perl's use of punctuations. There's big difference. Sigils does indeed make the types of variables clear, tho I find that context alone is enough. Objects in natural languages don't have to have types in their spellings to convey their categories after all. The use of genders in some languages is superfluous, Chinese doesn't require that. All I'm saying is, Perl requires too much more mental power to process than Python because of it's large vocabulary and inconsistent grammar rules. It is really a natural language, but a natural language is not needed for programming.
- bellaire 16y agoYeah, punctuation, wow. I mean, here's a sierpinski triangle generator: 32.times{|i|i.upto(31){|k|putc~k&i>0?32:35};puts} Oh, wait. That's Ruby. I meant to say: <?for($n=33;$k=--$n;print~\xf5)for(;$k;)echo-$n&--$k?~\xdf:~\xdc; Oh, sorry! That's PHP. My bad... here we go: print map($%&$_?$":'#',0..~($%=$_)),$/for-32..1 There we go... You're right, Perl is so much worse! The point is, of course, you can write ugly code in any language, or you can write beautiful code in any language. Python actually is fairly legible nearly all the time... n=32 while n:print''.join('# '[-n&k>0]for k in range(n));n-=1 but that comes at the cost of added verbosity and reduced flexibility . Whether that's better is a matter of taste, not of fact.