http://qs321.pair.com?node_id=1212717


in reply to Curious about Perl's strengths in 2018

Hello Crosis and welcome to the monastery and (back) to the wonderful world of Perl!

Perl shines as always.. while I'm not the best monk here around to do comparison with other language for sue I can say that one of Perl strenght will be immutable and will persist over decades: it's a glue language.

The job, using Perl, is quickly done. This means that you have a working thing very soon and you can grow it up as you want.

Perl still rules in system administration: it is present in virtually all Linux systems and is easy to have on win32 systems: strawberry perl is almost equal to deal with as perl on Linux.

Dont forget a lovely community! see Why does it seem as though Perl has the only community of friendly, non patronizing or demeaning, programmers? What is with every one else?

You can be interested also in this Some Help for a Report About Perl and this dev.to article

As new things in CPAN you can look at Plack PSGI (the new web Perl standard) and new webframework Mojolicious Dancer2

I suggest you to see also MCE the many core engine for perl

L*

There are no rules, there are no thumbs..
Reinvent the wheel, then learn The Wheel; may be one day you reinvent one of THE WHEELS.

Replies are listed 'Best First'.
Re^2: Curious about Perl's strengths in 2018
by Crosis (Beadle) on Apr 12, 2018 at 07:28 UTC

    I don't deal with Windows very much but the point about system administration is well-taken. Maybe the situation is a bit analogous to being able to use vanilla vi? (I prefer to use Vim of course.) In the Unix world, at least, no matter where you go, vi is there. The same is true of Perl. I was also glad to hear that there's nice new shiny stuff on CPAN these days.

    However, not to be antagonistic, but the strength of "whipupitude" is something that Python and other, similar languages (at this point most prominently Ruby and JavaScript) certainly have to about the same degree as Perl. It's why I asked about more unique strengths of Perl in the present time.

    Community is certainly a more intangible but no less vital asset. I've seen "what is with everyone else?" and have occasionally been guilty of it. But for the most part I try not to be too much of a dillhole. When I'm dealing with intelligent people, as in a place like this, that goal becomes much easier to achieve.

      > unique strengths of Perl in the present time

      I wonder about the meaning of this: probably there are no unique strengths in Perl that are not present in other laguages. Perl has for sure the richiest regex system but almost all other languas have something working.

      Perl makes a big effort to support unicode but is, iirc, not the best laguage in this respect.

      Perl lets you to program in a OO style but does not force you to do so. Perl allows parallelism...

      I've already said: I'm not the best monk to do comparison between programming languages. Infact I took Perl many years ago and never felt the necessity to use something else: perl let me the possibility to do almost everything I imagine (and I have a big imagination) and do it the way I like. Probably this is the best thing I perceive about the language: freedom.

      Maybe this freedom born with perl itself in a gold age, before computer science was fagocitated by new economy. See this interesting post

      L*

      There are no rules, there are no thumbs..
      Reinvent the wheel, then learn The Wheel; may be one day you reinvent one of THE WHEELS.

        I believe Perl actually is the best language for Unicode support and regular expressions. merlyn worked out a chart of it for all the major languages a few years ago so it may not be true today but I know every new release stays on top of the Unicode Consortium standards so I expect it hasn't changed. I also believe Perl to be the best command line language and the best prototyping language. As far as core language features go, I personally feel Perl is the head of the pack. It is applications and packages in areas of current interest, as mentioned in the OP, where Perl is increasingly in the rear view mirror.

        Perl definitely deserves a lot of credit for innovations in regular expressions that everyone else has since adopted.

        I don't know about Perl Unicode support offhand. I remember there were things that absolutely sucked about Python Unicode support in the 2.x days—I had to set PYTHONIOENCODING=utf-8 for programs with Unicode output or I'd get a nasty fatal error. Since Python 3 these issues have disappeared. Ruby also used to have issues with Unicode, which strikes me funny because the creator is from Japan, but as far as I know they've been squared away.

        Python doesn't enforce OO like Java does. You can mix traditional imperative, OO and functional styles to your heart's content. As far as parallelism is concerned, Python has a global interpreter lock, which hampers native threading. Extensions written in C or C++ can circumvent this and have no issues if you're careful. It's also possible to circumvent the GIL in Cython, presumably with the same caveats. (I haven't used Cython.)

        Your point about freedom isn't lost on me. I remember feeling the same way when I was at the height of my Perl proficiency, years ago. I didn't lose too much when I drifted to Python though. It really all depends on what you're doing. Machine learning is an area where Python is particular strong. The most central library is scikit-learn, which is implemented in part on the dependencies numpy and scipy, whose most critical elements are written in C, C++ and Fortran. The end result is a package as convenient as anything else in a very high-level language, yet nearly as efficient as the systems programming languages that are used to optimize the most intensive parts of the process. There isn't anything that really compares to this in Perl (or Ruby or JavaScript, for that matter) but if you're in some other domain and you really like aspects of Perl where this third-party support is not essential then you can definitely have a ball with it!

        I looked at the post you linked and I'm not sure what to think. I'm not any huge fan of capitalism but I'm not sure it can be blamed for crummy programming languages. At one point, Perl was very much in favor in capitalistic terms. Now, JavaScript is more in vogue in the capitalistic marketplace and it has features that the author of the post exalts. strict not being enforced is one example: ES6 has strict, inspired by Perl, but it's not required. "And it's also interesting that most Perl OOP tutorials ground you with 'Perl OOP is nothing but a blessed hash ...'" is more or less equally true of JavaScript objects. Basically they're a glorified dictionary (or hash) and the only really important elaboration upon this is the prototype system, which came from Self, a language that I'm not aware was ever very commercially successful. The author is also not happy about Java. Some things about Java are pretty gross and there's too much boilerplate but Java 8 was a definite step up and there are a number of languages on the JVM, most notably Scala and Clojure, that aim to have many of the advantages of Java but much more expressiveness and convenience. As far as I can tell they are having some commercial success.