There are two things here, one is lack of funding, and the other is lack of technical talent working on the project. To a certain degree the former can compensate for the latter, since if you're a company and you believe enough in your language to think that investing staff hours in improving it is a net-win for you, you'll do it. As it turns out, attracting and keeping technical talent is hard.
There seems to be something to this. Google didn't hire a random hacker to work on Python. Guido just couldn't not work on Python, and inevitably, if you are that kind of hacker, there's a company somewhere who benefits massively from having you in their office every day.
Who, besides Larry, can't drag themselves away from hacking on Perl? I'm assuming those people are all employed. If not, we should get them a job!
While they don't all work on the core, development on each perl release is very healthy. From Perl 5.14.0 release delta:
Perl 5.14.0 represents one year of development since Perl 5.12.0 and contains nearly 550,000 lines of changes across nearly 3,000 files from 150 authors and committers.
And since the 5.14.0 release on 14th May this year development has continued unabated:
Current release (5.14)
* 5.14.1 on 2011-06-17
* 5.14.2 on 2011-09-26
Patch old release (5.12)
* 5.12.4 on 2011-06-20
Development for next release (5.16)
* 5.15.0 on 2011-06-20
* 5.15.1 on 2011-07-20
* 5.15.2 on 2011-08-21
* 5.15.3 on 2011-09-21
* 5.15.4 on 2011-10-20
ref: Above dates from MetaCPAN and excludes release candidates versions.
Let's be honest, Python and Ruby have eaten Perl's lunch. All it's got left to argue for it is CPAN. The first startup I worked for, in 1999, was built entirely on Perl. At the time it was a good choice. It isn't now.
In fact Ruby is completely unknown out of the trendy web startup set. I routinely have to explain it to people I meet.
Python is huge though. Most people know it, many like it. Though I find far fewer people love python than perl5 or Ruby.
But perl is still there. It's still my tool of choice for most scripting, and for some fundamentally good reasons that are unlikely to change in the near future. Perl scripts fit more naturally into single files. They deal better with the enclosing unix environment (i.e. they expose things like signals instead of trying to abstract them). Operations like pack/unpack and I/O piping work in fewer tokens and more clearly than in other environments.
It's just a great language. It makes me sad that everyone wants to flame about it.
Any new development, really. Don't get me wrong. I think Perl was a brilliant piece of language engineering in its day and its influence on subsequent "scripting" languages is unmistakable. But why would anyone without significant prior investment in the language choose it for new work now? It's just too cryptic and idiosyncratic compared to the obvious alternatives.
I just want to note that I would answer, if the question would seem in any way sincere. But I don't think I could say anything that would bring you to consider that other people might have other opinions, and that they're not simply invalid because you don't share them.
You understand that besides "opinions" and "sharing them" there is also an underlying objective reality right? At least in an engineering practice, like computing.
One doesn't have to consider "other opinions" or deem them "valid", if one knows them to be wrong. And in our profession we have lots of ways of knowing wrong from right.
Signs of what exactly? That people like to argue about languages? Or are you saying that choice of language / stack should be dictated by popular trends?
He's saying "The lady doth protest too much, methinks". You don't have this problem with Python, Ruby, C++ or even C. I certainly don't see a "C isn't dead! Really!" post every other week.
Oh please. The "is dead" meme is specific to Perl, but it's just a meme. There are plenty of equally dumb memes for Java, Lisp, and all the languages you just mentioned.
Please don't make the mistake of believing a meme.
These "Perl is dead" posts seems to come from trolls from certain other language communities. And in many cases, it is the same persons writing them...
Most Perl developers are grown-ups who are
a) too busy solving problems and
b) mature enough
to not go and troll every post about a language they don't like.
On the other hand, Perl has attracted a handful of recurring names of amazingly dedicated detractors who seemingly have nothing better to do.
All my posts were objective. If you find them trollish then I'd say you're too sensitive about it for some reason. You can say what ever you want about Lisp and I wouldn't be bother, for example.
>Here you did sweeping personal attacks on Perl programmers
Again, you're projecting. I said "perl fanboys on this site". That's much less broad but you seem to not realize there is anything else?
>start writing personal attacks there
Why do you take fair critiques of the language as personal attacks? I think you need to read pg's essay about ID again.
>Get a life or start writing code for a hobby.
Again with the personal attacks. I have a life and I code for a hobby. That doesn't stop me from correcting fan boys who spread misinformation or distortions of the truth.
That was an observation of mine. Perl fanboys are generally not capable of having a dispassionate discussion about perl's faults.
>That is a personal attack, without any data, on Perl fans in general.
Fan = Fanboy. It is a programming language. Being a "fan" of a tool is irrational. One should use the tool that works best (for some definition of best) and when that tool is no longer the best one should switch. Being a "fan" means to follow something even when it's not the best (e.g. Dallas Cowboys fan, even when they hadn't won a game in years). This is an utterly irrational stance for a tool.
By the way, the person who has been issuing the personal attacks here is you with your "go away" and troll accusations. I hope in time you can learn to be more civil in your discussions.
Link? I'd say your ID is too big (pg has an essay on it). If you say Lisp is crap, I'm not going to be offended even though I think it's a great language. It's something I use, it isn't part of who I am.
Having seen it, I can't help but say: lol! You took that one sentance to mean pg was upset that you were arguing with trolls? It looks to me like he thought you were trolling! All kinds of other people were still talking to the person you accuse of being a troll but only you got singled out and asked to stop. None of them and not even the alleged troll.
And again it was about perl. I think you seriously need to ask yourself why you're so incredibly sensitive about this subject. No one is criticizing you nor your family. Just a tool that has no feelings or emotions.
>You are a liar. Here is his account. It is at Karma -10 and it wasn't used after that troll session.
Oh my, it seems I've hit a nerve for some reason. In the post where pg called you specially out to stop, other people responded to the "troll". I wonder why it was only you who got singled out.
Further, you're assuming the guy was just a troll. Maybe he came on here, saw that even though this was supposed to be a more sophisticated crowd, there was a lot of perl support here, had one big fight and then decided it wasn't worth his time to bother.
>He was posting slams of about your level.
More misrepresentation from you. Most of his "slams" were a bit over the top, where as I'm just stating facts with less hyperbole than he had.
>You don't like Perl (not "perl") and write 10-20% of comments in discussions about it.
I used perl professional for a torturous 5 years. The internet made the correct decision to move away and I'm not going to stand by and let people use propaganda to bring it back. If you people want to keep on using it, go ahead, but stop dragging new programmers down your career dead-end.
>So you're just bullshitting here, as trolls do. And you got another comment out of me... :-(
The lady doth protest too much, methinks (I really love that one!). I'm having a conversation here. You're constantly screaming "troll! troll!" because you have no useful counter-arguments.
With all due respect, I don't think you're the one to know what "reasonable people" might object to. Your bias is as clear and well documented as mine if not more-so.
>>Your bias is as clear and well documented as mine
You've claimed repeatedly to be serious and only argue facts -- so now you not only lied but admitted to be a liar (in addition to your usual personal attacks; chromatic just noted that you're trolling, which you didn't try to contradict).
But the real problem for HN isn't bad trolls like you, it is fools like me that feed them. Bye.
>so now you not only lied but admitted to be a liar
Citation needed?
>chromatic just noted that you're trolling
Is English your native tongue? He quoted me and then claimed a "reasonable" person would be offended. I pointed out that he's a poor choice to make this call. I don't think a reasonable person would be offended at what I said at all. Only an irrational perl fanboy.
>But the real problem for HN isn't bad trolls like you, it is fools like me that feed them.
I'm not sure "troll" means what you think it does. It doesn't mean someone who has points you don't like but have no good answer for.
>>points you don't like but have no good answer for.
Your "arguments" are personal attacks ("the lady doth protest too much", "irrational perl fanboy", etc, etc) and language slams without motivation (see e.g. list by chromatic).
You have no serious arguments -- e.g. what would be better than CPAN, Moose or MooseX::Declare. (You probably never used them, since you don't even know the name of Perl, but write "perl".)
And here is the crux of the issue, as I've stated in the beginning: you're identifying perl as part of who you are (again, read up pg on ID) and taking negative facts or suggestions as personal attacks. An "irrational perl fanboy" (the only part that would be a "personal attack", though generally directed at unnamed persons) is someone who does this.
>since you don't even know the name of Perl, but write "perl"
lol, I don't know anything about perl because I don't bother myself with your conventions? I don't get why people get sensitive about this triviality. If someone through a fit about people saying LISP instead of lisp or Lisp I would assume they were probably retarded.
Ironically, I probably know perl better than you do. Have you ever written any XS code?
>Thanks for making my weekend, troll.
Again with the personal attacks. Honestly, looking back at this thread you stand out to me as more of a troll. Just as you did in that thread where pg called you out on it.
So the only way you can answer accusations of being a troll and just doing (personal) attacks, insults and lies -- is more insults and you have no serious arguments to point at.
I took one of your lies and insults (that you had made any "points" I couldn't answer) and you only had more insults and lies.
Enough.
Seriously, some advice -- it is common for some to let out steam by being an asshole to people on the Internet, but your lies and insults doesn't seem like healthy behavior. You should check if you need professional help with whatever ails you.
That's hilarious. From your behavior in this thread I'm pretty convinced that you have problems that could use professional help.
I'm telling you I see a problem, where I see the problem (you see perl as part of who you are) and you see that as an insult. Or maybe you were even calling my bit about not caring how perl is spelled as an insult?
The mad man thinks others need help. Here's a quick way to check though: if this thread were about you bashing Lisp it wouldn't exist. I don't view any tool as such an integral part of myself that I would be willing to spend weeks defending legitimate (or otherwise!) complaints against the language. If you don't like it I don't care. If you trash it on the Internet I'll correct you a few times but I would never consider going to the lengths you have.
He quoted me and then claimed a "reasonable" person would be offended.
That's not what I wrote; you're putting words in my mouth. Even if, as you imply, my brain has been so irreparably damaged by my experience using Perl (among other languages) that I am incapable of rationality, that's still a disingenuous discussion technique.
>I think this is the kind of talk to which reasonable people might object.
So if you weren't saying a "reasonable person" would be offended what were you saying exactly? And you accuse me of using "disingenuous discussion techniques"?
This is the same kind of intellectual dishonesty people hate Micheal Moore for. Put some strange part in the movie, which is directing the audience to an obvious conclusion and then claim people are "putting words in my mouth" when they point it out because he never said the specific words.
In part I think it's because Perl is done. It works. It's effective.
Extending Perl beyond what Perl is makes Perl something else. Perl 6 is barely Perl in any classical sense.
The "Swiss Army Chainsaw" was never intended to be Java or C#. Its weaknesses, a lack of formal typing, a small, simple set of core data structures, a terse and convoluted syntax, are actually its strengths.
Just as C++ is not really C, and Java is certainly not C++, Perl would be better suited by some kind of successor language that embodies the Perl spirit without having to carry forward on the same code-base or concern itself with legacy. I don't think Perl 6 is this thing.
Perl 6 sucked some air out of the room, too. The final, official decision to keep Perl 5 alive indefinitely and declaring them to be separate languages is still relatively young.
But I tend to agree that to a large degree, it's done. Many new features that were mentioned would require major overhauls to the language. You can't just bolt "better parallelism" on to a language, for instance. And macros would make what is already a fairly large language even larger, along with the fact that it wouldn't really buy you that much vs. what you can already do.
... macros would make what is already a fairly large language even larger, along with the fact that it wouldn't really buy you that much vs. what you can already do.
You sound like you have a specific use case in mind. I'm curious what that may be, and what kind of advantage you're expecting over already-existing constructs that could be used to do the same thing. (Unless you've really got a use case that simply can not be done with existing constructs, which I'd also be interested in.)
I have a couple of deployed applications where I've found similar patterns of advanced control flow. In one case, a mixture of early exits and exception handling is boilerplate repeated dozens of times. I prefer not to copy and paste all of that code, but the only other abstraction technique Perl 5 gives me right now is to extract this behavior to some sort of Command Pattern object system, and that seems like a lot of complexity both in design and in surface syntax for what's just standard control flow.
Another pattern I use quite a bit is to write an parent application class which has the scheduling and task management behaviors of several subclasses (these subclasses each have separate and idempotent behaviors, such as "fetch newest data from remote server" or "republish static data from templates"). Most of the core behavior of each application is "loop over a task queue and process each individual element", the specific details of each task are so different that it's difficult to abstract further to push more behavior into the superclass. I could go further and use more higher-order functions, but there's a point at which you're building up a long chain of closures closing over closures just to avoid writing a loop, and I'm not sure that's practical.
The successor to Perl is Ruby. System administration used to mean Perl, now it means Ruby. Fast web development used to mean Perl, now it means Ruby or Python. The successor to Perl is Ruby.
I'm not into the whole sys-admin thing or the Ruby hotness or the Node.JS hype but I noticed that there are more utilities or tools that are written in Ruby lately.
CloudFoundry seems to be written in Ruby and it looks like a bunch of sys-admin tools.
Chef, Puppet are both written in Ruby and utilized Ruby (or Ruby DSL?).
There's a strong push for Ruby lately and it might be because Ruby is kind of similar to Perl so some sys-admins are okay with that?
When ever I drop in to write sysadmin scripts, I choose ruby, python or powershell depending on the platform. I never choose bash/dos batch/perl anymore.
Granted I'm a developer who does sysadmin on the side.
Edit: (Python on ubuntu, Powershell on windows, ruby on everything else. Python on ubuntu since it's there out of the box)
I'm also a developer who still does sysadmin on the side (and probably far too much for my liking!) and I always write my scripts in Perl or bash.
And from what i've seen and anecdotally this still seems to be the common case (Java & Perl are the main languages used by companies in the City of London).
Actually nothing ever truly replaces those classic tools bash/awk/sed/perl.
But every now and then you will see <insert some new tool> being compared with a <insert classic tool>. And then told since the <insert some new tool> is a little famous now, its likely to replace the <insert classic tool> and that <quote some irrelevant search engine statistic> actually proves <insert classic tool> is dead and <insert some new tool> is actually going to replace the <insert classic tool> in the future.
Then suddenly expect a stream of tweets, blog posts and forum discussions on how useless <insert classic tool is>.
Please replace <insert classic tool> by "Perl","SQL","Php".
Please replace <insert some new tool> by "Python","Ruby","Tcl","NoSQL","Django"..
Please replace <quote some irrelevant search engine statistic> by Google search stats or Tiobe(Which is the same ,but presented differently metric).
While it's good to always review your tools & skills... spending lots of time looking at sparkling new things could be better focused on i) getting work done or ii) improving your proficiency with current tools :)
Sometimes a new tool will come along that truly is a huge improvement on previous tools. But, when those previous tools are "classics", it's pretty rare that the "new" tool is truly that much of an improvement.
There's a reason that these things (bash, sed, awk, perl, SQL, Unix/Linux, etc) are still popular and still going. It's because they're time tested, they're well known, and they work.
When I start writing something, I think about how big I expect it to be. If it's expected to be 50 lines or less, then it's bash for general scripts, and awk for text filtering. If it's expected to be more than 50 lines, I go with Perl. That goes regardless of platform (as it's already available on every *nix platform I use, and Strawberry or ActiveState makes Perl easy to add on Windows).
Yeah, I'm gonna have to completely disagree with you here.
I'm a sysadmin that does a decent amount of automation and scripting work. Almost all of that is done in Perl. Among the other guys on my team, everyone uses Perl, except for one person who uses Python.
We had one person who came into the team as a Ruby fan. Within 6 months of working with us, she'd become a Perl fan. She told me she'd passed on Perl and gone to Ruby because she'd heard bad things about Perl. After seeing it in use and checking it out a little closer, she realized that almost everything she'd heard "bad" was outdated, incorrect, or overstated.
Outside of my team, I know lots of people who use Perl, a decent number of people who use Python, and a very small number of people who actually use Ruby. Yeah, there's a few high-profile apps in it, and yeah, Ruby on Rails got it a lot of attention for quick and dirty web apps, but it has a long way to go before it'll reach anywhere near Perl (or even Python) is.
Most of these points are definitely valid (kudos to ActiveState, yeah parallelism could use a boost, and we're definitely no longer in Kansas when it concerns perl 6).
However, I do agree with the notion that perl should just stay perl. Do we really need opaque objects? hygenic macros?
The backer issue is relevant though. I always wondered if Objective-C would have died off in a corner somewhere if not for the iPhone and Apple backing it. Perhaps strong backing from a powerful modern company would do the trick. I'd cast my vote for Amazon :)
I'm not sure hygienic macros are gonna be that much of a top-seller in user code, I agree. But there are situations where it would be very handy, especially as library developer. Macros would for example make optimized code generation a lot nicer.
I feel it's the same with the work towards a core MOP. It will be hard to convince regular users why the new thing is better, but for people writing extension, auto-documentation tools, or other introspective systems it'd be a huge relief (at least to me). The difference I see is that instead of extending OO in the sense of a framework on top (Object::Tiny, Class::Accessor), you compose in behavioral extensions.
I hope somewhere in the future there will be a point where we can have discussions about things like this without having some people think they can just state "Perl is dead," "Python is the new Perl" or "Ruby is just better." It's fine if that's your opinion, more power to you. But that simply doesn't make it a fact.
The question of the value of technology is a very complicated one. And we'll never be able to work out the good and bad points of the specific dynamic languages, to cooperate and learn from each other, if all discussion gets reduced to trying to make the others look worse. A witty saying never proved anything. At least nothing valuable.
To me, in most cases the witty statements regarding languages (be it Perl 5/6, PHP, Java, or anything else) don't demonstrate insight or experience, but merely a lack of respect for other people's opinions. After all, "they" must recognize that every large enough PHP program is unmaintainable garbage, since "you" were able to recognize that. If they don't, they lack experience. If you can't even imagine that the other party might have a point, you're not trying to have a constructive discussion, but instead are in some kind of a fight for the prize of being right. The problem is, there is no prize. There is no right. Within this game, no-one wins.
To sum up: Less emotion, less absolutism, more technology.
Yes. I don't follow COBOL and can't judge it. If there is a modern COBOL, I certainly won't judge it by the COBOL that existed in the 90s.
To throw the question back: Do you think Lisp is useless because it's old, or do you think the Lisp of the 80s doesn't have that much to do with the Lisp of 2011, even if the syntax didn't change that much?
I think Lisp is still mostly the same as it was in the 80's and even before. But Lisp was always incredibly powerful and still has ideas that haven't reach mainstream yet. Unlike Lisp and COBOL, Lisp still has a few more things to teach us.
If that's your opinion then I hope you're happy with it. I can only tell you that I, my colleagues and many others find great use in Perl, find that it is also very powerful, and continue to further the community, the ecosystem and the core language in anyway we can or enjoy. It solves our problems and it solves them better and better each year.
As I said above, it's about the value of the technology for you, your project and your team. I can't judge what's of value to you, or why something is of value to you. But you can't judge either why or what is valuable to me. We have reasons to use Perl that aren't pure stubbornness.
Edit: Forgot about the Lisp part. I actually believe that in the world of Lisp/Scheme there were many things that changed for the better, and it was driven by developments such as Arc, Clojure, Racket, Guile and so on. There are people that think every Lisp is unmaintainable, slow, outdated, has no libraries, has no community, has an unsupporting community, and so on. And my point is that the answer is always more complicated than just "they are right" or "they are wrong."
You don't need hard quantitative data to note the shift away from Perl to Ruby, Python and PHP. It's also not a purely emotional argument to note that Ruby and Python both cover roughly the same problem domain but with far fewer quirks.
Ruby's tremendous surge of popularity was driven by a new generation of young, passionate developers. I don't see anybody advocating Perl that doesn't already have many years of sunk costs in the language.
If you make an absolute, quantitative statement, you kinda do. If you read what I said below, it's perfectly fine to feel that in your environment there is a shift happening, and I can't judge that. What I'm saying is that you can't extrapolate from that to everybody. And I'm also saying that my and many others opinions differ. All I'm asking for is the minimum respect to not basically call us liars or delusional by implying we just make this stuff up, or are too invested to see the truth.
In my (limited) experience, it is more the anti-crowd that is usually quite invested. Not monetary though, but emotionally invested. Some people in here find it very important that the world hates the things they hate at least as much.
I am teaching myself C++ after this, I want to learn a scripting language. I think I will go for Perl, I want something like Perl because I feel(I don't know), that Perl will not be changing drastically in the following years, that the current userbase and available OSS code is huge and that this will not change any time soon. I also like OpenBSD and it has Perl by default. Anything I should be aware of?
If you want a scripting language you'll save yourself a lot of pain by starting with Python. It's also on OpenBSD isn't it? If not, I'm sure it's trivial to install it there.
That does run into his "will not be changing drastically in the following years" criteria a bit, though.
He can either learn Python 2, in which case he'll have to adjust to Python 3 when it takes off... or he can learn Python 3 and not (yet) have widespread library support.
Learning 2 and then moving to 3 whenever it takes off isn't really that much work, but I can totally understand it having a chilling effect on prospective learners.
Python 3 is hardly drastically different from Python 2. The only real pain point is library incompatibilities. Most of the big changes in Python 3 have been backported to 2 now.
Perl is worth studying for any language afficionado but if a friend asked me today which language to begin with I'd strongly recommend Python over Perl.
If you want to experience a modern Perl, you can use perlbrew[1] to install it for your user only (e.g. you won't need to muck with the system's Perl), cpanm[2] is a modern and easy (and zero-configuration) tool for install modules from CPAN. MetaCPAN[3] is a modern browser for the CPAN archive. Task-*[4] collections are good for finding modules in the ecosystem related to a subcommunity or project. I think Task-Kensho[5] is a good collection of modern Perl modules to start out and try the language. To me, the most influential projects right now are Plack[6]/PSGI[7] and Moose[8].
Community-wise I'd keep an eye on the IronMan aggregator[9] and blogs.perl.org[10].
86 comments
[ 2.8 ms ] story [ 121 ms ] threadWho, besides Larry, can't drag themselves away from hacking on Perl? I'm assuming those people are all employed. If not, we should get them a job!
Perl 5.14.0 represents one year of development since Perl 5.12.0 and contains nearly 550,000 lines of changes across nearly 3,000 files from 150 authors and committers.
ref: https://metacpan.org/module/perl5140delta
And since the 5.14.0 release on 14th May this year development has continued unabated:
ref: Above dates from MetaCPAN and excludes release candidates versions.Disregard him. He sucks candy.
EDIT: The downvotes are acting a ( ) for all the candy suckers. Checkout their useless profiles, and memorize their silly nick's.
ha ha !
Python is huge though. Most people know it, many like it. Though I find far fewer people love python than perl5 or Ruby.
But perl is still there. It's still my tool of choice for most scripting, and for some fundamentally good reasons that are unlikely to change in the near future. Perl scripts fit more naturally into single files. They deal better with the enclosing unix environment (i.e. they expose things like signals instead of trying to abstract them). Operations like pack/unpack and I/O piping work in fewer tokens and more clearly than in other environments.
It's just a great language. It makes me sad that everyone wants to flame about it.
Isn't a good choice for _what_?
One doesn't have to consider "other opinions" or deem them "valid", if one knows them to be wrong. And in our profession we have lots of ways of knowing wrong from right.
Please don't make the mistake of believing a meme.
Most Perl developers are grown-ups who are a) too busy solving problems and b) mature enough to not go and troll every post about a language they don't like.
On the other hand, Perl has attracted a handful of recurring names of amazingly dedicated detractors who seemingly have nothing better to do.
Look out for the sun, I hear it might give you a grayish complexion... :-)
Here you did sweeping personal attacks on Perl programmers, based on some down votes: http://news.ycombinator.com/item?id=3159881
As I suggested, why don't you go to a discussion on Python, or something, and start writing personal attacks there. Then you'll see down votes...
You wrote more than 10% of all comments in that Perl discussion too... Get a life or start writing code for a hobby.
Again, you're projecting. I said "perl fanboys on this site". That's much less broad but you seem to not realize there is anything else?
>start writing personal attacks there
Why do you take fair critiques of the language as personal attacks? I think you need to read pg's essay about ID again.
>Get a life or start writing code for a hobby.
Again with the personal attacks. I have a life and I code for a hobby. That doesn't stop me from correcting fan boys who spread misinformation or distortions of the truth.
Serious criticism like your "With things like this I would like to advocate that Perl be treated as politics" -- over a few down votes?!
That is fair and balanced criticism, not trolling at all..?! Thanks for a good laugh at your chutzpah. Go away.
>>I said "perl fanboys on this site"
Not in this discussion or in the comment I linked to. You said:
perl fans get seriously emotional about perl and start downvoting things they disagree with (much more so than ordinarily happens).
That is a personal attack, without any data, on Perl fans in general. So you flat out lie about what you write, troll.
That was an observation of mine. Perl fanboys are generally not capable of having a dispassionate discussion about perl's faults.
>That is a personal attack, without any data, on Perl fans in general.
Fan = Fanboy. It is a programming language. Being a "fan" of a tool is irrational. One should use the tool that works best (for some definition of best) and when that tool is no longer the best one should switch. Being a "fan" means to follow something even when it's not the best (e.g. Dallas Cowboys fan, even when they hadn't won a game in years). This is an utterly irrational stance for a tool.
By the way, the person who has been issuing the personal attacks here is you with your "go away" and troll accusations. I hope in time you can learn to be more civil in your discussions.
(Why the Hell am I proving things to trolls? :-( )
Edit: And btw, I even irritated pg by arguing with a troll that was arguing quite similar things as danssig, too... :-)
Having seen it, I can't help but say: lol! You took that one sentance to mean pg was upset that you were arguing with trolls? It looks to me like he thought you were trolling! All kinds of other people were still talking to the person you accuse of being a troll but only you got singled out and asked to stop. None of them and not even the alleged troll.
And again it was about perl. I think you seriously need to ask yourself why you're so incredibly sensitive about this subject. No one is criticizing you nor your family. Just a tool that has no feelings or emotions.
You are a liar. Here is his account. It is at Karma -10 and it wasn't used after that troll session.
http://news.ycombinator.com/threads?id=derrickpetzold
He was posting slams of about your level. ("in other words run the f away from Perl if you can unless you are into S&M"). And so on.
>>And again it was about perl.
It is something I use a lot, even for fun. You don't like Perl (not "perl") and write 10-20% of comments in discussions about it.
So you're just bullshitting here, as trolls do. And you got another comment out of me... :-(
Oh my, it seems I've hit a nerve for some reason. In the post where pg called you specially out to stop, other people responded to the "troll". I wonder why it was only you who got singled out.
Further, you're assuming the guy was just a troll. Maybe he came on here, saw that even though this was supposed to be a more sophisticated crowd, there was a lot of perl support here, had one big fight and then decided it wasn't worth his time to bother.
>He was posting slams of about your level.
More misrepresentation from you. Most of his "slams" were a bit over the top, where as I'm just stating facts with less hyperbole than he had.
>You don't like Perl (not "perl") and write 10-20% of comments in discussions about it.
I used perl professional for a torturous 5 years. The internet made the correct decision to move away and I'm not going to stand by and let people use propaganda to bring it back. If you people want to keep on using it, go ahead, but stop dragging new programmers down your career dead-end.
>So you're just bullshitting here, as trolls do. And you got another comment out of me... :-(
The lady doth protest too much, methinks (I really love that one!). I'm having a conversation here. You're constantly screaming "troll! troll!" because you have no useful counter-arguments.
I used perl professional for a torturous 5 years. The internet made the correct decision to move away
stop dragging new programmers down your career dead-end.
I think this is the kind of talk to which reasonable people might object.
You've claimed repeatedly to be serious and only argue facts -- so now you not only lied but admitted to be a liar (in addition to your usual personal attacks; chromatic just noted that you're trolling, which you didn't try to contradict).
But the real problem for HN isn't bad trolls like you, it is fools like me that feed them. Bye.
Citation needed?
>chromatic just noted that you're trolling
Is English your native tongue? He quoted me and then claimed a "reasonable" person would be offended. I pointed out that he's a poor choice to make this call. I don't think a reasonable person would be offended at what I said at all. Only an irrational perl fanboy.
>But the real problem for HN isn't bad trolls like you, it is fools like me that feed them.
I'm not sure "troll" means what you think it does. It doesn't mean someone who has points you don't like but have no good answer for.
>>points you don't like but have no good answer for.
Your "arguments" are personal attacks ("the lady doth protest too much", "irrational perl fanboy", etc, etc) and language slams without motivation (see e.g. list by chromatic).
You have no serious arguments -- e.g. what would be better than CPAN, Moose or MooseX::Declare. (You probably never used them, since you don't even know the name of Perl, but write "perl".)
Thanks for making my weekend, troll.
And here is the crux of the issue, as I've stated in the beginning: you're identifying perl as part of who you are (again, read up pg on ID) and taking negative facts or suggestions as personal attacks. An "irrational perl fanboy" (the only part that would be a "personal attack", though generally directed at unnamed persons) is someone who does this.
>since you don't even know the name of Perl, but write "perl"
lol, I don't know anything about perl because I don't bother myself with your conventions? I don't get why people get sensitive about this triviality. If someone through a fit about people saying LISP instead of lisp or Lisp I would assume they were probably retarded.
Ironically, I probably know perl better than you do. Have you ever written any XS code?
>Thanks for making my weekend, troll.
Again with the personal attacks. Honestly, looking back at this thread you stand out to me as more of a troll. Just as you did in that thread where pg called you out on it.
I took one of your lies and insults (that you had made any "points" I couldn't answer) and you only had more insults and lies.
Enough.
Seriously, some advice -- it is common for some to let out steam by being an asshole to people on the Internet, but your lies and insults doesn't seem like healthy behavior. You should check if you need professional help with whatever ails you.
I'm telling you I see a problem, where I see the problem (you see perl as part of who you are) and you see that as an insult. Or maybe you were even calling my bit about not caring how perl is spelled as an insult?
Insults are obviously your "points"... (chromatic had a similar experience.)
Please talk to a professional. I am serious. You're a bit beyond the usual sad trolls.
That's not what I wrote; you're putting words in my mouth. Even if, as you imply, my brain has been so irreparably damaged by my experience using Perl (among other languages) that I am incapable of rationality, that's still a disingenuous discussion technique.
So if you weren't saying a "reasonable person" would be offended what were you saying exactly? And you accuse me of using "disingenuous discussion techniques"?
This is the same kind of intellectual dishonesty people hate Micheal Moore for. Put some strange part in the movie, which is directing the audience to an obvious conclusion and then claim people are "putting words in my mouth" when they point it out because he never said the specific words.
Extending Perl beyond what Perl is makes Perl something else. Perl 6 is barely Perl in any classical sense.
The "Swiss Army Chainsaw" was never intended to be Java or C#. Its weaknesses, a lack of formal typing, a small, simple set of core data structures, a terse and convoluted syntax, are actually its strengths.
Just as C++ is not really C, and Java is certainly not C++, Perl would be better suited by some kind of successor language that embodies the Perl spirit without having to carry forward on the same code-base or concern itself with legacy. I don't think Perl 6 is this thing.
But I tend to agree that to a large degree, it's done. Many new features that were mentioned would require major overhauls to the language. You can't just bolt "better parallelism" on to a language, for instance. And macros would make what is already a fairly large language even larger, along with the fact that it wouldn't really buy you that much vs. what you can already do.
They would for me.
Another pattern I use quite a bit is to write an parent application class which has the scheduling and task management behaviors of several subclasses (these subclasses each have separate and idempotent behaviors, such as "fetch newest data from remote server" or "republish static data from templates"). Most of the core behavior of each application is "loop over a task queue and process each individual element", the specific details of each task are so different that it's difficult to abstract further to push more behavior into the superclass. I could go further and use more higher-order functions, but there's a point at which you're building up a long chain of closures closing over closures just to avoid writing a loop, and I'm not sure that's practical.
Basically I want parametric custom control flow.
Will be nice to have something like this.
http://news.perlfoundation.org/2011/05/perl-514.html
CloudFoundry seems to be written in Ruby and it looks like a bunch of sys-admin tools.
Chef, Puppet are both written in Ruby and utilized Ruby (or Ruby DSL?).
There's a strong push for Ruby lately and it might be because Ruby is kind of similar to Perl so some sys-admins are okay with that?
Edit: (Python on ubuntu, Powershell on windows, ruby on everything else. Python on ubuntu since it's there out of the box)
And from what i've seen and anecdotally this still seems to be the common case (Java & Perl are the main languages used by companies in the City of London).
But every now and then you will see <insert some new tool> being compared with a <insert classic tool>. And then told since the <insert some new tool> is a little famous now, its likely to replace the <insert classic tool> and that <quote some irrelevant search engine statistic> actually proves <insert classic tool> is dead and <insert some new tool> is actually going to replace the <insert classic tool> in the future.
Then suddenly expect a stream of tweets, blog posts and forum discussions on how useless <insert classic tool is>.
Please replace <insert classic tool> by "Perl","SQL","Php".
Please replace <insert some new tool> by "Python","Ruby","Tcl","NoSQL","Django"..
Please replace <quote some irrelevant search engine statistic> by Google search stats or Tiobe(Which is the same ,but presented differently metric).
While it's good to always review your tools & skills... spending lots of time looking at sparkling new things could be better focused on i) getting work done or ii) improving your proficiency with current tools :)
Sometimes a new tool will come along that truly is a huge improvement on previous tools. But, when those previous tools are "classics", it's pretty rare that the "new" tool is truly that much of an improvement.
There's a reason that these things (bash, sed, awk, perl, SQL, Unix/Linux, etc) are still popular and still going. It's because they're time tested, they're well known, and they work.
When I start writing something, I think about how big I expect it to be. If it's expected to be 50 lines or less, then it's bash for general scripts, and awk for text filtering. If it's expected to be more than 50 lines, I go with Perl. That goes regardless of platform (as it's already available on every *nix platform I use, and Strawberry or ActiveState makes Perl easy to add on Windows).
I'm a sysadmin that does a decent amount of automation and scripting work. Almost all of that is done in Perl. Among the other guys on my team, everyone uses Perl, except for one person who uses Python.
We had one person who came into the team as a Ruby fan. Within 6 months of working with us, she'd become a Perl fan. She told me she'd passed on Perl and gone to Ruby because she'd heard bad things about Perl. After seeing it in use and checking it out a little closer, she realized that almost everything she'd heard "bad" was outdated, incorrect, or overstated.
Outside of my team, I know lots of people who use Perl, a decent number of people who use Python, and a very small number of people who actually use Ruby. Yeah, there's a few high-profile apps in it, and yeah, Ruby on Rails got it a lot of attention for quick and dirty web apps, but it has a long way to go before it'll reach anywhere near Perl (or even Python) is.
However, I do agree with the notion that perl should just stay perl. Do we really need opaque objects? hygenic macros?
The backer issue is relevant though. I always wondered if Objective-C would have died off in a corner somewhere if not for the iPhone and Apple backing it. Perhaps strong backing from a powerful modern company would do the trick. I'd cast my vote for Amazon :)
I feel it's the same with the work towards a core MOP. It will be hard to convince regular users why the new thing is better, but for people writing extension, auto-documentation tools, or other introspective systems it'd be a huge relief (at least to me). The difference I see is that instead of extending OO in the sense of a framework on top (Object::Tiny, Class::Accessor), you compose in behavioral extensions.
The question of the value of technology is a very complicated one. And we'll never be able to work out the good and bad points of the specific dynamic languages, to cooperate and learn from each other, if all discussion gets reduced to trying to make the others look worse. A witty saying never proved anything. At least nothing valuable.
To me, in most cases the witty statements regarding languages (be it Perl 5/6, PHP, Java, or anything else) don't demonstrate insight or experience, but merely a lack of respect for other people's opinions. After all, "they" must recognize that every large enough PHP program is unmaintainable garbage, since "you" were able to recognize that. If they don't, they lack experience. If you can't even imagine that the other party might have a point, you're not trying to have a constructive discussion, but instead are in some kind of a fight for the prize of being right. The problem is, there is no prize. There is no right. Within this game, no-one wins.
To sum up: Less emotion, less absolutism, more technology.
To throw the question back: Do you think Lisp is useless because it's old, or do you think the Lisp of the 80s doesn't have that much to do with the Lisp of 2011, even if the syntax didn't change that much?
As I said above, it's about the value of the technology for you, your project and your team. I can't judge what's of value to you, or why something is of value to you. But you can't judge either why or what is valuable to me. We have reasons to use Perl that aren't pure stubbornness.
Edit: Forgot about the Lisp part. I actually believe that in the world of Lisp/Scheme there were many things that changed for the better, and it was driven by developments such as Arc, Clojure, Racket, Guile and so on. There are people that think every Lisp is unmaintainable, slow, outdated, has no libraries, has no community, has an unsupporting community, and so on. And my point is that the answer is always more complicated than just "they are right" or "they are wrong."
Ruby's tremendous surge of popularity was driven by a new generation of young, passionate developers. I don't see anybody advocating Perl that doesn't already have many years of sunk costs in the language.
If you make an absolute, quantitative statement, you kinda do. If you read what I said below, it's perfectly fine to feel that in your environment there is a shift happening, and I can't judge that. What I'm saying is that you can't extrapolate from that to everybody. And I'm also saying that my and many others opinions differ. All I'm asking for is the minimum respect to not basically call us liars or delusional by implying we just make this stuff up, or are too invested to see the truth.
In my (limited) experience, it is more the anti-crowd that is usually quite invested. Not monetary though, but emotionally invested. Some people in here find it very important that the world hates the things they hate at least as much.
He can either learn Python 2, in which case he'll have to adjust to Python 3 when it takes off... or he can learn Python 3 and not (yet) have widespread library support.
Learning 2 and then moving to 3 whenever it takes off isn't really that much work, but I can totally understand it having a chilling effect on prospective learners.
Perl is worth studying for any language afficionado but if a friend asked me today which language to begin with I'd strongly recommend Python over Perl.
Community-wise I'd keep an eye on the IronMan aggregator[9] and blogs.perl.org[10].
[1] https://metacpan.org/release/App-perlbrew [2] https://metacpan.org/release/App-cpanminus [3] https://metacpan.org/ [4] http://cpan.uwinnipeg.ca/search?query=Task-&mode=dist [5] https://metacpan.org/release/Task-Kensho [6] https://metacpan.org/release/Plack [7] https://metacpan.org/release/PSGI [8] https://metacpan.org/release/Moose [9] http://ironman.enlightenedperl.org/ [10] http://blogs.perl.org/
Not seeing the big disaster here.
Is that level of funding sustainable?