![]() |
Модераторы: Се ля ви |
![]() ![]() ![]() |
|
Gunslinger |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 842 Регистрация: 30.12.2006 Где: Астрахань Репутация: нет Всего: 3 |
Чем отличаются интерпретируемые языки от языков виртуальных машин (историю про байт-код можно не рассказывать)? У обоих кросплатформенность, программы обоих не запустятся, если не будет предварительно установлен либо интерпретатор, либо виртуальная машина (в отличие от компиленой программы). Виртуальные машины ставятся на смартфоны и прочее умное мобильное железо... А тут вижу, питон также ставится под эти девайсы. Так в чем разница? Конкуренты ли эти виды?
|
|||
|
||||
Void |
|
|||
![]() λcat.lolcat ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2206 Регистрация: 16.11.2004 Где: Zürich Репутация: 9 Всего: 173 |
Для начала надо определиться с понятием виртуальной машины.
Байт-код, кстати, применяется во многих языках, считаемых интерпретируемыми, в том же Питоне, например. И интерпретатор Питона с полным правом может считаться стековой виртуальной машиной. Может быть, имелся в виду JIT? -------------------- “Coming back to where you started is not the same as never leaving.” — Terry Pratchett |
|||
|
||||
Sartorius |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1568 Регистрация: 18.7.2006 Где: Ivory tower Репутация: нет Всего: 37 |
ИМХО VM - тот же интерпретатор. Ну и что, что блоками в native переводит. Суть одна и та же - native получаем по ходу выполнения.
|
|||
|
||||
DrDred |
|
|||
Новичок Профиль Группа: Участник Сообщений: 14 Регистрация: 14.9.2006 Где: Земля Репутация: нет Всего: 2 |
За VM-based языки
- возможность JIT-оптимизации -> большая скорость выполнения - большая часть работы интепретатора уже сделана -> значит скорость больше, памяти меньше - скрипт, предварительно скомпиленный в байт-код уже как минимум не содержит синтаксических ошибок - если язык статически типизированный, то получили проверки типов при компиляции. |
|||
|
||||
Gunslinger |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 842 Регистрация: 30.12.2006 Где: Астрахань Репутация: нет Всего: 3 |
Что же, получается вирт.машина и интерпретатор одно и тоже? Под вирт.машиной имел ввиду сановскую яву... Хотя дот нет - это тоже вирт.машина (мелкософтовское детище-конкурент сановской vm, насколько я понимаю). |
|||
|
||||
Gunslinger |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 842 Регистрация: 30.12.2006 Где: Астрахань Репутация: нет Всего: 3 |
посмотрел в википедии, вроде разобрался. У интерпретаторов и виртуальных машин все больше общего.
|
|||
|
||||
regis |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 232 Регистрация: 12.12.2005 Где: Москва, Россия Репутация: нет Всего: 7 |
На самом деле, такой уж четкой грани -- просто нет.
Дело в том, что практически все интерпретируемые языки осуществляют псевдокомпиляцию того, что они выполняют, в некоторую внутреннюю форму. Это, конечно, значительно повышает эффективность выполнения. Более того, большинство интерпретируемых языков умеет эту промежуточную форму программы сохранять, чтобы не выполнять эту работу при каждом запуске. Python сохряняет компилированные модули в файлы ".pyc", Ruby, кажется, тоже умеет, и Perl 6, скорее всего, будет делать нечто подобное. Так что все отличие современных скрипт-языков от Java/.Net -- в том, что компилятор и VM технически одно приложение, а процесс компиляции выполняется автоматически и незаметно для пользователя. --------------------
В. В чем разница между hardware и software?О. В отличие от второго, по первому можно двинуть кулаком или пнуть ногой. |
|||
|
||||
Зверек |
|
|||
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 27.12.2006 Репутация: нет Всего: нет |
Руби не умеет покуда.
|
|||
|
||||
![]() ![]() ![]() |
Правила раздела "Философия программирования": | |
|
Форум "Философия программирования" предназначен для обсуждения вопросов, так или иначе связанных с философскими аспектами разработки ПО: • вопросы перспективного развития методов написания ПО; • изменяющиеся языки и методологии программирования; Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Се ля ви. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Философия программирования | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |