5 ms·
Article's conclusion: After a short lapse, Perl development is picking up and enthusiasm for Perl 5 is as strong as ever. I would agree. A little over a decad
by gamache 16y ago
Article's conclusion: After a short lapse, Perl development is picking up and enthusiasm for Perl 5 is as strong as ever.
I would agree. A little over a decade ago, Perl suffered from the same problems which plagued JavaScript in its early days: ease of writing shitty code, mountains of shitty sample code, and a community which did not vehemently encourage the writing of unshitty code.
This caused a backlash which lasted several years, during which the programming public panned the languages almost universally.
But a funny thing happened; rather than shriveling up and going away, the languages and their practitioners matured. Community focus became less centered on glue code and scrolling effects, and attention was shifted to writing clean, maintainable code which uses the language's best features (metaprogramming, easy hash/object manipulation, etc) in manageable, modular ways.
Now both ecosystems are flourishing, and though Perl doesn't have quite the install base of JavaScript, it's still a viable contender to Ruby and Python in their areas of expertise, and it can be called the best tool for some of those jobs.
- plinkplonk 16y ago"Perl development is picking up and enthusiasm for Perl 5 is as strong as ever." I will take your word for it, but I do have to say (speaking as someone with a lot of grey in his hair) that I haven't seen a young developer choose to work primarily in perl (over ruby or Python or Java or C#) in ages. Most new projects/startups don't seem to choose perl as their primary language. I readily concede that this is probably an artifact of my limited experience with perl. Just noting what I see, not looking for a flame war. How many of YC companies use perl do you think?
- gamache 16y agoYou have a good point that Perl doesn't have great adoption with young'uns. I think we'd see more Perl usage if Ruby didn't exist; Ruby borrowed some of Perl's most attractive features and is rightly popular for it. By the numbers, though, I still agree with the quoted statement. Perl development is picking up compared to the past few years, and enthusiasm for Perl 5 is the strongest it's been (at least since 5.0).
- bmj 16y agoPerhaps it's not as popular because it doesn't have One True Web Framework, which is what the young'uns use these days, right? I know Catalyst and Mason are both very nice frameworks, but they don't come rolled with a base Perl installation.
- gamache 16y agoRails is the main driver behind Ruby's success, true. And it really is a nice framework. However, Rails doesn't come rolled with a standard Ruby installation either, and 'gem install rails' is no easier or harder than 'cpan -i Catalyst::Devel'. Interestingly, I notice many of the new Rails 3.0 features -- most notably composable set algebra and increased modularity -- are features which drew me to Catalyst+DBIx::Class. I haven't worked with Rails 3 in detail yet, but I have some Rails work coming up in the next few months and I am excited to compare and contrast.
- TrevorBramble 16y ago'gem install rails' is no easier or harder than 'cpan -i Catalyst::Devel' ...Perhaps from your perspective.
- sreque 16y agoOlder people use it is because they don't want to change or learn something new. Especially in a company already entrenched in Perl development, their is little benefit to switching to a better language compared to the cost of forcing people to learn a whole new technology stack when they are more than content with Perl. However, new companies are much more free to build on whatever technology stack is most appropriate. I've also noticed over time that lots of non-CS majors can and do program in scripting languages because they are relatively easy to pick up and get things done with. These people are usually more aligned with an IT career in that scripting constitutes only a fraction of their job. If they happen to learn Perl and PHP first, then that is what they stick with. These people may like to program, but it is not the favorite part of their job and they have other work activities they enjoy more. More importantly, they know little to nothing about software design principles and are not interested in improving their software development skills. They would rather spend their time learning about something else that interests them more. Therefore, they don't even know how to appreciate the advantages more modern scripting languages offer. To these people, languages like Perl are more than sufficient to get their job done, and they are probably right. However, as people who know better, I believe we should be encouraging better languages in a friendly way whenever possible. When my IT friends ask me about any questions related to programming, I usually try to point them to Python or Ruby for a solution. If they are asking questions they are probably interested in learning something new! edit: changed wording based on reply from gamache.
- gamache 16y agoI disagree with your implication that Perl is suitable for newbs but should be discarded for "better languages" by people who are interested in learning. In fact I would invert your statement: I think Perl is not a good choice for people without good programming habits, but for those who know how to use it, it offers more power of expression than most of its peers. (Also, datum: count me in as an "older person" preferring Perl for most tasks despite knowing Ruby, Python, JS and half a dozen other languages.)
- sreque 16y agoI never meant to imply that Perl is suitable for newbs, but rather most scripting languages are. I would much rather newbs learn another language, in fact. I changed my wording in my original post to reflect that. Also, for my background, I learned Perl as my first scripting language and after writing a ~1k line code project in it, decided that for anything over 200 lines I would rather use Java. Later when I learned Python I was vindicated in that almost everything I instinctively disliked about Perl was absent in Python. Since then I have learned many other languages as well, and I also know Perl the language better than most of my co-workers
- mock 16y agoYou might just not be in the right echo chamber. In the last few years I've been in several startups where perl is the primary development language. Most of the people we hired were in their mid twenties to mid thirties, which seems about what you'd expect for startups. HN seems to be a hangout for lots of python (and lisp, and ruby) people, but less so for perl and php people. Obviously I do hang out in the right echo chambers, which is probably why my experience differs.
- evgen 16y agoAs a counter-example, the previous startup I worked at was a medium-sized perl shop in SV. They had an incredibly hard time recruiting high-quality engineers. Finding good coders who were proficient in perl was a rarity and it seemed as though all of the various perl shops were fighting over these people when they hit the market; finding interns and recent college grads who either knew perl or were willing to spend the time to learn it was almost impossible. From what I saw the pool of perl talent was just not as broad as people claim.
- mock 16y agoI haven't ever had problems hiring good perl people for the startups I've founded. But that may just be the area (Vancouver has a bunch of really good perl people). Also I try to only do cool things and treat people well. ;-) I see your point about talent though. There are quite a few really good perl programmers, and a lot of "I once wrote a script in that" types, but not many in the middle. In some ways this is a strength - if you're programming in perl these days, odds are you've stuck with it because you actually like the language, so you're probably pretty good at it. On the other hand, it's not taught in school, so unless folks learn it on their own or on the job, there might be a real lack of new talent coming up the ranks. As a programmer for hire, I can't complain about the wages. As an entrepreneur, I know where to find the good people, so it's not really a problem for me. (I would also point out that any good programmer or intern/recent college grad who wishes to become a good programmer should always be willing to learn a new language on the company's tab. If they aren't, that probably says more about them than the language).
- adam-_- 16y agoI am a young developer working primarily in Perl. Reasons? Friendly, knowledgable community. CPAN and Catalyst. Admittedly I don't know any other [under]graduates using Perl (outside of bio/geology).
- bobbyi 16y agoease of writing shitty code, mountains of shitty sample code, and a community which did not vehemently encourage the writing of unshitty code. This caused a backlash which lasted several years, during which the programming public panned the languages almost universally. That's not how I remember it. Perl usage started to really fall off when PHP became popular and replaced modperl/ cgi scripts as the common way of throwing together a dynamic webpage. PHP is a language famous for letting people write shitty code and having a "community" that doesn't discourage it.
- gamache 16y agoPerl usage on the web began to fall off due in part to PHP, but you're neglecting the huge amount of Perl used in text processing, system administration, automation, even the sciences. PHP is (very mildly) comparable to Perl's Mason template engine, if Mason were the only way to use Perl.
- bobbyi 16y agoyou're neglecting the huge amount of Perl used in text processing, system administration, automation, even the sciences Are you saying that perl usage had started to fall off in these areas before it lost its crown as the lingua franca of the web? Possible, but again that is not how I remember it rolling out.
- sabat 16y agoenthusiasm for Perl 5 is as strong as ever That's probably something of an overstatement, but I've written Perl in the past months for gigs, even though I have long abandoned it for Ruby. I don't know that I'd call the general interest in Perl5 "enthusiasm" -- that's a word I'd save for Ruby/RoR and maybe Python and DJ Ango. ;-p :-) Perl5 is mature. There are modules for anything you can imagine, and most seem to be well-maintained. It's still useful, if someone antiquated in feel. Perl6: that's another story. It's DOA. People will point to this implementation and that one, but the lack of a reference implementation, along with the long development time, makes Perl6 the Duke Nukem Forever of scripting.