Программирование- это область информатики, посвящённая разработке программ управления компьютером с целью решения различных информационных задач.
Система программирования- программное обеспечение компьютера, предназначенное для разработки, отладки и исполнения программ, записанных на определённом языке программирования.
Язык программирования- это фиксированная система обозначений для описания алгоритмов и структур данных.
Существует три вида трансляторов:
Интерпретатор - программа или устройство, осуществляющее пооператорную трансляцию и выполнение исходной программы. В отличие от компилятора, интерпретатор не порождает на выходе программу на машинном языке. Распознав команду исходного языка, он тут же выполняет ее. Как в компиляторах, так и в интерпретаторах используются одинаковые методы анализа исходного текста программы. Но интерпретатор позволяет начать обработку данных после написания даже одной команды. Это делает процесс разработки и отладки программ более гибким. Кроме того, отсутствие выходного машинного кода позволяет не "захламлять" внешние устройства дополнительными файлами, а сам интерпретатор можно достаточно легко адаптировать к любым машинным архитектурам, разработав его только один раз на широко распространенном языке программирования. Поэтому, интерпретируемые языки, типа Java Script, VB Script, получили широкое распространение. Недостатком интерпретаторов является низкая скорость выполнения программ. Обычно интерпретируемые программы выполняются в 50-100 раз медленнее программ, написанных в машинных кодах.
Чес же компилятор отличается от интерпретатора?
Система программирования- программное обеспечение компьютера, предназначенное для разработки, отладки и исполнения программ, записанных на определённом языке программирования.
Язык программирования- это фиксированная система обозначений для описания алгоритмов и структур данных.
Название
|
Создатель
|
Дата
появления
|
Предназначение
|
Фортран
|
Джон Бэкус
|
1957
|
Создан для машин, построенных по классической схеме фон Неймана.
|
Pascal
|
Никлаус Вирт
|
1970
|
Используется для обучения структурному программированию.
|
Бейсик
|
Джон Кемени
|
1963
|
Он создавался как решение проблем,
связанных со сложностью более старых языков, и предназначался для более
«простых» пользователей, заинтересованных не столько в скорости своих
программ, сколько просто в возможности использовать компьютер для решения
своих задач.
|
C++
|
Бьёрн Страуструп
|
1983
|
Компилируемый строго типизированный язык программирования общего
назначения.
|
Entropy
|
Дениэл Темкин
|
2010
|
Неточный эзотерический язык программирования.
|
Java
|
Оркакл
|
1995
|
Используется для написания апплетов, приложений и серверного
программного обеспечения.
|
Python
|
Гвидо ван Россум
|
1990
|
Интерпретируемый
объектно-ориентированный язык программирования высокого уровня с динамической
типизацией, автоматическим управлением памятью и удобными высокоуровневыми
структурами данных, такими как словари (хэш-таблицы), списки, кортежи.
|
Focal
|
Ричард Мерилл
|
1968
|
Создан для компьютеров PDP-8 фирмы Digital Equipment Corporation.
|
Logo
|
Сеймур Пейперт
Идит Харель
|
1967
|
Используется преимущественно в образовательных целях.
|
Mercury
|
Фергюс Хендерсон
|
8 апреля 1995
|
Предназначен для создания прикладных программ.
|
Транслятор-программа, которая принимает на вход программу на одном языке (он в этом случае называется исходный язык), и преобразует её в программу, написанную на другом языке.
- ассамблеры
- компиляторы
- интерпретаторы
Ассемблер - системная обслуживающая программа, которая преобразует символические конструкции в команды машинного языка. Специфической чертой ассемблеров является то, что они осуществляют дословную трансляцию одной символической команды в одну машинную. Таким образом, язык ассемблера (еще называется автокодом) предназначен для облегчения восприятия системы команд компьютера и ускорения программирования в этой системе команд. Программисту гораздо легче запомнить мнемоническое обозначение машинных команд, чем их двоичный код.
Компилятор - это обслуживающая программа, выполняющая трансляцию на машинный язык программы, записанной на исходном языке программирования. Также как и ассемблер, компилятор обеспечивает преобразование программы с одного языка на другой (чаще всего, в язык конкретного компьютера). Вместе с тем, команды исходного языка значительно отличаются по организации и мощности от команд машинного языка. Существуют языки, в которых одна команда исходного языка транслируется в 7-10 машинных команд. Однако есть и такие языки, в которых каждой команде может соответствовать 100 и более машинных команд (например, Пролог). Кроме того, в исходных языках достаточно часто используется строгая типизация данных, осуществляемая через их предварительное описание. Программирование может опираться не на кодирование алгоритма, а на тщательное обдумывание структур данных или классов. Процесс трансляции с таких языков обычно называется компиляцией, а исходные языки обычно относятся к языкам программирования высокого уровня (или высокоуровневым языкам). Абстрагирование языка программирования от системы команд компьютера привело к независимому созданию самых разнообразных языков, ориентированных на решение конкретных задач. Появились языки для научных расчетов, экономических расчетов, доступа к базам данных и другие.
- Интерпретатор берет одну инструкцию, транслирует и выполняет ее, а затем берет следующую инструкцию. Компилятор же транслирует всю программу сразу, а потом выполняет ее.
- Компилятор генерирует отчет об ошибках после трансляции всего, в то время как интерпретатор прекратит трансляцию после первой найденной ошибки.
- Компилятор по сравнению с интерпретатором требует больше времени для анализа и обработки языка высокого уровня.
- Помимо времени на обработку и анализ, общее время выполнения кода компилятора быстрее в сравнении с интерпретатором.
Комментариев нет:
Отправить комментарий