8 ms·
Why is Funding Perl Core Development So Difficult?
- ezyang 15y agoThere 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.
- erikpukinskis 15y agoThere 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!
- draegtun 15y agoWhile 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. ref: https://metacpan.org/module/perl5140delta https://metacpan.org/module/perl5140delta 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.
- bazquz 15y agoSomeone is going to say -- "perl ? Does any one use it ? I had to maintain a project in perl 6 years back and I absolutely hated it ..." 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 !
- dextorious 15y agoYeah, but if you get one of those responses to every post about your language/framework of choice, then maybe it's time to read the signs on the wall.
- bazquz 15y agoWhat's your favorite candy ?
- cageface 15y agoLet'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.
- absconditus 15y agoOutside of the start-up world Perl is still heavily used and Ruby is probably not quite as popular as you believe.
- ajross 15y agoIn 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.
- astrodust 15y agoIn 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.
- jerf 15y agoPerl 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.
- chromatic 15y ago... 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.
- jerf 15y agoYou 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.)
- 15y ago
- DanielShir 15y agoMost 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 :)
- phaylon 15y agoI'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.
- phaylon 15y agoI 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.
- danssig 15y agoSubstitute COBOL for Perl in your post and read it again. Do you still agree?
- phaylon 15y agoYes. 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?
- danssig 15y agoI 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.
- jorgecastillo 15y agoI 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?
- danssig 15y agoIf 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.
- kemayo 15y agoThat 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.
- cageface 15y agoPython 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.
- protomyth 15y agoPython is in the ports / packages for OpenBSD.
- phaylon 15y agoIf 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]. [1] https://metacpan.org/release/App-perlbrew https://metacpan.org/release/App-perlbrew [2] https://metacpan.org/release/App-cpanminus https://metacpan.org/release/App-cpanminus [3] https://metacpan.org/ https://metacpan.org/ [4] http://cpan.uwinnipeg.ca/search?query=Task-&mode=dist http://cpan.uwinnipeg.ca/search?query=Task-&mode=dist [5] https://metacpan.org/release/Task-Kensho https://metacpan.org/release/Task-Kensho [6] https://metacpan.org/release/Plack https://metacpan.org/release/Plack [7] https://metacpan.org/release/PSGI https://metacpan.org/release/PSGI [8] https://metacpan.org/release/Moose https://metacpan.org/release/Moose [9] http://ironman.enlightenedperl.org/ http://ironman.enlightenedperl.org/ [10] http://blogs.perl.org/ http://blogs.perl.org/
- mst 15y agoWe got $30k donated in three days. Not seeing the big disaster here.
- chromatic 15y agoHow much of your time does $30k buy? It's not enough to buy a single full-time developer for a year in the US. Is that level of funding sustainable?