Java is always compiled into bytecode, which is then “interpreted.” Smalltalk is also always compiled into bytecode. Neither language is normally considered “interpreted,” which is reputed to be slow in execution. Java can be very fast to execute, thanks to a well-optimized JVM. Some Smalltalk flavours can also be very fast to execute.