От первого html тега, до SEO оптимизации порталов
Украина
+380 63 85 62 538
admin@sozdaj-sam.com

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

Programming Languages

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

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

Языки низкого и высокого уровня

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

Чем ближе язык к машинному коду, тем сложнее на нем писать и нужно хорошо знать оборудование. Такие языки называются языками низкого уровня. Соответственно языки сильно отличающиеся от машинного кода имеют название — языки высокого уровня, при работе с которыми можно меньше беспокоиться об работе аппаратной части. Если сказать более простым языком, то все языки высокого уровня более просты для изучения, на них проще писать код и они менее аппаратно зависимы.

Хотя мы и будем работать с javascript, а это язык высокого уровня, перед запуском наш код должен быть преобразован в машинный код, хотя сам машинный код нам не интересен. Языки высокого уровня, это языки исходного кода, который в последствии переводится в машинный для его выполнения. Когда мы говорим, что пишем код или программируем, мы на самом деле пишем исходный код, набор операторов и команд, которые впоследствии будут запущены на компьютере.

Для того, чтобы начать писать исходный код на языке javascript, надо понять три вещи:

  • Как и где писать
  • Понимать, как наш код будет переведен в машинный код
  • Как запустить наш код, нашу программу

Как писать исходный код на javascript

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

Я буду работать в редакторе от компании Adobe — Brackets, в котором я привык верстать сайты, вы же можете работать в удобном для вас или посмотреть в интернете бесплатные, даже тот же Notepad++ подойдет для изучения javascript. Удобство подобных редакторов в том, что они имеют подсветку синтаксиса, а это в свою очередь упрощает написание кода и помогает избежать множества ошибок.

Компиляция и интерпретация кода

Как я и упоминал выше, перед тем, как код будет запущен он переводится в машинный код. Существует два вида этого перевода, это компиляция и интерпретация. Чтобы понять лучше в чем разница, и как это работает приведу вам просто наглядный пример.

Компилируемый тип языка

Есть я и Вы, у нас обоих есть компьютер. Я собираюсь написать программу для того, чтобы вы потом ее запустили у себя на компьютере. Если язык компилируемый, мне после написания исходного кода, нужно поместить его в так называемую программу компилятор и за компилировать в машинный код или как часто говорят исполняемый код (executable). Вы сможете сразу запустить исполнение данной программы, но никогда не узнаете мой исходный код, так как я его скомпилировал у себя, а вам отправил готовую программу.

Интерпретируемый тип языка

Рассмотрим второй случай, я пишу для вас программу на интерпретируемом языке программирования, после ее написания отсылаю вам. Чтобы просмотреть результат вам придется каждый раз интерпретировать код при помощи вашего интерпретатора, если мы сейчас говорим о javascript, то интерпретатором для него является обычный браузер установленный на ваш компьютер.

Я могу с вами поспорить, что вы каждый день работали с таким интерпретируемым кодом. Открывая множество сайтов на которых есть javascript вы его интерпретируете для просмотра. Ваш браузер строка за строкой читает код и отображает результат вам на экран.

Что же лучше, интерпретация или компиляция? Оба способа имеют свои недостатки и плюсы.

Интерпретируемый и компилированный язык

Существует и так называемый третий вид исполняемых языков — промежуточный, в нем 50 на 50 компилированного и интерпретированного языка. Работает он по следующему алгоритму или принципу, коль угодно.

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

Типы преобразования языков

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

Написать ответ

© 2016 Андриевский Андрей
Украина, город Киев
Тел: (063) 856-2538
E-Mail: admin@sozdaj-sam.com
Web: https://sozdaj-sam.com/