Hacker News new | comments | show | ask | jobs | submit login

That thing about Perl is probably being said since the past 12 years and the needle doesn't seem to have the least count distance with regards to that.

People are learning Python? Really? That was probably true in 2006-2009. Python is no longer the new hotness. Scala and Clojure may be.

The fact of the matter is Perl has a massive niche(Text processing, Unicode, CPAN, Regular expressions, Fast prototyping, TIMTOWDI, Ability to add new syntax rapidly[Moose, Devel::Declare etc], Automation, Testing culture, Documentation, Unix, Parsing, Getting things done real fast... I can go on.. but I will stop here), If you look at what Larry Wall has been saying over the years about Perl 6 in various talks you will note that he designed Perl to fill a niche which continues to be totally unoccupied till today's date. The only competitors Perl has in its design space are tools like sed and awk with a additional few Unix utilities thrown around. In other words Perl doesn't have any credible competition. What's more? Any language that is designed to replace Perl will largely look like Perl(Read: Ruby, Perl 6). And yes, Php and Ruby do have their niches.

Python doesn't have a niche. All Python has is- "Tab indent your code." And sorry to break the bad news to you. Merely forcing indentation on a bad programmer doesn't magically transform him to a good programmer. Rather it make the situation more worse. It gives him a free pass to sit amidst good programmers.

> a niche which continues to be totally unoccupied till today's date

Leaving all about Python aside, what exactly is that niche? I'm not being ironical or anything, I really want an answer to this question, that's why I started this piece of the discussion. Seeing that things like Metasploit, that I would have expected to be written in Perl, end up being coded in Ruby, makes me unable to see any "special niche".

(About what people are learning: indeed we programmers pursue the new hotness, but of people that just started learning how to code, I bet 80% of them are learning Python, Ruby or Javascript, and since this the language they will first learn, this is more likely to become and remain their "go to scripting language" - bar Javascript...).

Python's niche is that it's a general purpose language that is also good for scientific programming.

my theory is that Python ended of being used so much in scientific computing because of what it lacked :) I mean weird stuff that put off "brilliant non-professional programmers" (ie. scientists, engineers and other domain experts that thought themselves how to code). All other languages have tons on these things: Ruby has blocks that make people write functionalish code, Perl has ...tons of weirdness. Python just looked clean and easy to learn and lacked "weird shit" :)

Python also has scientific libraries that don't have equivalents in other dynamic languages. I don't agree that Python is free of weirdness, though. Perl and Ruby just happen to have extra weirdness.

> All Python has is- "Tab indent your code."

When we use APL, everything is one line long and code doesn't ever need indenting.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | DMCA | Apply to YC | Contact