Тема 1. Классификация языков программирования. Машинный язык, ассемблер, языки высокого уровня. Трансляторы языков: интерпретаторы и компиляторы
Для решения задачи на компьютере необходимо исходные данные задачи и алгоритм ее решения записать на формальном языке программирования в виде программы, ввести программу и данные в память компьютера и подать компьютеру команду на её исполнение. По степени зависимости языков программирования от структуры конкретного компьютера их условно можно разделить на языки низкого, среднего и высокого уровня.
К языкам низкого уровня относят языки машинных команд конкретных компьютеров. Программа на машинном языке представляет собой последовательность команд, содержащих коды выполняемых компьютером операций и адреса, участвующих в этих операциях операндов. Это машинно–зависимые языки. Программа, записанная на машинном языке одного компьютера, не всегда может быть выполнена на другом компьютере ввиду различий в системах команд и структурах этих компьютеров. Такие программы отличает высокое быстродействие и малые затраты памяти. Программирование на машинных языках связано с большими затратами времени.
Недостатки машинных языков частично отсутствуют в машинно–ориентированных языках среднего уровня. Многие действия, затрудняющие программирование на машинном языке переданы компьютеру. Вместо конкретных адресов и кодов операций применяется символика, используются макрокоманды, объединяющие несколько действий в одной команде. К языкам среднего уровня относят так называемые автокоды и языки Ассемблера — переводчика автокодов на машинный язык. Такие переводчики называют трансляторами. Языки Ассемблера позволяют наиболее полно использовать все возможности структуры компьютера.
Языки программирования высокого уровня машинно-независимы. Достаточно только, чтобы компьютер имел транслятор с данного языка на свой машинный язык. Языки программирования высокого уровня делят на проблемно-ориентированные и универсальные.
Проблемно ориентированные языки разрабатываются с целью сделать более эффективным программирование задач одного класса, например, задач экономических (Кобол), искусственного интеллекта (Лисп, Пролог), обучения (ЛОГО) и т.п.
Универсальные языки программирования позволяют успешно решать широкий круг задач различного характера. Среди них следует назвать один из первых процедурно–ориентированных языков Фортран (1950 г.), который и в настоящее время продолжает развиваться и совершенствоваться, Алгол–60 (1960 г.). К ним относятся также последние версии Бейсика, Паскаль, Си, APL и др.
Как правило, каждый из языков программирования в течение своей «жизни» добавляется, модернизируется, усиливается. Так появляются новые версии языка. Например, язык Бейсик, предложенный профессором математики Дортмутского колледжа (США) Томасом Куртцем как простой язык для начинающих, постепенно превратился в мощные универсальные языки высокого уровня: GW Basic, QBasic, Quick Basic, Basic PDS 7.1 (Basic Professional Development System — профессиональное расширение языка для DOS), Visual Basic.
Современная среда Windows включила Бейсик как базовый язык программирования. Приложения под Windows используют версии Бейсика в качестве языков управления. Все это указывает на хорошие перспективы самого популярного в мире языка.
Одним из перспективных направлений развития технологий программирования считается создание объектно–ориентированных языков.
Это перспективные системы нового поколения. В качестве основного понятия систем объектно-ориентированного программирования выступает объект, объединяющий свойства и поведение модели, то есть включающий в себя как описывающие модель данные, так и средства обработки этих данных. В системах объектно-ориентированного программирования широко используется графический интерфейс. Процесс программирования сводится к конструированию программы с помощью мыши из готовых или вновь создаваемых объектов.
Принцип визуального программирования в большей степени реализован в системах объектно–ориентированного программирования Дельфи (Delphi), Visual Java («ява» или «джава»).
Близок к объектно–ориентированным языкам и Microsoft Visual Basic, однако его по–прежнему считают процедурным языком. Он широко распространен и используется в программах Microsoft Office Word, Excel и Access.
В Интернет используются язык гипертекстовой разметки HTML, язык моделирования виртуальной реальности VRML.
При обсуждении выбора начального языка программирования многие отмечают несомненные преимущества последних версий Бейсика перед другими языками. При своей очевидной простоте освоения они в большей степени «заставляют думать», помогают развивать воображение и чувство стиля, позволяют прививать хорошие начальные программистские навыки. В настоящее время это один из наиболее востребованных языков.
Copyright © 2005. Петрова Людмила Борисовна