DEV Community

Cover image for Don't be a Perl programmer

Don't be a Perl programmer

Dave Cross on March 08, 2021

A couple of weeks ago, I left the biggest Perl group on Facebook. There were several reasons behind this decision, but the final straw was when the...
Collapse
 
joelaberger profile image
Joel Berger

After I learned async/await in javascript, I realized what a game changing feature it was for nonblocking application development and immediately set about trying to bring it to mojolicious. I had a Coro based solution on cpan within a couple months (most of that trying to make the backend pluggable which turns out to have been unnecessary) and then that success pushed me and others to advocate for LeoNerd to make his native implementation (Future::AsyncAwait) reusable enough that Mojo could attach to it.

I never would have had that drive to provide a feature if I hadn't seen how powerful it was elsewhere! Show your love for your favorite language by using others and bringing the best bits back home.

Collapse
 
paddy3118 profile image
Paddy3118

Me, I am a proud member of the Python community and I program in a number of languages including, but not limited to Python, Perl, awk, TCL, C, BASIC, Verilog, VHDL, ...
After working on the Rosettacode.org site for over a decade, I note that many languages have different sweet-spots in many areas. People might pick a language as that which scratches their bigest itch the best, and is half decent in other areas.

Collapse
 
leobm profile image
Felix Wittmann • Edited

I find Perl to solve problems but still very good. In my company, a very large part of the software is still Perl code. To rewrite all that now would not make sense. Maybe a completely new project I would not start with it. I think golang would be an adequate alternative to implement the software we have in Perl. These are mainly system processes, workflows, or transformations of different documents. So far Perl is doing very well in this area.

I find it a bit sad that Perl is often made so bad. Actually, if you make an effort (e.g. coding standards) Perl is a very nice and extremely flexible programming language.

And I've also used almost every known programming language in my career.

Collapse
 
billcosta profile image
Bill Costa

I just retired from a 40+ year programming career. As you might imagine I've had to learn and master a large number of programming languages (at last count, 16). The last third of my employment was programming primarily in Perl, so right now it is the language that by far I am the most fluent. It is a powerful and versatile language and I really enjoy programming in Perl. But if you were to ask me what is my favorite programming language, I'd say it is probably the one I'll learn next. This has almost always been the case.

Collapse
 
jj profile image
Juan Julián Merelo Guervós

So true. I have always said that you shouldn't use a single language to teach anything, even if it's that language. Programmers solve problems, using a variety of languages, and also the technical experience to use the best language in any part of the development: tooling, web, data access... So lots of 👍 to you.

Collapse
 
briandfoy profile image
brian d foy • Edited

I said as much in my response to Nigel Hamilton's Perl and Raku growing as a profession - borrowing hacks from barristers. I've also been hired in similar situations as Dave: I told them I didn't know their tools, and they said that wouldn't be a problem. In a couple months I'm as proficient (usually more) than the the rest of the team. That's not because I'm smart: I just read more of the manuals :)

Collapse
 
jayjeckel profile image
Jay Jeckel

I agree with the point of the article, that a programmer should have as many tools in their toolbox as possible, but I also don't see a problem with a discussion group being devoted to just people programming in perl.

Not every group has to be about enriching the toolbox, some of them can be about discussing and improving your use of a specific kind of screwdriver. People coming into that group to talk about how great hammers are should be shut down as it is off-topic. As soon as a group's admins stop enforcing on-topicness, that group is doomed.

Collapse
 
davorg profile image
Dave Cross

Oh, you're absolutely right. Which I why I didn't say that there shouldn't be a group for programmers who use Perl. In fact I'm a part of many groups that fit that description (including one on Facebook).

My objection was to the name of the group. Language is powerful. And calling the group "Perl programmers" can possibly encourage some of the problems I talk about above. I'd prefer it if the group was called something like "Perl programming".

Collapse
 
jayjeckel profile image
Jay Jeckel

Ah, see I thought the talk of the group's title was a metaphor, and one I think works very well. But if it is an actual objection, then I have to disagree that tiny differences in suffixes are as powerful as you're suggesting. Perl Programmers vs Perl Programming is a distinction without any practical difference.

Thread Thread
 
gluefactory profile image
Matt Freake

As someone who used to code mostly Perl, but now sadly doesn't I'd be interested in a group called "Perl Programming" but not "Perl Programmers" because that's not what I am anymore and it sounds like it would be of interest to those who mostly/completely code Perl

Collapse
 
shixilun profile image
shixilun • Edited

"An experienced programmer should quickly be productive in pretty much any programming language."

Oh if only that were the case. I have many years of experience with Perl and C, yet find little of that transfers to C#, which I have been struggling with for the past three months.

Collapse
 
brunocontrerasmoreira profile image
brunocontrerasmoreira

I completely agree, in fact anyone who has been programming enough time probably had no choice but to learn several languages. In my experience that only makes you stronger and more aware of other ways to solve problems.

Collapse
 
Sloan, the sloth mascot
Comment deleted
Collapse
 
darkwiiplayer profile image
𒎏Wii 🏳️‍⚧️

"May I solve this technical interview problem in Perl?" will also get you kicked out the door fast.

I mean, ideally you can just name a bunch of alternative languages and pick one that the interviewer is somewhat familiar with.

A smart interviewer might even take the chance to ask you which one you'd consider the best choice and why (which is a nice question because it shows lots of things about how knowledgeable you are and your thought process)

Collapse
 
sigzero profile image
sigzero • Edited

So, basically, you're saying to hide your main skill for as long as you can.

I don't think the article says that at all.

Collapse
 
darkwiiplayer profile image
𒎏Wii 🏳️‍⚧️

"Jack of all trades, master of one" is my goal as a programmer. I want to know as much as possible about many different tools and languages, while mastering at least one of them (Lua, in my case).

Collapse
 
kajihanif2 profile image
Kaji Hanif

i really need to help

Collapse
 
yukikimoto profile image
Yuki Kimoto

I agree the point that resolving customer problem is very important for programmer.

Collapse
 
kajihanif2 profile image
Kaji Hanif

hiii please help me on my career

Collapse
 
yukikimoto profile image
Yuki Kimoto

what is happened on facebook perl group? I don't know the detail.