Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Опорный конспект по программированию (наиболее....doc
Скачиваний:
46
Добавлен:
27.10.2018
Размер:
3 Мб
Скачать
☆
      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

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

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