Языки программирования
Языки программирования можно подразделить на языки низкого уровня и языки высокого уровня. Язык низкого уровня – это язык, близкий к машинным кодам. Программа, составленная на таком языке, это последовательность кодов операций и адресов ячеек памяти, в которых находятся операнды и куда следует записать результат операции. Самым «низкоуровневым» языком является совокупность команд процессора. Близким к командам процессора является язык Ассемблер. Применение ассемблера позволяет учесть при написании программы все аппаратные возможности компьютера. Когда-то первые программы писали именно так. Чем ближе язык программирования к машинному коду, тем удобнее он для процессора, - программа выполняется быстрее, места в памяти требуется меньше. Составление программ на Ассемблере отличается исключительно большой трудоемкостью и поэтому сейчас применяется редко, однако по-прежнему широко распространен среди профессиональных программистов. Язык высокого уровня – язык программирования, удобный для человека, состоящий из слов и символов понятных человеку. Языки высокого уровня начали использоваться для создания программ в 60-х годах. К настоящему времени создано и используется множество языков программирования. Их можно классифицировать по четырём основным группам: процедурные, объектно-ориентированные, функциональные и логические. Процедурные языки (С, BASIC, FORTRAN, PASCAL и др.) Программа на таком языке состоит из последовательности команд, обрабатывающих данные. Данные, как правило, хранятся в виде переменных. Весь процесс вычисления сводится к изменению их содержимого. Объектно-ориентированные языки (С++, Java,Visual Basic) Переменные и функции в такой программе группируются в так называемые классы. Благодаря этому достигается более высокий уровень структуризации программы. Работа программы рассматривается как последовательность событий и соответствующих реакций объектов на эти события. В принципе объектно-ориентированный язык базируется на процедурной модели программирования. Функциональные языки Программа состоит из совокупности функций, которые вызывают друг друга. Переменные могут отсутствовать вообще. Алгоритмы, записанные в функциональном виде, как правило, короче и содержат меньше ошибок, чем аналогичные объектно-ориентированные или процедурные. Языки этой группы обладают относительно низким быстродействием из-за сложности реализации. Логические языки (ЛИСП, ПРОЛОГ) Основываются на формальной логике и Булевой алгебре, иногда и средствах нечёткой логики. Программа, записанная на логическом языке программирования, не содержит в себе конкретных алгоритмов (заданной последовательности действий). Задаётся описание условий задачи и логических отношений, по которым программа сама рассчитывает возможные следствия и взаимосвязи введённых данных и формул. Большинство используемых сегодня языков программирования, были созданы на рубеже 60-х и 70-х годов. При этом новые языки не переставали регулярно появляться, однако ни один из них (кроме Java) не задержался в практике программирования. По существу прекращены попытки создания “универсального” языка программирования, призванного объединить в себе все последние достижения в области разработки языков (из попыток 60-х – 70-х годов можно вспомнить Алгол, PL/1, Аду). Крупные "языковые” проекты безвозвратно ушли в прошлое вместе с порожденными ими языками. Наконец, появление персонального компьютера и ОС с графическим интерфейсом (прежде всего Mac OS и Windows) переместило внимание разработчиков программного обеспечения из сферы языков программирования в другие области средств разработки ПО, такие, как визуальное или объектно-ориентированное программирование или модели баз данных. Программист все чаще использует в качестве инструмента не столько язык, сколько конкретную систему программирования (например, Delphi), а какой язык является для нее базовым, не так уж важно. Трансляторы Программу на языке программирования записывают в обычном текстовом редакторе. В таком виде программу называют исходным модулем (кодом, текстом). Исходный программный модуль – исходный текст программы, как правило, на языке высокого уровня. Процессор не может исполнить такую программу, пока ее операторы не будут представлены в виде инструкций процессору. Для этого существуют специальные программы – трансляторы. Транслятор – программа, преобразующая операторы исходного программного модуля в машинный код. Существуют два вида трансляторов: компиляторы и интерпретаторы. Компилятор – программа-транслятор, преобразующая исходный программный модуль в объектный модуль. Объектный модуль – преобразованный в машинный код исходный программный модуль. Объектный модуль хоть и записан в виде машинных кодов, но он работать не может, так как в нем содержатся вызовы стандартных процедур и программ, которые программист предусмотрел использовать из специальных библиотек программ. Эти библиотеки прилагаются к языку программирования. Операцию выбора программ из библиотек и подключения их к объектному модулю выполняет специальная программа – редактор связей. Только после работы редактора связей получают работающую программу – исполняемый модуль(рабочий код). Исполняемый модуль – это объектный модуль с подключенными библиотечными программами. Интерпретатор – программа-транслятор, преобразующая операторы исходного модуля в машинные коды непосредственно перед их исполнением. То есть в этом случае исполнение программы идет в виде чередования процессов преобразования очередного оператора в машинный код и исполнения этого кода. В результате интерпретируемая программы исполняется значительно медленнее в сравнении с исполняемым модулем. Кроме того, обычно используют оптимизирующие компиляторы. Такой компилятор найдет все повторяющиеся места программы и сделает длину объектного модуля минимальной. В результате дополнительно сокращается время исполнения программы, уменьшается потребность в оперативной памяти. Все языки программирования можно условно разделить на компилируемые и интерпретируемые. Поскольку откомпилированные программы выполняются в 20-50 раз быстрее, практически все прикладные и служебные программы поставляются в откомпилированном виде. Файлы таких программ имеют расширение .EXE или .COM. Некоторые интерпретируемые языки программирования могут иметь также и компиляторы. Интерпретируемые языки проще в изучении. Лекция 15
Популярное: Почему двоичная система счисления так распространена?: Каждая цифра должна быть как-то представлена на физическом носителе... Почему человек чувствует себя несчастным?: Для начала определим, что такое несчастье. Несчастьем мы будем считать психологическое состояние... Почему стероиды повышают давление?: Основных причин три... ©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (766)
|
Почему 1285321 студент выбрали МегаОбучалку... Система поиска информации Мобильная версия сайта Удобная навигация Нет шокирующей рекламы |