Problems? Is your data what you think it is? | |
PerlMonks |
Re^4: Curious about Perl's strengths in 2018 -- freedomby Crosis (Beadle) |
on Apr 12, 2018 at 08:49 UTC ( [id://1212727]=note: print w/replies, xml ) | Need Help?? |
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.
In Section
Meditations
|
|