Beefy Boxes and Bandwidth Generously Provided by pair Networks
laziness, impatience, and hubris

Re: perl not omnipotent? let's see!

by Moron (Curate)
on Oct 13, 2005 at 12:27 UTC ( #499880=note: print w/replies, xml ) Need Help??

in reply to perl not omnipotent? let's see!

Well sorry monks, but most of who responded clearly failed to even try to meet this challenge. What I was hoping for, amongst other opportunities to show your abilities outside of being able jumping to conclusions, was more understanding of the fact that Perl does not exist as an island entire of itself but can be used to control foreign functionality to get results more effectively than other languages can which don't lend themselves to such easy communication between functional layers. A good example of this principle in action where you might expect instead to see assembler or C instead is how the CPAN module dvd::rip was written.


Free your mind

Replies are listed 'Best First'.
Re^2: perl not omnipotent? let's see!
by Perl Mouse (Chaplain) on Oct 13, 2005 at 12:39 UTC
    So, what is it that DVD::rip is using that can't be done in C, Python, Java or Ruby?
    Perl --((8:>*
      Not a question I am begging an answer to, but what I will say is that everything can be done in assembler, but that doesn't mean it should be.


      Free your mind

        Not a question I am begging an answer to, but what I will say is that everything can be done in assembler, but that doesn't mean it should be.
        s/assembler/perl/ and it's just about as valid.
Re^2: perl not omnipotent? let's see!
by spiritway (Vicar) on Oct 20, 2005 at 04:38 UTC

    Well, as GrandFather pointed out, there isn't anything that one language can do, that another can't. The exercise reduces to proving Turing's Halting Problem, which Turing already proved. So yes, your original idea is OK - Perl can do whatever any other language can do. We've known this for something like seventy years (except, of course, Perl hasn't exited all that time).

    UPDATE: As Tilly has pointed out, this has nothing to do with Turing's Halting Problem. It has to do with Church's Thesis (thank you, Tilly, for correcting me).

      Um, no.

      Turing's Halting Problem is about the impossibility of writing a program that can figure out whether another program will or will not halt on given input.

      The result that you're referring to is variously known as Church's thesis, the Church-Turing thesis, Turing's thesis and Church's conjecture. There are many minor variations, but they all boil down to, "Anything that can be computed, can be computed on a Turing machine." This statement is unproveable because "can be computed" is undefined. However it is generally accepted, and holds true for every reasonable definition of "computed" that anyone has been able to come up with.

        You are correct... my mistake. I confused the "Turing Machine" reference with Turing's Halting Problem.

      Some of the replies have already cited examples which suffice to show that just because something is computable doesn't mean it's feasible, for a given Turing-complete language.


      Free your mind

        Well, that's true. You could theoretically compute something like the weather forecasts on a C-64, but you'd have to wait a few millennia to get the "forecast".

        Still, the original concept that you presented was that Perl could do anything any other programming language could do, which is true - but as you point out, it doesn't mean it's feasible. In particular, things that are very time-sensitive may require C or assembly language programming, that sort of thing.

        Nevertheless, I do like your idea, because it emphasizes that Perl is quite capable of handling most of the problems that get thrown at it, despite what some people say about it being a "scripting" language, or being "weakly typed", and all that. Hey, it's useful, it's easy to get into it, and it can be fun. What more do you want? Other than a DWIM, I mean...

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://499880]
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others chilling in the Monastery: (4)
As of 2018-01-22 09:21 GMT
Find Nodes?
    Voting Booth?
    How did you see in the new year?

    Results (233 votes). Check out past polls.