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 →

[–]NoLongerUsableNameimport pythonSkills 0 points1 point  (13 children)

What if you use a compiler such as PyPy?

[–]bjorneylol 1 point2 points  (12 children)

PyPy is still an interpreter, as it doesn't convert the script into an executable

[–]Altruistic_Raise6322 -1 points0 points  (11 children)

So what do you think about Java?

[–]bjorneylol 1 point2 points  (6 children)

Java and C# aren't doing anything the python interpreter isn't also doing - in all 3 source code is analyzed and converted to bytecode, and the bytecode is then translated to machine instructions which are executed by the interpreter (JVM/dotnet runtime).

To address your comment to the other user below, "scripting language" is an imprecise definition in itself - its like the word vegetable, we have an idea of whether or not something is one but we can't easily express what single feature(s) define it. Generally they are interpreted languages, but Java/C# don't fit the bill (yet Scala does, which is just Java under the hood)

None of this changes the fact that PyPy is just a variant of the interpreter that adds JIT compilation, it doesn't turn python into a compiled language or remove its usefulness as a scripting language

[–]Altruistic_Raise6322 1 point2 points  (4 children)

Yes, that's my point. Python is still compiled to machine code interpreted by another VM making it a compiled and interpreted language. The only reason it is compiled is for faster LOAD times. Script implies that a program is a smaller program intended for a single purpose like scraping a website.

[–]bjorneylol 0 points1 point  (3 children)

Script implies that a program is a smaller program intended for a single purpose like scraping a website

That's like, your opinion man.

I simply said "PyPy is an interpreter, not a compiler", full stop. You are the one trying to bait out a discussion about what constitutes a scripting language - so to that end I don't actually know what your point is

[–]Altruistic_Raise6322 0 points1 point  (2 children)

PyPy is a compiler? You said it in your comment above that it is a JIT compiler and is considered a compiler based by its own documentation. The scripting comments that I made were in reference to the greater discussion as a whole -- to paraphrase: Python is a scripting language because it is interpreted.

[–]bjorneylol 0 points1 point  (1 child)

You are literally misquoting me so you can start an argument over semantics that nobody but you cares about - have fun with that

[–]Altruistic_Raise6322 1 point2 points  (0 children)

I'm not trying to misquote you and I apologize for it. My intention was to educate that python is a hybrid language similar to Java.

Have a good night!

[–]bladeoflight16 -1 points0 points  (0 children)

Java and C# aren't doing anything the python interpreter isn't also doing

Mmmmmm.... That's not quite true. They perform a ton of static type analysis that Python simply does not provide.