Как вы определяете язык, который не компилируется

Я задаю этот вопрос, потому что вижу много "личных предпочтений", когда речь идет о терминах "язык сценариев" и "язык программирования".

Мой вопрос:

Существует ли подходящий технический термин для языка, который не компилируется или работает непосредственно в браузере? В каждой статье, которую я прочитал, и в вопросе, который я искал, явно не сказано, что определяет эту характеристику языка.

4 ответа

Решение

Может быть, вы имеете в виду это
https://en.wikipedia.org/wiki/Interpreted_language

Интерпретируемый язык - это язык программирования, для которого большинство его реализаций выполняют инструкции напрямую, без предварительной компиляции программы в инструкции машинного языка. Интерпретатор выполняет программу напрямую, переводя каждый оператор в последовательность из одной или нескольких подпрограмм, уже скомпилированных в машинный код.

Язык сценариев

Значение: язык, который интерпретируется, а не компилируется

Таким образом, язык, который не скомпилирован, является языком сценариев

Язык разметки / разметки

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

(это то, что переполнение стека использует, чтобы сделать этот уродливый текст, хорошо выглядеть)

Язык программирования

Значение: любой язык, предназначенный для общения с компьютером или машиной.

Так что все, даже язык сценариев считается языком программирования. Любой кусок кода, включая разметку и разметку, можно считать языками программирования, хотя они спорны!

Веб-языки

Веб-язык - больше категория, а не фактический тип программирования. Веб-языки - это сочетание нескольких языков, которые можно использовать для создания веб-страницы. Основная веб-страница состоит из HTML (Разметки), JavaScript (язык сценариев) и CSS который также является языком сценариев.

Возможно, это не полный ответ на ваш вопрос, но поскольку вы упоминаете язык сценариев и язык программирования в своем вопросе.

На мой взгляд (что в данном случае не соответствует распространенному мнению):

  • Язык сценариев - это язык, который в основном позволяет "говорить" с объектами, создавать сценарии для существующих приложений для выполнения определенных рабочих процессов.

  • Язык программирования - это язык, который в основном позволяет вам определять объекты, с которыми вы взаимодействуете, для выполнения определенных рабочих процессов.

На первый взгляд, разница может быть не слишком большой, а в реальном мире ее часто нет; Если я использую javascript внутри расширения браузера для удаления рекламы с веб-страниц, я пишу сценарий, но когда я использую javascript с узлом для построения системы crm, я программирую. Это делает javascript одновременно и скриптом, и языком программирования.

С этой точки зрения язык, и если он скомпилирован или интерпретирован и динамически или статически типизирован, на самом деле не имеет значения.

Я обычно вижу несколько десятков строк кода для автоматизации чего-либо как сценария, но несколько сотен или более как программы.

Есть много способов размыть грани между этими концепциями, и именно так я воспринимаю эти вещи как разработчика.

Все языки программирования, кроме языков ассемблера, компилируются. Даже для интерпретации языка, как в пакетных языках, требуется этап компиляции, чтобы преобразовать отдельные пакетные инструкции в последовательность команд ЦП.

Компилятор - это компьютерная программа (или набор программ), которая преобразует исходный код, написанный на языке программирования (исходный язык), в другой компьютерный язык (целевой язык), [...]

Источник: Википедия

Язык ассемблера переводится не скомпилированным, потому что одна сборочная строка переводится для извлечения одной инструкции ЦП.

Ассемблер (или язык ассемблера) - это низкоуровневый язык программирования для компьютера или другого программируемого устройства, в котором существует очень сильное (обычно однозначное) соответствие между языком и инструкциями машинного кода архитектуры. Каждый язык ассемблера специфичен для конкретной компьютерной архитектуры, в отличие от большинства языков программирования высокого уровня, которые обычно переносимы на несколько архитектур, но требуют интерпретации или компиляции.

Источник: Википедия

Новые ассемблеры имеют поддержку макросов для замены или развёртывания инструкций, но это не шаг компиляции, а просто обработка макросов.

Другие вопросы по тегам