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

Re: Why Perl in 2020

by betmatt (Scribe)
on Jan 04, 2021 at 19:09 UTC ( [id://11126309]=note: print w/replies, xml ) Need Help??


in reply to Why Perl in 2020

From your position I think that your sentiment is correct. A nicely written article. Artisan programmers will surely however only ever make a proportion of the programming work.

I have spent quite a lot of time looking at Python. When I look at Python code I miss Perl's syntax. However I do appreciate the requirements to conformity. The usual problem with programming to 'your own style' is that a lot of the time it is extremely dificult for others to understand 'the code'. That is great if we want to explore the world of possibilities. It does however make Perl a hard sell. This is not just because of academia. It really comes down to the requirements of industry.

When it comes to Raku. I've seen a talk at a Perl conference on this language. Having studied Python I can safely say that Raku looks like a beautiful language. I do believe that Raku and Perl 7 will at some point combine. The reasons. Well. Cloud based computing will necessitate object orientation of Python fame. Raku will offer that. Multicore processors will demand functional programming of the quality of Haskell. Raku will offer that.

I do think that if Perl 5 or 7 works well for you, then carry on using it. Unless you want to do something like AI then keep going with Perl. The reason: People overuse Object Orientation (OO) in my opinion. In such case, your point on migrating from Procedural to OO then becomes valid. Remember this. For Python, if you know and understand OO, then OO is fine. People get tied up in knots with OO because they don't fully understand the theory.

One of the reasons I originally went with Perl was because I didn't think that Java had the right syntax for OO. Python has gone a long way towards fixing that in my view. I think that Raku will learn from Python.

Given all of that I predict that Perl will comeback at some point and take Python's crown.

Replies are listed 'Best First'.
Re^2: Why Perl in 2020
by stevieb (Canon) on Jan 05, 2021 at 16:45 UTC
    "I do believe that Raku and Perl 7 will at some point combine."

    No. Way. In. Hell. We've got 20 years of nonsense trying to separate the two. There is no way they will ever converge.

    "People overuse Object Orientation (OO) in my opinion."

    Would you mind sharing what your opinion actually is? I've got 54 (I think) CPAN distributions, and I'll bet less than 10% are non-OO. Most software in other languages I write in are OO as well. Typically, if I'm not writing low-level hardware interface software in C, I like OO (for the most part). What in your mind defines when OO is being overused?

    "For Python, if you know and understand OO, then OO is fine."

    Python, in-and-of itself, inherently is OO, right to its core. Whether you know and understand OO is irrelevant, because if you're using Python, you are by default using OO even if you don't want to ;)

      Python, in-and-of itself, inherently is OO, right to its core

      Really? Care to elaborate? Note that Matz invented Ruby because he disapproved of Python's OO, as indicated here:

      I was talking with my colleague about the possibility of an object-oriented scripting language. I knew Perl (Perl4, not Perl5), but I didn't like it really, because it had the smell of a toy language (it still has). The object-oriented language seemed very promising. I knew Python then. But I didn't like it, because I didn't think it was a true object-oriented language – OO features appeared to be add-on to the language. As a language maniac and OO fan for 15 years, I really wanted a genuine object-oriented, easy-to-use scripting language. I looked for but couldn't find one. So I decided to make it.

      Matsumoto describes the design of Ruby as being like a simple Lisp language at its core, with an object system like that of Smalltalk, blocks inspired by higher-order functions, and practical utility like that of Perl.

      See also: old stack overflow discussion of Python OO

        His claim is correct in the sense that in Python, everything is an object (see an example).

        Ironically those objects are hidden behind a procedural skin, no doubt because Python was procedural before OOP was bolted on, and they couldn't have two ways to do the same thing :)

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others lurking in the Monastery: (5)
As of 2024-04-18 15:34 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found