Beefy Boxes and Bandwidth Generously Provided by pair Networks
Syntactic Confectionery Delight

Re^2: What Perl CAN'T do?

by Anonymous Monk
on Dec 19, 2005 at 21:15 UTC ( #517898=note: print w/replies, xml ) Need Help??

in reply to Re: What Perl CAN'T do?
in thread What Perl CAN'T do?

Perl is a Turing complete language, so anything that is computable can be computed in Perl as well.

If you are willing to wait an infinite amount of time, expend an infinite amount of memory, and restrict your I/O needs to nothing more complex than an infinitely erasable paper tape, then, yes, Perl can "compute anything". That's a rather limited view of "anything", in my opinion. :-)

In the real world, we have real-time applications; Turing-completeness cannot speak to such requirements. Similarly, when trying to access memory mapped I/O, Perl has no native facility that I know of to write to specific memory locations; whereas other languages do. (Even BASIC has it's PEEK and POKE statements!) In Perl, we fall back to using C via XS instead; there is no native "POKE" statement, though unpack with pointers can be used to emulate a "PEEK".

Unless I'm mistaken, this is something that native Perl can't do.

Replies are listed 'Best First'.
Re^3: What Perl CAN'T do?
by jdporter (Canon) on Dec 19, 2005 at 21:58 UTC

    I think you've missed the point of the original question, which was really about choice of language environment, i.e. how to choose between Perl, Java, C#, etc. I would argue that Perl is a stronger choice, as a language environment, than Java at least, because it is so easy to drop down to the metal (using XS) when the need arises.

    We're building the house of the future together.

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://517898]
NodeReaper puts the hammer down

How do I use this? | Other CB clients
Other Users?
Others meditating upon the Monastery: (3)
As of 2017-06-27 18:37 GMT
Find Nodes?
    Voting Booth?
    How many monitors do you use while coding?

    Results (611 votes). Check out past polls.