It's simple. JVM stands for "Java Virtual Machine", where Java is a sort of coffee. As a tea drinker, I first decided this would be a good idea to get some sort of tea. Another rationale for taking tea was to show that this project is completely different, e.g. not executing JVM bytecode on some low-level target, but rather compiles it to JS. But I could not find any sort of tea that would sound good and was not occupied by other project, so I decided to adopt just "Tea". Also, I wanted to avoid word "Java", due to possible licensing issues from Oracle. Yes, TeaVM is not a Java or a Java virtual machine, but it *can* to some extent execute JVM bytecode and to *some* extent compatible with JVM, but *is not* a JVM. Otherwise I had to pass JCK (which is difficult and makes no sense) and to pay Oracle.
As for VM, this can be a bit confusing for most people, since, IMO, there's a common delusion that virtual machine must interpret something. Actually, virtual machine software just take some code of a virtual machine and makes it executed, no matter how; AOT compilation also counts. The only thing needed is to just follow spec. By adding VM letters, I wanted to show that unlike GWT, TeaVM takes bytecode, not sources of some particular language.
среда, 4 декабря 2024 г. в 15:01:33 UTC+1, Stik Dragon: