8 ms·
I've been maintaining a large perl codebase that I and some friends wrote for 20 years now. It sure has some cruft, but I am often blown away by how massively p
by yobert 5y ago
I've been maintaining a large perl codebase that I and some friends wrote for 20 years now. It sure has some cruft, but I am often blown away by how massively productive I am in it. And in 20 years, Perl has never broken compatibility for us that I know of. (Though a few spooky CPAN that relied on unsafe internals did require fixing.)
One interesting thing I've noticed about perl is that almost all the examples of how to do something online are absolutely terrible. Our codebase is good because we learned how to write perl clearly, and it looks nothing like how we started out from examples.
Anyways, I don't really have a point, except to say Perl really is amazing, even if it's not really growing nowadays. I think it will be around for ages to come.
- cglong 5y agoDo you have any good examples of how to get started with Perl?
- eCa 5y agoSlightly related to your question, if you do get started with Perl you might find Task::Kensho[1] useful. It is a curated list of recommended CPAN[2][3] distributions for various tasks. CPAN is vast, so it is useful also as an introduction to CPAN itself. [1] https://metacpan.org/pod/Task::Kensho https://metacpan.org/pod/Task::Kensho [2] https://metacpan.org/ https://metacpan.org/ [3] https://en.wikipedia.org/wiki/CPAN https://en.wikipedia.org/wiki/CPAN
- walterbell 5y agoIs there a good chance of those distributions supporting Perl 7?
- eCa 5y agoI would presume that most (if not all) code that runs on Perl5 v32 will also work on Perl7. (Based on what I know about the plans for Perl7.)
- kbenson 5y agoI wish I could be confident that Perl 7 was actually going to see the light of day. Honestly, I was extremely excited when they announced it, and hoped it could make a real difference. The lack of real status information since then (even past the proposed initial release date) along with the implosion of the a lot of the core community and steering, is honestly what finally broke me from thinking anything could be salvaged for the future. If Perl 7 is actually still coming and there's real progress there, then there's a spectacular messaging fail going on. Perl's been my go-to language for well over 20 years, and it's the first thing I reach for when writing anything new. The problem is I'm having a harder and harder time justifying that decision. I built something small with Deno for the first time a few months back because I both wanted to try out typescript and I wanted something that I could easily turn into an executable on windows. The built in features (compile to an executable, limited security exposure based on runtime flags) and the ability to go far past JS because it as TypeScript built in all put a lot of stuff with Perl in stark relief. These are features you get when you have people actively trying to solve people's problems, iterating on substantial new and better things, and you have users (or potential users) with problems to solve. Perl 7 is/was possibly Perl's last chance to pull itself out of the ashes and try to offer something new to pull new people in and bring old users back, and I'm just not sure there's enough of a community left to pull it off. That's extremely sad, but ignoring it won't make it any less true as I see it. Hopefully I'm wrong.
- Grinnz 5y agoThe original proposal for Perl 7 was good at grabbing attention, but not good at being something that could reasonably be accomplished by the current set of core developers - it would require either maintenance of two forks of the language (not feasible), or sunsetting of Perl 5 (risking it all on unlikely adoption and migration to the new fork, and likely losing several volunteer developers). The current status is, roughly, planning for Perl 7 to be a compatible release with good features, and waiting until such a featureset is ready. See https://perl7faq.grinnz.com https://perl7faq.grinnz.com
- kbenson 5y ago
- Farow 5y agoYou can start from the official tutorial: https://perldoc.perl.org/perlintro https://perldoc.perl.org/perlintro
- hkt 5y agoIs the camel book (o'reilly) still relevant? I found it really helpful back in the day.
- asicsp 5y ago8th edition was released this August: https://www.oreilly.com/library/view/learning-perl-8th/9781492094944/ https://www.oreilly.com/library/view/learning-perl-8th/97814...
- roywashere 5y agoAlso: Modern Perl, 4th edition http://modernperlbooks.com/books/modern_perl_2016/index.html http://modernperlbooks.com/books/modern_perl_2016/index.html
- markoman 5y agoYes, this is "the Llama book" -- Learning Perl. Next to read would probably be Intermediate Perl, and then probably "the Camel book", which is Programming Perl.
- pkrumins 5y agoWorld's #1 Perl advocate and fan checking in. Start with the greatest books every written: Programming Perl - https://www.oreilly.com/library/view/programming-perl-4th/9781449321451/ https://www.oreilly.com/library/view/programming-perl-4th/97... Continue with the second greatest book ever written: Intermediate Perl - https://www.oreilly.com/library/view/intermediate-perl/0596102062/ https://www.oreilly.com/library/view/intermediate-perl/05961... Followed by equally amazing book by the greatest programmer in the world: Higher Order Perl - https://hop.perl.plover.com/ https://hop.perl.plover.com/ And of course: Mastering Perl - https://www.oreilly.com/library/view/mastering-perl/9780596527242/ https://www.oreilly.com/library/view/mastering-perl/97805965... To get super quick in the command line, also you might want to get my book: Perl One-Liners Explained - https://nostarch.com/perloneliners https://nostarch.com/perloneliners Finally, join #perl on Libera Chat. AS A NEW USER WE LOVE YOU WITH GREAT HUGE LOVE. (Also screw all Python programmers, what a bunch of losers with their indenting rules and PEPs. Weirdos. Whenever you hear somone say Python is good or interesting, run.)
- Grinnz 5y agoFor the record, shitting on other languages does not represent the values of Libera #perl. Though I personally would not use python or PHP, use whatever gets the job done.
- bloopernova 5y agoI unabashedly love this comment. As a somewhat "new" sysadmin/coder back in the early 2000s, those blue O'Reilly books were like a business card, comfort blanket, and encyclopedia all in one. I'd add "Mastering Regular Expressions" and maybe "Perl Best Practices". Oh and definitely "The Perl Cookbook", because it mirrored the way I learn best; from needing to do "a thing" and finding an example that mostly fits what I need.
- pkrumins 5y agoYESSSSSSSSSSSSSSSSSSS
- 5y ago
- citrin_ru 5y agohttp://modernperlbooks.com/ http://modernperlbooks.com/ is a good introduction to the language
- AceJohnny2 5y ago> One interesting thing I've noticed about perl is that almost all the examples of how to do something online are absolutely terrible. Yeah, that's definitely a problem with systems that have evolved over so long. I feel like C++ is kind of in the same boat: certainly what I learned 20 years ago is not relevant to how its done today. The Internet is a wide repository of knowledge, but Perl really needs a "How To Perl in the 2020s" repository. A book would be good, but for wide reach, it'd really need to be online.
- tzs 5y ago> I feel like C++ is kind of in the same boat: certainly what I learned 20 years ago is not relevant to how its done today I'd like to see a site, perhaps a wiki, that has sections for various technologies (programming languages, operating system, applications, frameworks, libraries, protocols, etc). For each, it would have some sort of list that lets you tell what from X years ago is still relevant when using that technology today. In particular, I'd like it to include a list of good past books on that technology and for each tell you what from it would still be applicable as is, what would require minor modifications, what would not be useful, and what would be harmful if you were to try to use that book to learn that technology at the level covered by that book. For example, it has been 20 years since I did any serious low level networking. If for some reason I needed to get back up to speed on that for some new project could I reasonably start by grabbing my copies of Stevens' "TCP/IP Illustrated" series [1] from my library and rereading them? [1] https://en.wikipedia.org/wiki/TCP/IP_Illustrated https://en.wikipedia.org/wiki/TCP/IP_Illustrated
- newsclues 5y agoI think the programmers toolbox/toolbelt can be seriously improved by starting with education. I’m in college and just took a course including Perl and I suggested to the instructor that students get taught functional programming skills through real life applications that are progressive learning skills.
- popcube 5y agomaybe stack overflow will reach this condition
- Siira 5y agoMy biggest problem with Perl is setting its PATH correctly. Each upgrade breaks it. (I use Homebrew to install Perl.) How do I tell it to just put shims in ~/perlBin?
- bmn__ 5y agoThat's Homebrew's fault, not Perl's. This does not happen on other platforms. You can use a known good env manager like perlbrew, perlenv, bootstrap-perl, perlall to work around the problem you're seeing until HB is fixed.