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


in reply to Re^3: Curious about Perl's strengths in 2018
in thread Curious about Perl's strengths in 2018

AFAIK Smalltalk was the biggest influence on the design of Ruby.

  • Comment on Re^4: Curious about Perl's strengths in 2018

Replies are listed 'Best First'.
Re^5: Curious about Perl's strengths in 2018
by eyepopslikeamosquito (Archbishop) on Apr 13, 2018 at 11:29 UTC

    Quoting Matz from An Interview with the creator of Ruby (2001):

    I wanted a scripting language that was more powerful than Perl, and more object-oriented than Python. What bits of Perl did you incorporate in Ruby? A lot. Ruby's class library is an object-oriented reorganization of Perl functionality--plus some Smalltalk and Lisp stuff. I used too much I guess. I shouldn't have inherited $_, $&, and the other, ugly style variables. How about Python? What aspects of that language did you try to reuse in Ruby? Far less than Perl. But I stole a few things, like exception names. Plus I learned a lot from its code.

    From the same article:

    Ruby is two parts Perl, one part Python, and one part Smalltalk, says Colin Steele

        Though a lot of stealing goes on between language designers, they often regret it later. Matz wished he never stole Perl's "ugly" $ sigils for Ruby, while in Larry Wall: Perl vs Python 11th State of the Onion Larry regrets stealing Python's object model:

        I don't really know much about Python. I only stole its object system for Perl 5. I have since repented.

        Why has Larry repented? A clue may be given in Slashdot interview with Larry Wall:

        But I think the success of Python has mostly to do with being light enough in its OO model that it could move into some ecological niches more quickly than the Perl 5 design could. Perl has always considered itself primarily a programmer-centric language, while Python has always considered itself to be more institution-centric. So in a sense it's a bit dumbed down, much like Java. You'll note both of those languages make their greatest appeal to managers ... If Python's object model matches how you want to do things, it's fine for that. If it's not, Python doesn't really provide a coherent meta-object model underneath, just a lot of hooks, which might or might not give you the flexibility you need ...

        Other quotes from Larry Wall: Perl vs Python 11th State of the Onion:

        a great deal of Ruby's syntax is borrowed from Perl, layered over Smalltalk semantics. I've always viewed Ruby as a much closer competitor for Perls ecological niche, not just because of the borrowed ideas, but because both Perl and Ruby take their functional programming support rather more seriously that Python does.

        Other quotes from Slashdot interview with Larry Wall:

        Some Pythonistas claim that Python is a good functional programming language, mostly on the strength of list comprehensions, but in my estimation Python has only half-hearted FP support; it really doesn't provide the benefits of lexical scoping, closures, laziness, or higher-order programming that I'd expect in a strong FP contender, nor does it encourage you to think that way ... If you want concurrency with a global interpreter lock, Python might suit. But if you want a concurrency model designed to scale to multicore/manycore, look to Perl 6, which avoids global bottlenecks and non-composable primitives, but instead borrows composable ideas from Haskell, Go, Erlang, and C# instead.

Re^5: Curious about Perl's strengths in 2018
by LanX (Saint) on Apr 13, 2018 at 07:52 UTC
    The name is already an obvious indication: rubies and pearls are gems.

    In the first docs of Ruby you'll find a clear indication of Perl's influence.

    Now with the decline of Perl, Matz is toning it down.

    Cheers Rolf
    (addicted to the Perl Programming Language and ☆☆☆☆ :)
    Wikisyntax for the Monastery