Beefy Boxes and Bandwidth Generously Provided by pair Networks
good chemistry is complicated,
and a little bit messy -LW
 
PerlMonks  

Re: Why Perl in 2020

by Leitz (Scribe)
on Dec 11, 2020 at 16:51 UTC ( [id://11125015]=note: print w/replies, xml ) Need Help??


in reply to Why Perl in 2020

Virtualization is very useful for application isolation. Bare metal doesn't work for most applications; the cost in hardware overhead is high and the utilization is often sub 10%. Yet the application must be isolated from other applications for security or configuration reasons. Some things run better on bare metal, but the datacenter cost can be very high for medium to large companies.

Perl is very much a write-only language for most programmers, and even many Perl programmers. If the average coder has to mentally parse several sigils, matrix that with context, and then look deep into a subroutine to see what is done with a variable, it's not a good thing for the programmer. It can be done, and I'm sure those who live and breathe deep Perl on a daily basis can mentally parse things much faster. Most of us can't do that. We can parse things in our spoken language because we have lived in it for years. Yet we still miscommunicate and misunderstand. We spend hours trying to find some way to write a test for some undocumented subroutine that's a hundred lines long and heavily interdependent with other subroutines that make no more sense than this one.

Your post makes me think you're a skilled Perl programmer. Perl is a great language that can solve a lot of issues. The more we understand why "they" are making choices we feel could be done better, the more we can help them see why Perl might be a good fit for them. You have the ability to solve a lot of problems with Perl, probably moreso than many of us.

Replies are listed 'Best First'.
Re^2: Why Perl in 2020
by shmem (Chancellor) on Jan 05, 2021 at 13:09 UTC
    Perl is very much a write-only language for most programmers, and even many Perl programmers.

    This argument always struck me as being plain silly. That's like saying that I write some text in German, and am later unable to read it because it is not English. Or that writing something now means misunderstanding myself in the future. Sure, every outside is a more or less gross misunderstanding of an inside, not only when it comes to e.g. giving account of one self, but that's not the point here.

    If I talk with my Syrian or Turkish fellows, hearing their particular use of the german language, I can understand them and adapt to their peculiar, sometimes funny, constructs; and by talking likewise and applying sparse corrections I can gently lead them to a better understanding of the language.

    Talking with speakers of the various german dialects, I can understand them (if not, I ask), but I wouldn't be able to express myself the same way without picking up not only their accent, but a plethora of other idiosyncrasities as well. And yet that's all german.

    If the average coder has to mentally parse several sigils, matrix that with context, and then look deep into a subroutine to see what is done with a variable, it's not a good thing for the programmer. It can be done, and I'm sure those who live and breathe deep Perl on a daily basis can mentally parse things much faster. Most of us can't do that. We can parse things in our spoken language because we have lived in it for years. Yet we still miscommunicate and misunderstand. We spend hours trying to find some way to write a test for some undocumented subroutine that's a hundred lines long and heavily interdependent with other subroutines that make no more sense than this one.

    Same goes for other languages without sigils: look deep into a subroutine to see what is done with it. But if I see a bare identifier in, say, C or python, I have to look up declaration and typedef: is it a char *, a dictionary, a function pointer, a struct? Sigils tell me clearly what type of variable this thingy is, and if it is a reference, the deref, its usage, tells me what's inside.

    Complex things are complex, in any poorly written program in any language you can find yourself struggling with an undocumented subroutine that's a hundred lines long and heavily interdependent - that's not a perl feature. Yet perl is immensely more parseable than other languages whithout sigils - because of the sigils!

    There are people which can read a page of C code at a glance and understand what happens - I can't for lack of training, but surely can do with perl code.

    perl -le'print map{pack c,($-++?1:13)+ord}split//,ESEL'

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others contemplating the Monastery: (5)
As of 2024-04-24 07:40 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found