Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Опорный конспект по программированию (наиболее....doc
Скачиваний:
28
Добавлен:
27.10.2018
Размер:
2.51 Mб
Скачать
      1. Уровни языков программирования

Языки программирования как искусственные языки характеризуются:

  • ограниченным числом «слов»,

  • строгими правилами записи команд (операторов).

Синтаксис языка программирования это совокупность правил записи операторов. Семантика языка программирования это смысл конструкций языка.

Условная классификация языков программирования представлена на рис. 2.2.

Языки программирования низкого уровня ориентированы на конкретный тип процессора и учитывают его особенности. Операторы языка близки к машинному коду и ориентированы на конкретные команды процессора

Рис.2.2 Классификация языков программирования

Особенности языков низкого уровня:

  • предназначены для эффективных и компактных программ,

  • требуют знания устройства компьютера,

  • затрудняется отладка больших приложений,

  • результирующая программа не может быть перенесена на компьютер с другим типом процессора.

Языки низкого уровня применяют для разработки:

  • небольших системных приложений,

  • драйверов устройств,

  • модулей стыковки с нестандартным оборудованием,

  • библиотек программ, эффективно реализующих сложные вычислительные алгоритмы.

Язык ассемблера – это первый язык самого низкого уровня:

  • представляет каждую команду машинного кода в виде символьных условных обозначений – мнемоники,

  • транслитерация – однозначное преобразование одной машинной инструкции в одну команду ассемблера,

  • конкретной компьютерной архитектуре соответствует свой язык ассемблера.

Языки программирования высокого уровня:

  • ориентированы на понимание человеком,

  • не учитывают особенности конкретных компьютерных архитектур,

  • исходные тексты легко переносимы на другие платформы,

  • легкость и надежность разработки программ.

Эволюция языков программирования представлена в таблице 2.4.

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

Этап

Период

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

1

Начало 50-х годов

Создан первый язык ассемблера («одна инструкция – одна строка»).

2

Конец 50-х – начало 60-х годов

Разработан символический ассемблер (впервые появилось понятие переменной)

3

60-е годы

Разработаны первые универсальные языки высокого уровня для решения задач из разных областей

4

Начало 70-х годов

Появились проблемно-ориентированные языки для реализации крупных проектов в специализированных областях применения

5

Середина 90-х годов

Разрабатываются системы автоматического создания прикладных программ с помощью визуальных средств

      1. Современные языки программирования высокого уровня

Ретроспективный обзор языков высокого уровня представлен в таблице 2.5.

Таблица 2.5 Обзор языков высокого уровня

п/п

Имя языка

Характеристика языка

Языки высокого уровня

1

FORTRAN (Фортран)

  • первый компилируемый язык (50-е годы);

  • основной критерий разработки компиляторов Фортрана - эффективность исполняемого кода;

  • создано большое количество библиотек;

  • современный стандарт Фортрана для параллельных суперкомпьютеров с множеством процессоров.

2

COBOL (Кобол)

  • компилируемый язык для применения в экономической области и решения бизнес-задач (начало 60-х годов);

  • отличается «многословностью»;

  • реализованы мощные средства работы с большими объемами данных, хранящимися на различных внешних носителях;

  • создано много приложений, активно эксплуатирующихся и сегодня.

3

Algol (Алгол)

  • компилируемый язык (1960 г.);

  • из-за сложной структуры не получил широкого распространения.

4

Pascal (Паскаль)

  • создан в конце 70-х годов Никлаусом Виртом;

  • похож на Алгол;

  • ужесточены требования к типизации структур данных;

  • предназначен для создания крупных проектов.

5

Basic (Бейсик)

  • создавался в 60-х годах в качестве учебного языка;

  • по популярности занимает первое место в мире;

  • разработаны и компиляторы, и интерпретаторы:

  • очень прост в изучении.

6

С (Си)

  • планировался для замены ассемблера;

  • позволяет создавать эффективные и компактные программы;

  • не зависит от конкретного типа процессора;

  • похож на Паскаль и имеет дополнительные средства для прямой работы с памятью (указатели);

  • в 70-е годы написано множество прикладных, системных программ, операционные системы (Unix ).

7

C++

  • объектно-ориентированное расширение Си (1980 г);

  • мощные возможности повышения производительности программистов;

  • унаследованная от языка Си низкоуровневость;

  • требуется высокий уровень профессиональной подготовки программистов.

8

Java (Джава, Ява) компания SUN

  • по популярности занимает второе место в мире после Бейсика;

  • создан в начале 90-х гг. на основе Си++;

  • предназначался для упрощения разработок на основе Си++ за счет исключения всех низкоуровневых возможностей;

  • компиляция в платформо-независимый байт-код;

  • байт-код выполняется интерпретатором – виртуальной Java-машиной (Java Virtual Machine) -> невысокое быстродействие

  • версии Java-машины созданы для любых платформ;

  • программы на Java переносимы как на уровне исходных текстов, так и на уровне двоичного байт-кода;

  • направления развития:

    • поддержка мобильных устройств и микрокомпьютеров бытовой техники;

    • создание платформо-независимых программных модулей, способных работать на серверах в глобальных и локальных сетях с различными операционными системами.

9

С# (Си Шарп) компания Microsoft

  • создан в конце 90-х годов;

  • воплотил лучшие идеи Си, Си++, достоинства Java;

  • ориентирован на платформу Windows;

  • формально не отличается от универсальных языков;

  • предназначен для быстрой разработки .NET-приложений

Языки логического программирования

PROLOG

  • разработан в конце 70-х годов

  • программа представляет собой множество аксиом

  • постановка задачи формализована в виде логического утверждения, подлежащего доказательству

  • выполнение программы состоит в попытке решить задачу, т.е. доказать целевое утверждение, используя предположения, заданные в логической программе

CLP (Constrain Logic Programming)

  • программирование в ограничениях (constraint programming) - определяется множество переменных и ограничения, которым они должны удовлетворять; система находит подходящие значения

Языки программирования и системы управления базами данных

1

SQL (Structured Query Language)

  • основан на мощной математической теории (реляционная алгебра);

  • эффективен за счет групповых операций над записями:

    • создание/модификация свойств/удаление таблиц в БД;

    • поиск, отбор, сортировка информации по запросам;

    • добавление новых записей;

    • модификация существующих записей;

    • удаление существующих записей

2

СУБД (Системы Управления Базами Данных)

  • предназначены для управления большими базами данных и их эффективной обработки;

  • поддержка языка SQL;

  • снабжены встроенным уникальным языком, ориентированным на особенности СУБД;

  • Ведущие производители промышленных СУБД:

    • Microsoft (SQL Server),

    • IBM (DB2),

    • Oracle.

  • Настольные СУБД для ПК:

    • Родоначальник - СУБД dBaseII с интерпретируемым языком;

    • СУБД FoxPro и Clipper, совместимые с языком dBaseII;

    • настольная СУБД Microsoft Access.

Языки программирования для Интернет (скрипт-языки)

1

Общая характеристика

  • адаптация популярных языков программирования для целей Интернет;

  • интерпретируемые;

  • интерпретаторы для них распространяются бесплатно;

  • программы – в исходных текстах.

2

HTML

  • предназначен для оформления документов;

  • содержит элементарные команды:

    • форматирования текста,

    • добавления рисунков,

    • задания шрифтов и цветов,

    • организации ссылок и таблиц;

  • все Web-страницы написаны на языке HTML или используют его расширения.

3

Perl

  • создан в 80-х годах;

  • средство:

    • эффективной обработки больших текстовых файлов,

    • генерации текстовых отчетов,

    • управления задачами;

  • по мощности превосходит языки типа Си.

4

РНР

  • создан в 1995 году;

  • разработаны встроенные средствами доступа к базам данных;

  • ориентирован на создание динамических сайтов.

5

XML

  • создан 1996 г. (WWW-консорциум);

  • универсальный язык разметки структуры документов (технология SGML);

  • основа множества системных, сетевых и прикладных приложений;

  • акцент на внутреннюю структуру иерархически организованных документов.

Языки моделирования (формальные нотации, CASE-системы)

1

IDEF, UML

  • специализированный графический редактор;

  • генератор исходных текстов программ на основе созданной графической модели.