Steven D'Aprano wrote: > The "Python is both interpreted and compiled" camp, who > believe that both steps are equally important, and to > raise one over the other in importance is misleading. > That's why Sun doesn't describe Java as interpreted, > but as byte-code compiled. They did that before they > had JIT compilers to compile to machine code. > Consequently nobody thinks of Java source having to be > parsed, and parsed, and parsed, and parsed again.
They also described it that way to help marketing, and I don't think that should be overlooked. They would have known full well that calling their language "interpreted" would have affected public perceptions. It's interesting to see how culture affects things. You talked of 'IT people' in your post and hold up Java of an example of how byte-code doesn't mean slow, the implication being that Python uses the same mechanisms as Java and therefore is good enough. In the general IT world, Java is quite popular (to make a bit of an understatement) and it would often be used as some sort of benchmark. On the other hand, the backgrounds I have familiarity with are computer game development and embedded development. In these areas, we would point to Java as evidence that 'interpreted' bytecode is too slow and that anything using a similar technology is likely to be a problem. I'm not saying you're wrong, just highlighting that comparisons themselves always sit in some wider context which can make the comparison unimportant. I think it's also important to note that 'interpreted' doesn't necessarily mean 'parsed repeatedly'. Many older machines which came with BASIC installed would store their statements in a tokenised form - arguably bytecode with a large instruction set, if you look at it a certain way. This isn't necessarily so far from what Python does, yet few people would argue that those old forms of BASIC weren't interpreted. -- Ben Sizer -- http://mail.python.org/mailman/listinfo/python-list