Языки и системы программирования, их эволюция - Автоматизация решения задач пользователя

Язык программирования - это способ записи программ решения различных задач на ЭВМ в понятной для компьютера форме. Процессор компьютера непосредственно понимает язык машинных команд.

Классификационные группы языков программирования

Фактор

Характеристика

Группы

Примеры ЯП

Уровень ЯП

Степень близости ЯП к архитектуре ПК

Низкий

Автокод, ассемблер

Высокий

Fortran, Pascal, ADA, Basic, С и др.

Сверхвысокий

Сетл

Специализация ЯП

Потенциальная или реальная область применения

Общего назначения (универсальные)

Algol, PL/1, Simula, Бейсик, Паскаль

Специализированные

Fortran (инженерные расчеты), Cobol (Коммерческие задачи), Refal, Lisp(символьная обработка), Modula, ADA(программирование в реальном времени)

Алгоритмичность (процедурность)

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

Процедурные

Ассемблер, Fortran, Basic, Pascal, ADA

Непроцедурные

Prolog, Langin

Визуальный язык программирования [visual programming language] - язык взаимодействия пользователя с системой программирования, реализуемый диалоговыми средствами графического интерфейса пользователя. На визуальном языке программирования можно разрабатывать как оболочки к уже существующим программам, так и программировать новые программные продукты. Одним из первых визуальных языков программирования является язык интегрированной инструментальной оболочки Visual Basic, позволяющий даже начинающим программистам разрабатывать программные изделия малой и средней степени сложности, ориентированные на работу в среде Windows.

Машинно-независимый язык [computer independent language] - язык программирования, структура и средства которого не связаны с конкретной ЭВМ и позволяют выполнять составленные на нем программы на любых ЭВМ, снабженных трансляторами с этого языка. Машинно-независимыми языками являются все языки программирования высокого уровня.

Машинно-ориентированный язык, машинно-зависимый язык [computer-sensitive language, computer-oriented language] - язык программирования, который отражает архитектуру данной ЭВМ или данного класса ЭВМ. Машинно-ориентированный язык может обладать набором основных операторов типичного языка программирования высокого уровня, типы и структура данных которого соответствуют архитектуре определенного класса ЭВМ и при этом иметь средства, позволяющие при программировании учитывать особенности системы команд, организации памяти, способа адресации и представления данных.

Проблемно-ориентированный язык [problem-oriented language] - язык программирования высокого уровня, предназначенный для решения определенного класса задач (проблем). Проблемно-ориентированный язык по возможности использует символику и систему понятий соответствующей проблемной области. Например, для подготовки на компьютере научно-технических книг, статей и других публикаций, содержащих математические формулы, предназначен проблемно-ориентированный язык. Тех, в который в качестве ключевых слов входят некоторые полиграфические и математические термины.

Формализованный язык [formalized language] - язык, полностью или частично определенный по некоторым формальным правилам. К формализованным языкам относятся искусственно созданные алгоритмические языки и языки программирования, основанные на точном предварительном описании алфавита, синтаксиса и семантики. Формализованный язык противопоставляется естественному языку.

Естественный язык [natural language] - язык общения между людьми, правила которого основываются на текущем употреблении, а не на точном предварительном описании. Например, любой национальный разговорный язык. Естественный язык противопоставляется формализованному языку.

Понятия системы программирования

Система программирования представляет собой совокупность средств разработки программ (языки программирования, текстовые редакторы, трансляторы, редакторы связей, библиотеки подпрограмм, утилиты и обслуживающие программы), обеспечивающих автоматизацию составления и отладки программ, подготовку соответствующей документации. Как правило, включает не эталонный вариант языка, а его версию, содержащую определенные упрощения иди расширения. Некоторые системы программирования могут поддерживать разработку программ на нескольких языках. Наиболее известные системы программирования для персональных компьютеров: Visual Studio, созданная фирмой Microsoft, поддерживающая языки программирования Бейсик, Java, C++; Delphi.

Типовая система программирования состоит из следующих компонент:

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

Эволюция языков программирования

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

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

Первыми популярными языками высокого уровня, появившимися в 1950-х гг., были Фортран, Кобол (в США) и Алгол (в Европе). Языки Фортран и Алгол были ориентированы на научно-технические расчеты математического характера. Кобол - язык для программирования экономических задач. В Коболе по сравнению с двумя другими названными языками слабее развиты математические средства, но зато хорошо развиты средства обработки текстов, организация вывода данных в форме требуемого документа. Для первых ЯПВУ предметная ориентация языков была характерной чертой.

Большое количество языков программирования появилось в 1960 - 1970-х гг. А за всю историю ЭВМ их было создано более тысячи. В 1965 г. был разработан язык Бейсик. По замыслу авторов это простой язык, легко изучаемый, предназначенный для программирования несложных расчетных задач.

В эпоху ЭВМ третьего поколения получил большое распространение язык PL/I. Это был первый язык, претендовавший на универсальность, т. е. на возможность решать любые задачи: вычислительные, обработки текстов, накопления и поиска информации. Однако PL/I оказался слишком сложным языком.

Значительным событием в истории языков программирования стало создание в 1971 г. языка Паскаль. Наибольший успех в распространении этого языка обеспечили персональные компьютеры. В США разработали систему программирования Турбо Паскаль для ПК. Турбо Паскаль - это не только язык и транслятор с него, но еще и операционная оболочка, обеспечивающая пользователю удобство работы. Турбо Паскаль вышел за рамки учебного предназначения и стал языком профессионального программирования с универсальными возможностями. В силу названных достоинств Паскаль стал основой многих современных языков программирования, например, таких как Ада, Модула-2 и др.

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

Модула-2 основан на базе языка Паскаль и содержит средства для создания больших программ.

ЭВМ пятого поколения называют машинами "искусственного интеллекта". Но прототипы языков для этих машин были созданы существенно раньше их физического появления. Это языки ЛИСП и Пролог.

Язык ЛИСП основан на понятии рекурсивно определенных функций. А поскольку доказано, что любой алгоритм может быть описан с помощью некоторого набора рекурсивных функций, то ЛИСП, по сути, является универсальным языком. С его помощью на ЭВМ можно моделировать достаточно сложные процессы, в частности интеллектуальную деятельность людей.

Язык Пролог используется для решения проблемы "искусственного интеллекта". Пролог позволяет в формальном виде описывать различные утверждения, логику рассуждений и заставляет ЭВМ давать ответы на заданные вопросы.

2. Практическая часть

Похожие статьи




Языки и системы программирования, их эволюция - Автоматизация решения задач пользователя

Предыдущая | Следующая