Симпозиум по Java на стороне Сервера TSSJS 2011 состоялся еще в марте, поэтому остается загадкой, почему основной доклад Джеймса Гослинга только сейчас привлекает внимание. Более того, отчеты, похоже, получают совершенно неверное сообщение.
В ряде новостей используется заголовок
«Джеймс Гослинг Говорит, Что Ему Плевать На Яву»
или что — то подобное, и у нас есть короткий звуковой клип, представленный в виде видео, чтобы поддержать его- см. Ниже.
Однако если вы прислушаетесь к тому, что говорится, история будет совсем другой.
Дело в том, что он, похоже, подчеркивает, что важной частью инфраструктуры Java является не язык, а виртуальная машина. Виртуальная машина была замечательной идеей конца 1970-х годов, которую лучше всего подытожить так: не ориентируйтесь на конкретную архитектуру машины, а ориентируйтесь на моделируемую машину, которая может быть реализована на любой другой машине, чтобы обеспечить единообразную операционную среду.
Это использование идеи виртуальной машины позволило разработчикам языков создавать инструменты и языки, которые будут работать на любой машине, имеющей версию виртуальной машины. Это было началом идеи Java «написать-один раз-запустить-много», которая никогда не работала на практике. В равной степени виртуальная машина допускает программирование на смешанном языке, поскольку выходные данные переводчиков предназначены для одной и той же цели. Это, по-видимому, та добродетель, которую Гослинг продвигает больше всего.
«В мире, не связанном с JVM, возможность перемещаться между языками почти невозможна. В мире Java это удивительно просто.»
Это верно, но не всегда замечательная идея, поскольку разные языки, используемые в одном и том же проекте, имеют способ скрыть то, что происходит, а не раскрыть это.
Наконец он говорит:
«Java — действительно хороший язык для широкого спектра тем.»
Таким образом, он, похоже, считает, что ценность экосистемы Java заключается в JVM, и для него, очевидно, если Java будет заменена, скажем, Scala, то это все равно будет экосистема Java.
Буря в чайной чашке или что?