Beefy Boxes and Bandwidth Generously Provided by pair Networks
Don't ask to ask, just ask
 
PerlMonks  

Re^2: Organizational Culture (Part II): Meta Process (BioPerl/PDL/AI/Embedded/GPGPU/Data Science References)

by eyepopslikeamosquito (Archbishop)
on Jun 23, 2021 at 08:34 UTC ( [id://11134196]=note: print w/replies, xml ) Need Help??


in reply to Re: Organizational Culture (Part II): Meta Process
in thread Organizational Culture (Part II): Meta Process

So, that raises the question: did Python win, after all? ... In many of these "Python circles", it seems like programming is not at all an art. Creating a beautiful piece of code is not important in such circles. Self-promoting is.

My personal opinion is that Perl, Python and Ruby are essentially equivalent. At least I enjoy coding in all three ... not so much in Javascript, and especially not PHP.

As noted in the root node, the Why Perl Didn't Win essay argues (convincingly IMHO) that to remain popular over time, a programming language must be compelling for new projects ... while further noting this is not solely a technical concern; it's a concern of the language community and ecosystem.

Curiously, this theory of programming language adoption reminds me of Planck's Principle:

An important scientific innovation rarely makes its way by gradually winning over and converting its opponents: it rarely happens that Saul becomes Paul. What does happen is that its opponents gradually die out, and that the growing generation is familiarized with the ideas from the beginning: another instance of the fact that the future lies with the youth.

-- Planck's Principle (Scientific autobiography, 1950, p.33,97)

BioPerl and PDL

Illustrating community and ecosystem trumping language, notice what a superb job Lincoln Stein did twenty years ago in evangelising Perl and developing quality Perl libraries in the Bioinformatics space. Perl remains compelling in this domain today as indicated by:

For a long list of PDL References see:

See also:

On CPAN:

AI and Machine Learning

Sadly, Perl is way behind in the newer domain of AI and Machine Learning. Googling for Perl books on this topic looks barren ... I further noticed that the Perl books about AI PM question did not receive a single reply.

Googling for Python books on AI and Machine Learning is a totally different story with many recent books available, such as:

and many more ... so if I was embarking on an AI and Machine Learning career today, I'd choose Python, not Perl. This is a specific example of why Perl is losing market share.

BTW, I used to work with a PhD AI researcher (and novice computer programmer) and she did most of her research using Python AI libraries utilising GPGPU.

AI References:

  • AI::MXNet and other modules in the CPAN AI namespace.

  • Re^4: The recent outage by marto (2024) - They, and every other party involved in the great AI grift need content to feed their llms
  • SO and AI by stevieb (2024) - Stack just monetized all of the data that we, as public advocates of free information, provided

Array Processing/HPC/GPGPU/CUDA References

  • Perl GPGPU Modules by kcott (2021) - hunting around for (production-grade) modules providing GPGPU bindings or interface

  • NVIDIA HPC SDK Version 24.3 Documentation (nvc++ is a C++17 compiler for NVIDIA GPUs and AMD, Intel, OpenPOWER, and Arm CPUs. It invokes the C++ compiler, assembler, and linker for the target processors with options derived from its command line arguments. nvc++ supports ISO C++17, supports GPU and multicore CPU programming with C++17 parallel algorithms, OpenACC, and OpenMP)
  • The three compilers used by marioroy in Long List is Long are g++, clang++, nvc++; I also used Google abseil library (see also).

GNU Scientific Library

Mathematical

Statistics:

  • Statistics::Descriptive by Shlomi Fish - module of basic descriptive statistical functions
  • PDL::Stats - a collection of statistics modules in Perl Data Language, with a quick-start guide for non-PDL people

Embedded

Other

I originally missed other Perl strengths in the Scientific Computing domain:

Graphics:

Astronomy:

Other:

  • Algorithm::BitVector by Avinash Kak - A memory efficient packed representation of arbitrary sized bit arrays and for logical and arithmetic operations on such arrays
  • Bit::Vector by Steffen Beyer - Efficient bit vector, set of integers and "big int" math library

Science Perl Committee

  • UCL Software Database - UCL is London's leading multidisciplinary university, with more than 16,000 staff and 50,000 students from over 150 different countries (BioPerl is in its software database for students and staff)

Other Perl Organisations

See also : Re: Perlmongers (was: Re^5: Editing node titles w.r.t. Perl 6 (communities)) - London.pm (Perl Mongers and Conference References)

Some Perl Monks interested in using Perl in Science

See Also

Updated: Many references added long after the original reply was made. Dec 2022: moved some PDL links to Re: first stumbling steps in PDL (PDL References). Dec 2023: Added Planck's Principle analogy.

  • Comment on Re^2: Organizational Culture (Part II): Meta Process (BioPerl/PDL/AI/Embedded/GPGPU/Data Science References)
  • Select or Download Code

Replies are listed 'Best First'.
Re^3: Organizational Culture (Part II): Meta Process
by hrcerq (Monk) on Jun 26, 2021 at 15:14 UTC
    My personal opinion is that Perl, Python and Ruby are essentially equivalent. At least I enjoy coding in all three ...

    Yes, I can understand that, and I also enjoy Python (not as much as in past days, and not as much as Perl, but I still do). I hope my comments don't sound like I have anything against Python or its community as a whole. That was not intended.

    Glad you mentioned this node. Makes perfect sense, actually. As stated there,

    ... they blame the language for the messes created by people who didn't know what they were doing ...

    So, that should remind us that writing poor programs just to get stuff done may give a bad reputation to the language and its community. It happened to Perl in the past, and seems like it's happening to Python now. Copy/paste isn't just ugly programming practice. It'll harm someone, eventually.

    ... if I was embarking on an AI and Machine Learning career today, I'd choose Python, not Perl. ...

    Indeed, there's a thriving AI/ML community among Python developers. I wish I could say the same for Perl.

    return on_success() or die;

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://11134196]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others admiring the Monastery: (3)
As of 2025-07-09 22:17 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found

    Notices?
    erzuuliAnonymous Monks are no longer allowed to use Super Search, due to an excessive use of this resource by robots.