Well ... C code may be compiled to a machine language understood by the processor, but it's still just as dependent on it's run-time environment as Perl code is. Sometimes the runtime is linked into the program, but most of the time it's an external dynamicaly loaded library.
And of course very few programs, no matter in what langauge, can get by without the help from the OS.
Plus some processors do not really implement their machine language in the wires and transistors, but instead the ops are implemented in another, more low-level language. It's just that it's built into the processor and you are not allowed to use the microinstructions directly.
| [reply] |
So Perl is like java which is compiled and interpreted and c is compiled-linked and run by the processor.. That makes sense.. | [reply] |
So Perl is like java which is compiled and interpreted and c is compiled-linked and run by the processor.. That makes sense..
Usually, when a lot of brute-force processing needs to be done, you want to avoid virtual machines, and get right to the hardware, preferably with a language which can generate very good machine code, e.g., when you need to run a 1,000,000 DOF finite-element model, large-scale n-body simulations, or climate modeling, saving a few nanoseconds per computation can really add up.
Most tasks aren't anywhere near that computationally intensive.
"Interpreted" also sometimes seems to mean "entered into an IDE which continually checks syntax," with "compiled" meaning "completely entered into a file, which is then passed through a 'compiler' or 'interpreter'."
By this, I mean something like this: (> indicates what person enters; < indicates what system returns)
<PIRNT 'Today is Tuesday'
>PIRNT NOT RECOGNIZED
<WRITE 'Today is Tuesday'
>WRITE NOT RECOGNIZED
<PRINT 'Today is Tuesday'
>Today is Tuesday
<QUIT
ciao
| [reply] [d/l] |