Языки и системы программирования, их эволюция - Автоматизация решения задач пользователя
Язык программирования - это способ записи программ решения различных задач на ЭВМ в понятной для компьютера форме. Процессор компьютера непосредственно понимает язык машинных команд.
Классификационные группы языков программирования
Фактор |
Характеристика |
Группы |
Примеры ЯП |
Уровень ЯП |
Степень близости ЯП к архитектуре ПК |
Низкий |
Автокод, ассемблер |
Высокий |
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. Практическая часть
Похожие статьи
-
Эволюция языков программирования - Модульное и объектно-ориентированное программирование
Принцип программного управления компьютером состоит в том, что человек подает команды на логические схемы, которые управляют различными подсистемами...
-
Язык программирования R - Технологии больших данных: анализ и выбор решения для реализации проекта
Язык программирования R является универсальным и разработан для применения в следующих областях: разведочный анализ данных, классические статистические...
-
Поколения языков программирования Языки программирования принято делить на пять поколений. В первое поколение входят языки, созданные в начале 50-х...
-
Языки и методы параллельного программирования - Администрирование параллельных процессов
Применение параллельных архитектур повышает производительность при решении задач, явно сводимых к обработке векторов. Автоматическое распараллеливание...
-
Математический аппарат Для понимания всего дальнейшего полезно знать и представлять себе геометрическую интерпретацию задач линейного программирования,...
-
Завершив выбор схемы работы системы и общего принципа работы ее частей и выбрав тип базы данных, следует перейти к выбору языка программирования....
-
Табличный процессор Excel фирмы Microsoft предназначен для ввода, хранения, обработки и выдачи больших объемов, данных в виде, удобном для анализа и...
-
Операционная система Windows XP была разработана и выпущена на смену операционной системе DOS фирмой Microsoft XP в 2002 году. Именно поэтому она и...
-
Постановка задачи: Для заданных функций необходимо: 1. Построить электронную таблицу (одну для обеих функций) для вычисления значений функций в заданном...
-
Постановка задачи: Фирма приобрела технологическую линию за начальную стоимость Sn. Срок службы технологической линии составляет K лет. Остаточная...
-
Разработка приложения на языке C++ - Программирование на языке C++
C++ - объектно-ориентированный язык программирования. Разработан в 1998--2001 годах группой инженеров под руководством Андерса Хейлсберга в компании...
-
Для того, чтобы разработать оптимальный метод интеграции сторонних систем в существующую ИТ-инфраструктуру систем компании, требуется точно поставить...
-
Выбор средств реализации информационной системы Названные в параграфе 1.4. настоящей работы задачи могут быть решены тремя типами средств автоматизации:...
-
Для программирования агентов могут применяться: универсальные языки (Java, C++ , Visual Basic и др.), языки представления знаний (SL, KIF), языки...
-
В настоящее время существует несколько видов СУБД. Для создания базы данных "Учет посещаемости в детском саду" была выбрана СУБД Paradox. Выбор...
-
Excel программирование статистический Статистические функции Применение статистических функций облегчает пользователю статистический анализ данных. Целый...
-
Языки программирования высокого уровня - Инструментальные средства разработки экспертных систем
Языки высокого уровня являются в руках опытного программиста прекрасным средством быстрого создания прототипа экспертной системы, позволяют обеспечить...
-
Функционально-структурная организация персонального компьютера. Персональные компьютеры используют в домашних условиях. Их основное назначение:...
-
Связь типов информационных систем с задачами принятия решений - Системы поддержки принятия решений
Применяются отдельные модели и методы для принятия оптимальных решений. Отметим, что в существенной мере характер всех поколений систем и их концепций...
-
При создании программ и формировании структур баз данных нередко применяются формальные способы их представления - формальные нотации, с помощью которых...
-
Введение. - Приложения технологии системы электронных таблиц Excel к решению задач механики
История развития программ обработки электронных таблиц насчитывает немногим более десяти лет, но налицо значительный прогресс в области разработки такого...
-
В нашей курсовой работе была поставлена задача создания обучающей программы по информатике, с помощью которой студенты смогут проверить свои знания в...
-
ВВЕДЕНИЕ - Разработка системы регистрации новых пользователей
В связи с развитием рыночных отношений в России и необходимостью сокращения разрыва в технологическом отставании России от западных стран, актуальным...
-
Платформа. NET Framework - Программирование на языке C++
.NET Framework - программная платформа, выпущенная компанией Microsoft в 2002 году. Основой платформы является общеязыковая среда исполнения Common...
-
В качестве предметной области для дипломного проекта была выбрана организация МКДОУ детский сад №85 "Почемучка". Описание и основные виды деятельности...
-
ЗАДАНИЕ, КРАТКИЕ ТЕОРЕТИЧЕСКИЕ СВЕДЕНИЯ - Основы программирования в операционной системе Unix
Цель работы : изучение и использование языка программирования С++ для работы с ресурсами операционной системы Unix. Написать программу на языке С++ в...
-
Из универсальных языков программирования сегодня наиболее популярны следующие: Бейсик (Basic), Паскаль (Pascal), Си++ (C++), Ява (Java). Для каждого из...
-
Введение - Основные свойства функциональных языков программирования
Созданная в 1998 году спецификация языка Haskell (названного так в честь ученого Хаскелла Карри, одного из основоположников функционального...
-
Обзор языков программирования высокого уровня - Теоретические основы информационных технологий
Fortran (Фортран) Это первый компилируемый язык, созданный в 50-е годы. Программисты, разрабатывавшие программы исключительно на ассемблере, выражали...
-
При создании или при классификации информационных систем неизбежно возникают проблемы, связанные с формальным - математическим и алгоритмическим...
-
Технология программирования Для реализации поставленной задачи наиболее удобной парадигмой программирования будет являться объектно-ориентированная...
-
Технические требования Техническое задание данной работы требует разработать программу для визуального редактирования HTML-кода. Программа должна быть...
-
При разработке практически всех инструментальных средств за основу принимается методология автоматизации проектирования на базе использования прототипов....
-
Методика решения задач ЛП графическим методом - Линейное программирование
I. В ограничениях задачи (1.2) заменить знаки неравенств знаками точных равенств и построить соответствующие прямые. II. Найти и заштриховать...
-
Возможность использования формул и функций является одним из важнейших свойств программы обработки электронных таблиц. Это, в частности, позволяет...
-
Широкое распространение в операционной системе Windows имеет множество стандартных программ обеспечивающих работу устройств компьютера и служащих для...
-
Математическое и программное обеспечение (МО, ПО)- совокупность математических методов, моделей, алгоритмов и программ для реализации целей и задач...
-
Входная информация разделяется на условно-постоянную и оперативно-учетную информацию. - Условно-постоянная информация включает в себя справочные данные о...
-
Автоматизированного контроля летной годности ВС можно добиться путем внедрения определенного программного продукта, позволяющего оптимизировать...
-
Инструментарий технологии программирования - программные продукты поддержки (обеспечения) технологии программирования. В рамках этого направления...
Языки и системы программирования, их эволюция - Автоматизация решения задач пользователя