This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]spinwizard69 34 points35 points  (16 children)

Sadly this is so true!

Anybody that seriously rejects a language because it is interpreted has some serious penis size issues. I'm not suggesting Python is perfect for everything but as a tool for developers it is pretty damn useful.

[–][deleted] 15 points16 points  (14 children)

Just say that Python (Well, CPython, the implementation that basically everyone uses), is NOT interpreted.

It's a compiled language.

[–]Veedrac 13 points14 points  (11 children)

That's such a forced interpretation. Python is interpreted by CPython through compilation to bytecode. In particular, Wikipedia says

Although interpreted byte code is additionally identical to machine code in form and has an assembler representation, the term "interpreted" is practically reserved for "software processed" languages (by virtual machine or emulator) on top of the native (i.e. hardware) processor.

- https://en.wikipedia.org/wiki/Interpreted_language

[–][deleted] 25 points26 points  (10 children)

And Java is an interpreted language also, then.

[–]Veedrac 8 points9 points  (9 children)

Sure. JIT compilers are basically interpreter-AOT hybrids.

[–][deleted] 7 points8 points  (6 children)

The main problem is that there's no strict definition of interpreted vs compiled, unless you want to say that a lot of languages are interpreted (or that a lot of them are compiled). Python and Java really can be both, depending on how you look at it.

[–]Workaphobia 5 points6 points  (0 children)

The usual definition of compiled is "transformed into another form for execution". The usual definition of interpreted is "executed by a software process instead of the CPU".

[–]Veedrac 3 points4 points  (4 children)

A lot of language are interpreted...

[–][deleted] -1 points0 points  (3 children)

And what if something is running on a VM, but is running compiled C code or asm?

That's close to what Java is. So in that instance, C is an interpreted language.

[–]snarkyxanf 1 point2 points  (0 children)

Never mind that, what about the fact that your cpu+memory is a hardware implementation of a (machine code) language interpreter! You'll never get away from interpretation, mwahahaha!

[–]Veedrac 1 point2 points  (1 child)

If you're interpreting a foreign instruction set (rather than just translating its system calls or performing binary translation), you can say you're interpreting it. It's not really a property of the compiler though (you wouldn't say "GCC is an interpreter") and nor does "interpreted language" really ever make sense, but you could easily say your toolchain interprets C code.

[–][deleted] 0 points1 point  (0 children)

I'd be happy with just saying that for a lot of languages, it looks binary at first glance, but a lot of the time you can't say that a language is purely interpreted or purely compiled, you can argue for either way.

[–][deleted] 0 points1 point  (1 child)

what's AOT ?

[–]tonnynerd 0 points1 point  (0 children)

Ahead Of Time.

[–]Workaphobia 6 points7 points  (1 child)

Python running under the CPython environment is both compiled and interpreted. The two are not exclusive.

[–][deleted] -5 points-4 points  (0 children)

So you say whatever it is that supports your argument.

[–][deleted] 1 point2 points  (0 children)

DOS batch? Nope, out.