Позвольте, господа, прочитать маленькую лекцию
Сначала - чуточку теории. В любой программе можно выделить некоторые общие понятия - пока рассмотрим
исходный код,
исполняемый код и
исполнителя - т.е. того, кто эту программу выполняет.
Код, который пишет программист (на любом языке) - это обычный текстовый файл, который удобно читать человеку. Это - исходный код, исходник, сорцы (от source) и т.д.
Далее. Не всегда форма, удобная человеку, удобна исполнителю - т.е. тому, кто будет выполнять программу. Это может быть машинный код, как в случае виндовых программ, байт-код, как в случае Java, или... или тот же текстовый файл - как в случае JavaScript и ему подобных.
Но - в любом случае - исполнители могут быть разные. Это и ОС, и интепретатор команд cmd.exe, и браузер, и джава-машина (JVM). Когда вы пишете макрос в UltraEdit - там исполнитель кто? правильно, сам редактор.
Теперь - в чем же разница между JavaScript/VBScript и Java? Скрипты выполняются
браузером. Это текстовые файлы, которые браузер способен интерпретировать напрямую. Java-код - это т.н. байт-код, который выполняется
Java-машиной (JVM - Java Virtual Machine или JRE - Java Runtime Environment). Справедливости ради стоит заметить, что JVM, в свою очередь, выполняется операционной системой.
То есть - если браузер поддерживает JavaScript, он его способен выполнить без Java-машины. В винде вплоть до 2000 поставлялась JRE ver 1.1 - в XP Java вообще нет, и ее надо выкачивать и устанавливать отдельно. Но - она нужна только для выполнения Java-апплетов - в XP JavaScript выполняется, несмотря на отсутствие JRE.
Тут можно провести параллель с флешем - в это отношении джава-апплеты очень похожи на флешки. И то и другое показывается в браузере, но их выполняет не браузер - он отдает исполнение дальше - флеш-плейеру или джава-машине. А скрипт - обрабатывает сам.
Резюмируя - JavaScript не имеет ничего общего с Java, кроме подобного синтаксиса и 4х букв в названии. Это совершенно разные вещи, разные языки, они исполняются разным исполнителями, они обладают разными возможностями и предназначены для различного применения и тд и тп.
JavaScript - это не обрезанная Java!!! Это совершенно самостоятельная отдельная вещь.
Надеюсь, ситуация немного прояснилась. Можно свести это все в некое подобие таблички
-------------------------------------------------------------------------
Язык_______________ | Исполняемый код | Исполнитель
-------------------------------------------------------------------------
JavaScript___________| text____________| browser
VBScript_____________| text____________| MS IE
Java________________| byte-code_______| JRE
Flash________________| flash-code______| Flash-player
C++, Delphy, Pascal___| binary code______| processor
bat/cmd_____________| text____________| cmd.exe
php, asp_____________| text____________| server
-------------------------------------------------------------------------
(похабно, но таблицу сверстать не дает)
Теперь, думаю, становится понятным - почему джава-скрипт может работать в ослике, но не работать в мозилле, и как джава-программа может работать одновременно в винде, под линуксом и в мак-ос.
Именно потому, что JavaScript исполняется браузером (а раз браузеры разные, то и исполнители - разные, реализованы в чем-то по-своему). А Java-программа исполняется JRE - т.е. виртуальная машина одна, пусть даже дальше (следующий слой, ОС) и различаются.
Уффф... Думаю, достаточно. Уточнения/исправления приветствуются, надеюсь, эта маленькая лекция прояснит ситуацию.