Вопрос может сначала звучать глупо, но, возможно, это совсем не так.
-
Java не является языком Java, большинство людей это знают, поскольку вы можете запрограммировать Java с множество других langauges, например Scala или Groovy
-
Java не является конкретной реализацией VM, поскольку есть другая реализация, а не только SUN, Microsoft или IBM.
-
Java не является базой классов, так как многие реализации добавляют или оставляют классы по своему усмотрению.
-
Даже не требуется использовать общую спецификацию VM или даже байт-код Java, см. Dalvik VM
-
Возможно, это всего лишь набор принципов, которыми они делят, что бы это ни было. Это определенно не "пишите один раз, бегите везде", потому что это не так, по крайней мере, для Dalvik и Microsoft VM/J #.
Итак, вопрос в том, что такое Java? Существует ли даже точное определение?
ИЗМЕНИТЬ Многие люди, похоже, придерживаются мнения, что java означает только язык программирования. Таким образом, мобильный телефон с поддержкой java должен быть телефоном, который позволяет пользователю использовать программы, состоящие из файлов классов, созданных только с использованием языка java. Если бы это было так, то Java java-среда разработки /java для среды разработки /java была бы создана только для java, а другие языки jvm имели бы свой собственный xvm/xre/xdk.