Классификация языков программирования
язык программирования является средством для написания компьютерных программ, имеющим алфавит, правила синтаксиса и семантики. Язык программирования — набор ключевых слов (словарь) и система правил (грамматических и синтаксических) для конструирования операторов для написания программы для ЭВМ.
Существуют различные классификации языков программирования. По зависимости от структуры компьютера выделяют языки:
Низкого уровня - в группу языков низкого уровня входят машинные языки и языки символического кодирования: (Автокод, Ассемблер). Операторы этого языка – это те же машинные команды, но записанные мнемоническими кодами, а в качестве операндов используются не конкретные адреса, а символические имена. Все языки низкого уровня ориентированы на определенный тип компьютера, т. е. являются машинно-зависимыми. Машинно-ориентированные языки – это языки, наборы операторов и изобразительные средства которых существенно зависят от особенностей ЭВМ (внутреннего языка, структуры памяти и т.д.).
высокого уровня – команды записывают на понятном человеку языке. Эту более многочисленную группу составляют языки программирования высокого уровня. Это Фортран, Алгол, Кобол, Паскаль, Бейсик, Си, Пролог и т.д. Эти языки машинно-независимы, т.к. они ориентированы не на систему команд той или иной ЭВМ, а на систему операндов, характерных для записи определенного класса алгоритмов, и требуют использования программ-переводчиков (трансляторов) для представления программы на языке машины. Программы, написанные на языках высокого уровня, занимают больше памяти и медленнее выполняются, чем программы на машинных языках.
Языки программирования можно классифицировать по логике решения задачи:
- процедурные языки - программа явно описывает действия, которые необходимо выполнить, а результат задается только способом получения его при помощи некоторой процедуры, которая представляет собой определенную последовательность действий.
Среди процедурных языков выделяют в свою очередь структурные и операционные языки. В структурных языках одним оператором записываются целые алгоритмические структуры: ветвления, циклы и т.д. В операционных языках для этого используются несколько операций. Широко распространены следующие структурные языки: Паскаль, Си, Ада, ПЛ/1. Среди операционных известны Фортран, Бейсик, Фокал. Можно выделить объектно–ориентированные языки высокого уровня (Си++, Visual Basic, Java и др.). На таких языках не описывают подробной последовательности действий для решения задачи, хотя они содержат элементы процедурного программирования. Объектно–ориентированные языки, благодаря богатому пользовательскому интерфейсу, предлагают человеку решить задачу в удобной для него форме.
- непроцедурные (декларативные) – программа не описывает последовательность действий для решения задачи. Эти языки появились в начале 70-х годов 20 века. К непроцедурным относятся функциональные и логические языки.
В функциональных языках программа описывает вычисление некоторой функции. Обычно эта функция задается как композиция других, более простых, те в свою очередь делятся на еще более простые задачи и т.д. Один из основных элементов функциональных языков – рекурсия. Оператора присваивания и циклов в классических функциональных языках нет.
В логических языках программа вообще не описывает действий. Она задает данные и соотношения между ними. После этого системе можно задавать вопросы. Машина перебирает известные и заданные в программе данные и находит ответ на вопрос. Порядок перебора не описывается в программе, а неявно задается самим языком. Классическим языком логического программирования считается Пролог. Программа на Прологе содержит, набор предикатов–утверждений, которые образуют проблемно–ориентированную базу данных и правила, имеющие вид условий.
Одним из признаков классификации языков программирования может быть тип решаемой задачи:
Задачи искусственного интеллекта - Lisp, Prolog, Multilisp, Commonlisp, Рефал, Planner, QA4, FRL, KRL.
Параллельные вычисления - Fun, Apl, Alfl, PARAlfl, ML, SML, PPL/1, Hope, Miranda, Occam, PFOR, Glypnir, Actus, параллельный Cobol, ОВС-ЛЯПИС, ОВС-Мнемокод, ОВС-Алгол, ОВС-Фортран, PA(1), PA(G).
Задачи вычислительной математики и физики - Occam, PFOR, Glypnir, Actus,параллельный Cobol, ОВС-ЛЯПИС, ОВС-Мнемокод, ОВС-Алгол, ОВС-Фортран, PA(1), PA(G).
Разработка интерфейса - Forth, c, C++, Ассемблер, Макроассемблер, Simula-67, OAK, Smalltalk, Java.
Разработка программ-оболочек, разработка систем – Forth, C++, Ассемблер, Макроассемблер, Simula-67, OAK, Smalltalk, Java.
Задачи вычислительного характера - Algol, Fortran, Cobol, Ada, PL/1, Фокал, Basic, Pascal.
Оформление документов, обработка больших текстовых файлов, организация виртуальных трехмерных интерфейсов в Интернете, разработка баз данных - HTML, Perl, Java, VRML, SQL, PL/SCL, DDL, DSDL, SEQUEL.
В последнее время, говоря о программировании в Internet, часто имеют в виду создание публикаций с использованием языка разметки гипертекстовых документов HTML. Применение специальных средств (HTML–редакторов) позволяет не только создавать отдельные динамически изменяющиеся интерактивные HTML–документы, используя при этом данные мультимедиа, но и редактировать целые сайты. Ява – язык для программирования Internet, позволяющий создавать безопасные, переносимые, надежные, объектно–ориентированные интерактивные программы.
-
Содержание
- Содержание
- Введение
- Лекция 1. Введение в курс. Классификация компьютерных информационных технологий
- Предмет дисциплины. Понятие «компьютерные информационные технологии»
- Технологическая схема обработки информации
- Базовые и специальные информационные технологии
- Контрольные вопросы
- Литература
- Основные понятия
- Лекция 2. Информационные ресурсы автоматизированных систем обработки экономической информации
- Понятие «информационные ресурсы». Классификация
- Политика Республики Беларусь в области формирования информационных ресурсов
- Информационные услуги, режимы их предоставления
- Контрольные вопросы
- Литература
- Основные понятия
- Лекция 3. Техническое обеспечение компьютерных информационных технологий
- Классификация эвм
- Процессоры
- Устройства автоматизации ввода данных
- Контрольные вопросы
- Литература
- Основные понятия
- Лекция 4. Сетевые информационные технологии. Компьютерные сети: основные понятия и принципы построения
- Компьютерные сети: понятие, классификация
- Топология компьютерной сети
- Модель коммутационной сети
- Контрольные вопросы
- Литература
- Основные понятия
- Лекция 5. Локальные вычислительные сети
- 1. Оборудование лвс
- 2. Методы доступа к сети
- 3. Стандарты локальных сетей
- Контрольные вопросы
- Литература
- Основные понятия
- Лекция 6. Сетевые информационные технологии. Сетевые модели
- Эталонная модель osi
- Конвергенция компьютерных и телекоммуникационных сетей
- Корпоративные сети
- Преимущества, которые дает использование сетей
- Контрольные вопросы
- Литература
- Основные понятия
- Лекция 7. Глобальные компьютерные сети
- 1. Глобальная сеть Интернет, протоколы tcp/ip
- 2. Адресация компьютеров в сети
- 3. Услуги Интернет
- Контрольные вопросы
- Литература
- Основные понятия
- Лекция 8. Сетевые ит. Интернет и бизнес
- Задачи бизнеса в Интернете
- Классификация электронного бизнеса
- 3. Правовые аспекты электронного бизнеса
- Контрольные вопросы
- Литература
- Основные понятия
- Лекция 9. Сетевые информационные технологии. Электронные платежные системы
- Виды платежных систем
- Услуги платежных систем в Беларуси
- Формирование сетевой экономики
- Контрольные вопросы
- Литература
- Основные понятия
- Лекция 10. Технологии обеспечения безопасности информационных систем
- 1. Понятие безопасности информационных систем
- 2. Угрозы информационно безопасности
- 3. Методы и средства защиты информации
- Физические и юридические лица имеют право
- Особенности обеспечения безопасности в компьютерных сетях
- Контрольные вопросы
- Литература
- Основные понятия
- Лекция 11. Программное обеспечение компьютерных информационных технологий. Системное по
- Модели разработки и распространения по
- Виды лицензий на использование по
- Контрольные вопросы
- Литература
- Основные понятия
- Лекция 12. Программное обеспечение компьютерных информационных технологий. Прикладное по
- Технологии обработки информации. Офисные пакеты
- Технологии автоматизированного ввода документа (осr-системы)
- Технологии автоматизации перевода текстов
- Технологии организации рабочего места
- Контрольные вопросы
- Литература
- Основные понятия
- Лекция 13. Технологии искусственного интеллекта
- Понятие искусственного интеллекта
- 2. Области применения ии
- Понятие экспертной системы
- Контрольные вопросы
- Литература
- Основные понятия
- Лекция 14. Пакеты для математической обработки данных. Maple. Основы работы
- Компоненты экрана, справочная система Maple
- Вычисления в Maple
- Числа и константы
- Стандартные функции
- Преобразование математических выражений
- Решение уравнений
- Численное решение уравнений
- Контрольные вопросы
- Литература
- Основные понятия
- Лекция 15. Пакеты для математической обработки данных.Maple. Матрицы и графики
- Работа с массивами
- Графики и анимация
- Контрольные вопросы
- Литература
- Основные понятия
- Лекция 16. Технологии и инструментальные средства программирования. Основы алгоритмизации
- 1. Понятие алгоритма
- 2. Типы алгоритмических процессов
- Повторять:
- 3. Способы записи алгоритмов
- Контрольные вопросы
- Литература
- Основные понятия
- Лекция №17. Технологии и инструментальные средства программирования. Языки программирования
- Технологии разработки программных комплексов
- Классификация языков программирования
- Инструментальные средства программирования
- Контрольные вопросы
- Литература
- Основные понятия