Форум программистов, компьютерный форум, киберфорум
Священные войны
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.69/59: Рейтинг темы: голосов - 59, средняя оценка - 4.69
103 / 93 / 14
Регистрация: 20.06.2010
Сообщений: 963
Записей в блоге: 16
1

Интерпретируемые языки VS Компилируемые языки

14.09.2011, 13:49. Просмотров 11909. Ответов 74
Метки нет (Все метки)

Я лично не смог вспомнить чем хоть один из них, лучше другого Хотя возможно скоростью
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.09.2011, 13:49
Ответы с готовыми решениями:

Языки програмирования
Здравствуйте уважаемые форумчане, всем доброго времени суток! У меня к вам небольшой вопрос. Я вот...

Языки программирования
В какой среде программирования/на каком языке программирования лучше всего написать программу для...

Национальные языки в программах
Чем плохи национальные, например, русские идентификаторы? Только тем, что их не сможет прочитать...

Как создают языки программирования?
Извините может это и глупый вопрос:) но скажите где, как и когда создали языки программирование?...

74
214 / 116 / 14
Регистрация: 30.05.2011
Сообщений: 1,772
14.09.2011, 13:59 2
bodrich,

Не по теме:

никак не успокоишься?

0
Почетный модератор
7321 / 2587 / 268
Регистрация: 29.07.2006
Сообщений: 13,582
14.09.2011, 22:34 3
bodrich, как насчет, что большинство интерпретируемых без изменений запустятся на любой платформе? А компилируемые перекомпилять придется. В лучшем случае, конечно. Хотя, я исключил из сравнение компиляцию в байт-код. Беру нэйтив и интерпретатор.
0
4196 / 1789 / 211
Регистрация: 24.11.2009
Сообщений: 27,563
15.09.2011, 12:46 4
Цитата Сообщение от Vourhey Посмотреть сообщение
bodrich, как насчет, что большинство интерпретируемых без изменений запустятся на любой платформе?
Попробуй решётчатые си запустить на чём либо, кроме винды, а квик бейсик - не на MS DOS. Натив как раз переносимее, он хоть между осями одной фирмы переносится без проблем, а с помощью вайна и ему подобных библиотек, либо после перекомпиляции запускается вообще где угодно и даже архитектура камня не препятствие: перекомпиль и если позволяют ресурсы, можешь запускать хоть на сигнальном камне коммутатора, хоть на микроволновке. Ну ка фреймвок для микроволновки в студию?

Добавлено через 5 минут
Цитата Сообщение от Vourhey Посмотреть сообщение
Хотя, я исключил из сравнение компиляцию в байт-код.
Байт-код как раз интерпретируется. Окончательно, конечно, на первом этапе там компиляция.
0
Почетный модератор
7321 / 2587 / 268
Регистрация: 29.07.2006
Сообщений: 13,582
15.09.2011, 16:11 5
Цитата Сообщение от taras atavin Посмотреть сообщение
Попробуй решётчатые си запустить на чём либо, кроме винды
Я написал про байт-код. Разуй глаза.
Цитата Сообщение от taras atavin Посмотреть сообщение
Натив как раз переносимее
Нет, натив не переносимее. То, что работает на одной платформе, на другой не будет. Необходима перекомпиляция. Это еще если с кроссплатформенной либой был код написан. А если там вызов "stat" то уже все. не поможет. А в перле и пайтоне - пофиг.
Цитата Сообщение от taras atavin Посмотреть сообщение
помощью вайна и ему подобных библиотек
Это костыли. Про них отдельный разговор. извращенцев я в расчет не беру.
Цитата Сообщение от taras atavin Посмотреть сообщение
либо после перекомпиляции
перекомпилять и придется. Еще повезет если код не платформозависимый.
Цитата Сообщение от taras atavin Посмотреть сообщение
Байт-код как раз интерпретируется.
Это от виртаульной машины зависит интерпретируется он или компилируется, а потом исполняется. Поэтому твое утверждение не верно. байт-код и интерпретатор - разные вещи.

Добавлено через 21 минуту
Цитата Сообщение от taras atavin Посмотреть сообщение
Попробуй решётчатые си запустить на чём либо, кроме винды
Вот, кстати, это и есть подтверждение, что компилируемый язык. Даже в байт-код. И все равно для одной платформы ты только подтвердил мои слова. Сам того не заметив. Ха-ха-ха.
0
Эксперт JavaЭксперт С++
8360 / 3581 / 419
Регистрация: 03.07.2009
Сообщений: 10,708
15.09.2011, 21:12 6
Цитата Сообщение от Vourhey Посмотреть сообщение
Вот, кстати, это и есть подтверждение, что компилируемый язык. Даже в байт-код. И все равно для одной платформы ты только подтвердил мои слова. Сам того не заметив. Ха-ха-ха.
ну подтверждение только про шарп, в то время как Java в перекомпиляции не нуждается
0
929 / 754 / 299
Регистрация: 09.12.2010
Сообщений: 1,346
Записей в блоге: 1
16.09.2011, 02:01 7
Цитата Сообщение от bodrich Посмотреть сообщение
Я лично не смог вспомнить чем хоть один из них, лучше другого Хотя возможно скоростью
Никакого сравнения здесь нет, компилируемый язык программирования строит полностью автономное приложение машинного кода под архитектуру процессора, разрядность, плафтормы ОС и т.п, конечно любое изменение разрядности, архитектуры процессора или платформы касается native-приложения, придётся компилировать под текущее железо, ОС и т.п. На счёт интерпретатора вообще здесь всё просто, есть программа-интерпретатор которая читает скрипт и по нему выполняется, программисту вообще не надо заботиться о кроссплатформености, об этом заботиться разработчик-интерпретатора, например: если он напишет интерпретатор для Solaris, FreeBSD, Windows, IBM OS/390 то в вашем случае не надо думать о переносимости, вы пишите скриптовый исходный код и всё.

Плюсы компилирующих приложений быстрота, независимость от компилятора так как native-приложение полностью автономный исполняемый файл. Минусы, требует перекомпиляции под каждую плаформу OS, разрядность, тип процессора и так далее.

Плюсы интерпретируемых приложений, кроссплатформеность если предусмотрена разработчиком-интерпретатора, лёгкость в изучении. Минусы, зависимость от интерпретатора, медленное исполнение по сравнению с native-app, невозможность писать системные приложения или модули, DRIVER, OS...
0
4196 / 1789 / 211
Регистрация: 24.11.2009
Сообщений: 27,563
16.09.2011, 10:08 8
Цитата Сообщение от Vourhey Посмотреть сообщение
Я написал про байт-код. Разуй глаза.
Сам разуй. Твой байт-код понятен одной лишь винде.

Добавлено через 3 минуты
Цитата Сообщение от Vourhey Посмотреть сообщение
То, что работает на одной платформе, на другой не будет. Необходима перекомпиляция.
А с перекомпиляцией будет работать хоть на микроволновке, если она потянет. И есть вайн, эмуляторы, можно подобие вайна написать для мака, или ещё кого. Можно сделать ваще другую библиотеку совместимости, чтоб никсовый софт под виндой гонять. Я на четвёртом пне натив для спектрума могу запустить, хотя с эмуляцией точно также и на той же машине идёт и спектрумовский бейсик, но не всегда можно эмулировать, зато всегда можно перкомпилить. А ты попробуй скомпилить решётчатые си в байткод и исполнить на никсе. Твой байт-код с винды на винду с трудом переносится, если версия другая. Причём, в любом направлении. А я натив берез перкомпила и дополнительных библиотек с 95-й винды на xp запросто перенёс. И убунте запускал виндузячий натив. И что касается эмуляции. Спектрумовский натив пойдёт на эмуляторе любой машины на z80, даже не спектрума, или на самой этой машине, а спектрумовский бейсик только на спектруме и именно его эмуляторе.

Добавлено через 10 минут
Цитата Сообщение от Vourhey Посмотреть сообщение
Вот, кстати, это и есть подтверждение, что компилируемый язык. Даже в байт-код. И все равно для одной платформы
Не всё равно, а потому. Сам же байт-код - интерпретируемый язык. Пусть кодовый, то есть низкого уровня, но интерпретируемый, почему и только для винды.

Добавлено через 1 минуту
Цитата Сообщение от xAtom Посмотреть сообщение
лёгкость в изучении.
Бред. Лёгкость в изучении определяется только самим языком, а не особенностями транслятора.

Добавлено через 1 минуту
Цитата Сообщение от Vourhey Посмотреть сообщение
байт-код и интерпретатор - разные вещи.
Как и язык и интерпретатор.

Добавлено через 1 минуту
Цитата Сообщение от xAtom Посмотреть сообщение
если предусмотрена разработчиком-интерпретатора
Разработчик то один, на другие платформы ему некогда интерпретатор портировать, ему на одной его развивать надо, иначе язык умрёт. Альтернативный же компилятор на другою ось и даже другой камень кто нибудь обязательно напишет.

Добавлено через 6 минут
И как не обфускируй интерпретируемый исходник, его всё равно прочитают все заинтересованные юзвери. Но нельзя прочитать исходник из натива.

Добавлено через 2 минуты
Если же задача защиты исходника не стоит, то и компиляцию на целевой машине тоже ни кто не отменял, что уже максимально переносимо и оптимально по времени исполнения.

Добавлено через 15 минут
И не всякая машина ещё и потянет приладу и транслятор одновременно, что необходимо для интерпретации, а компиляция и исполнение разделены во времени.
0
Эксперт С++
5016 / 2595 / 241
Регистрация: 07.10.2009
Сообщений: 4,311
Записей в блоге: 1
16.09.2011, 11:15 9
Цитата Сообщение от taras atavin Посмотреть сообщение
Сам разуй. Твой байт-код понятен одной лишь винде.
Байт-код и винда понятия, которые между сомой никак вообще не связаны. К слову у Java тоже байт-код.
Цитата Сообщение от taras atavin Посмотреть сообщение
А с перекомпиляцией будет работать хоть на микроволновке, если она потянет
Ты понимаешь о чем речь-то идет? Программы, написанные на интерпритируемых языках, будут работать всегда и везде, если есть соответствующий интерпретатор. И не надо никакой рекомпиляции. Один файл для всех платформ.
Цитата Сообщение от taras atavin Посмотреть сообщение
Сам же байт-код - интерпретируемый язык. Пусть кодовый, то есть низкого уровня, но интерпретируемый, почему и только для винды.
Брееееед. Байт-код это не язык, во-первых. А во-вторых, читай выше. Байт-код и винда не привязаны друг к другу.
0
Почетный модератор
7321 / 2587 / 268
Регистрация: 29.07.2006
Сообщений: 13,582
16.09.2011, 12:08 10
Цитата Сообщение от M128K145 Посмотреть сообщение
ну подтверждение только про шарп
Я про шарп и говорю

Добавлено через 22 секунды
Цитата Сообщение от M128K145 Посмотреть сообщение
в то время как Java в перекомпиляции не нуждается
Само собой.
0
4196 / 1789 / 211
Регистрация: 24.11.2009
Сообщений: 27,563
25.09.2011, 10:27 11
Цитата Сообщение от fasked Посмотреть сообщение
К слову у Java тоже байт-код.
Почему я и не нашёл её даже на винду. На телефонах она есть, но ни один телефон как раз не совместим даже с другим телефоном.
0
Эксперт С++
5016 / 2595 / 241
Регистрация: 07.10.2009
Сообщений: 4,311
Записей в блоге: 1
25.09.2011, 10:30 12
Цитата Сообщение от taras atavin Посмотреть сообщение
Почему я и не нашёл её даже на винду.
Плохо искал.
Цитата Сообщение от taras atavin Посмотреть сообщение
На телефонах она есть, но ни один телефон как раз не совместим даже с другим телефоном.
На телефонах используется JavaME, и эти платформы не полностью совместимы между собой, так как возможности девайсов слишком различаются.
0
4196 / 1789 / 211
Регистрация: 24.11.2009
Сообщений: 27,563
25.09.2011, 10:30 13
Цитата Сообщение от fasked Посмотреть сообщение
Брееееед. Байт-код это не язык, во-первых. А во-вторых, читай выше. Байт-код и винда не привязаны друг к другу.
Байткоды есть и под TR-DOSом. Попробуй сравнить их с виндузячими. Вспомни, сколько народу занято разработкой компиляторов, а сколько - интерпретаторов и виртуальных машин. А отсюда и привязка: тупо девелоперов не хватает, чтоб всё портировать, как было задумано, потому каждый язык или код и делают на чём то одном. И байт-код тоже язык, как и язык машинных кодов. Есть языки высокого уровня, есть машинные языки низкого уровня, а байт-код - промежуточный язык низкого уровня. Компиляция на целевой машине всегда будет переносимее всего остального, что вообще можно придумать.
0
Эксперт С++
5016 / 2595 / 241
Регистрация: 07.10.2009
Сообщений: 4,311
Записей в блоге: 1
25.09.2011, 10:40 14
Цитата Сообщение от taras atavin Посмотреть сообщение
Компиляция на целевой машине всегда будет переносимее всего остального, что вообще можно придумать.
Ну и куда это можно перенести кроме полностью аналогичной платформы?
0
4196 / 1789 / 211
Регистрация: 24.11.2009
Сообщений: 27,563
25.09.2011, 10:43 15
Куда угодно. Переносишь исходник на любую машину, компилишь там сделанным для неё компилом и исполняешь. А при интерпретации будь добр найди для той машины совместимый интерпретатор. Не нашёл=не перенёс. Нашёл интерпретатор того же языка? Эйси, а диалект на столько другой, что надо исхродник адаптировать. Или ваще тот интерпретатор с файла берёт не текст, а генеримый на лету байт код, а у тебя текст, или наоборот.
0
Эксперт С++
5016 / 2595 / 241
Регистрация: 07.10.2009
Сообщений: 4,311
Записей в блоге: 1
25.09.2011, 10:45 16
taras atavin, переносимым должен быть не исходник, а само приложение. Ну и.. есть куча непереносимого кода на C/C++, в отличии от Java.
0
4196 / 1789 / 211
Регистрация: 24.11.2009
Сообщений: 27,563
25.09.2011, 10:58 17
А исходник и есть форма самого приложения. Если оно компилится на целевой машине, то распространяется в виде исходника.
Исходным текстом называется форма программы, непосредственно разработанная её автором на языке высокого уровня.
Исходным кодом называется форма программы, непосредственно разработанная её автором на языке низкого уровня.
А по твоей логике проги мелкософта вообще не имеют распространения, так как распространяться должен не дистрибутив, а само приложение.

Добавлено через 7 минут
Цитата Сообщение от fasked Посмотреть сообщение
Ну и.. есть куча непереносимого кода на C/C++, в отличии от Java.
Берём два телефона разных фирм с поддержкой установки приложений. Оба гарантирвоано поддерживают джаву и только джаву. Нука перенеси приладу с одного телефона на на другой! А c++ переносится в пределах сочетания архитектуры при компиляции на машине разработчика и на любой компьютер, для которого есть компилятор при компиляции на целевой машине. Единственная область, где интерпретация действительно переносима - это web-программирование, так как там договорились о едином стандарте языка разметки, а с ним и языка встраиваемого скрипта.
0
Эксперт С++
5016 / 2595 / 241
Регистрация: 07.10.2009
Сообщений: 4,311
Записей в блоге: 1
25.09.2011, 11:01 18
Цитата Сообщение от taras atavin Посмотреть сообщение
Берём два телефона разных фирм с поддержкой установки приложений. Оба гарантирвоано поддерживают джаву и только на ней прилады для обоих телефонов и пишутся. Нука перенеси приладу с одного телефона на на другой!
Я говорю про JavaSE.
Цитата Сообщение от taras atavin Посмотреть сообщение
А по твоей логике проги мелкософта вообще не имеют распространения, так как распространяться должен не дистрибутив, а само приложение.
Дистрибутив это приложение. Конечная форма приложения в отличии от исходника.
0
4196 / 1789 / 211
Регистрация: 24.11.2009
Сообщений: 27,563
25.09.2011, 11:20 19
Конечная форма приложения - это установленный экземпляр, а не дистрибутив. А дистрибутив есть форма программы, предназначенная для распространения и в большинстве случаев только для распространения, но не непосредственного использования, а состоять может из чего угодно, при компиляции на целевой машине дистрибутив состоит из исходника и мэйкфайла.

Добавлено через 11 минут
Кстати, у меня уже были проблемы с переносом даже текста бейсика со спектрума на спектрум. Один был zx-48K, а другой zx-128K и далеко не все программы между ними переносились, камни на них были полностью идентичны. Но я ни разу не видел, чтоб куда нибудь натив не перенёсся как есть, если камни совместимы.
0
fasked
25.09.2011, 11:22     Интерпретируемые языки VS Компилируемые языки
  #20

Не по теме:

Мы говорим о совершенно разных вещах, бесполезно.

0
25.09.2011, 11:22
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.09.2011, 11:22
Привет! Вот еще темы с ответами:

JavaScript поглотит другие языки?
Хоть я сам работаю в основном с JS, меня всё же беспокоит его растущая популярность. На JS сейчас...

Языки программирования в целом и С++ в частности
В школе с учителем информатики произошёл спор. Он утверждает,что перед main() { } может писаться...

Как создаються языки программирования?
Я тут порасуждал что HTML это же обычный стандартизованый язык которым все пользуються! А он просто...

Полностью перекрытые по возможностям языки
Под языком, который можно считать полностью перекрытым по возможностям (ПППВ) я подразумеваю такой,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.