in reply to Re^2: RFC: Simulating Ruby's "yield" and "blocks" in Perl
in thread RFC: Simulating Ruby's "yield" and "blocks" in Perl

Mathematically, yes they are all the same.
What is that supposed to mean? How do you "mathematically" compare programming languages (and yes I do know about denotational semantics)?

The point I was trying to make is that when you abstract away inessential syntactic differences then Perl, Ruby and Python are the same - and I still subscribe to that view.

During the history of computing several programming paradigms have evolved, so we have the imperative paradigm (the C family if you want), the functional paradigm with or without strong type-systems (Lisp, Haskell), the logical paradigm (Prolog) the OO-Paradigm (Eiffel) and of course all sorts of cross-breeds.

So if you look at the whole range of languages from assembler to C and C++, Lisp, Haskell, Prolog and so on the ecological niche of Perl, Python and Ruby is exactly the same - a few syntactical differences notwithstanding (and speed comparisons of concrete implementations are for this discussion entirely irrelevant).


Comment on Re^3: RFC: Simulating Ruby's "yield" and "blocks" in Perl
Re^4: RFC: Simulating Ruby's "yield" and "blocks" in Perl
by LanX (Canon) on Apr 23, 2013 at 23:14 UTC
    There is a difference between ecological niche and genetic relationship.

    Giraffes and elephants both live in the African savanna but share less genes than African zebras and Mongolian horses do.

    Cheers Rolf

    ( addicted to the Perl Programming Language)

      I appreciate that you want to have the last word but I don't really care too much about it.

      If you want to maintain that there is such a big "genetical" difference that's fine with me - for me that is not a deep insight but a judgement of taste expressed in a non-standard way.

      As all the concepts involved are pretty fuzzy the whole discussion is moot anyway...

        Well contrary to you I listed concrete arguments ...

        ... but I have to agree there is no further need for any discussions between us!

        Cheers Rolf

        ( addicted to the Perl Programming Language)

Re^4: RFC: Simulating Ruby's "yield" and "blocks" in Perl
by curiousmonk (Sexton) on Apr 24, 2013 at 04:24 UTC

    What is that supposed to mean? How do you "mathematically" compare programming languages (and yes I do know about denotational semantics)?

    All languages are same in a mathematical sense, that what you can do in one turing complete language you can do in another. Albeit with a lot of pain and kungfu

    when you abstract away inessential syntactic differences...

    Firstly, those are not 'inessential' syntactic differences. Because the very purpose Perl was invented was to solve some very essential problems. Problems both at both programmer level and the problems programmers try to solve. This continues to be the case till today.

    So if you look at the whole range of languages from assembler to C and C++, Lisp, Haskell, Prolog and so on the ecological niche of Perl, Python and Ruby is exactly the same

    You keep talking about 'small syntactical differences'. Those are not small. I solved a very pressing P1 issue on production today morning with Perl in something like 25 minutes. I can't imagine doing that in C++. Its just not possible!

    Lastly, I think you are stuck in this principle called Occam's razor- Which basically says "All things being same, the simplest thing turns out to be the best". The only problem is there are more than one condition to be considered while deciding if two things are the same