Контрольный рубеж 2 / Языки программирования
.docxОтветы к рубежному контролю № 2
-
Языки программирования низкого уровня
Если язык программирования ориентирован на конкретный тип процессора и учитывает его особенности, то он называется языком программирования низкого уровня.
Пример: язык ассемблера. Представляет каждую команду машинного кода не в виде чисел, а с помощью символьных условных обозначений, называемых мнемониками.
Преобразование одной машинной инструкции в одну команду ассемблера называется транслитерацией.
Язык ассемблера применяется там, где требуется компактность, быстродействие и возможность прямого доступа к аппаратным ресурсам.
Применяется для написания небольших системных приложений, драйверов, модулей стыковки с нестандартным оборудованием.
Языки программирования высокого уровня не учитывают конкретных компьютерных архитектур. Создаваемые программы легко переносятся на другие платформы, для которых создан транслятор этого языка.
-
Парадигмы языков программирования
Императивные (процедурные) языки описывают решение задачи как последовательность процедур
Функциональные языки описывают требуемый результат в виде набора вложенных друг в друга функций (Haskell)
Логические языки описывают требуемый результат в виде суммы логических операций (Prolog)
Объектно-ориентированные языки способны определять абстрактные типы данных и реализовывать основные парадигмы ООП: инкапсуляцию, наследование и полиморфизм (C++, Java, Object Pascal и др.)
-
Поколения языков программирования
-
Первый этап – машинные коды (50-е гг.)
-
Фрагмент программы в машинном коде
-
Фрагмент программы на языке ассемблера
-
Второй этапа – языки высокого уровня (60-е гг.)
-
Каждая команда в языке высокого уровня скрывает десятки и сотни команд на языке ассемблера. ALGOL, Fortran, APL
-
Третий этап – структурное программирование
-
Вырабатывался наиболее общий алгоритм работы программы, а затем производилась декомпозиция этого алгоритма до уровня подпрограмм.
-
ALGOL-68, C, Pascal
-
Четвертый этап – модульное программирование
-
Программа делится на модули, которые при компиляции образуют отдельные объектные файлы. Объектные файлы собираются в единое целое и получается исполняемая программа. Модули можно использовать многократно как в виде исходного кода, так и скомпилированных объектных файлов.
-
Пятый этап – объектно-ориентированный подход
-
Объекты окружающего мира находят свое абстрактное отражение в сложных типах данных, называемых классами. C++, Java, Object Pascal, языки семейства Microsoft.NET
-
Шестой этап – компонентный подход
-
Построение программного обеспечения из независимых друг от друга «кирпичиков», которые объединяются между собой благодаря специальным стандартизированным интерфейсам. Компоненты могут быть написаны на разных языках программирования и скомпилированы в разных средах разработки.
-
Процедурное программирование
-
Программа представляет собой последовательность команд, определяющих алгоритм решения задачи. Основная идея процедурного программирования - использование памяти для хранения данных. Основная команда - присвоение, с помощью которой определяется и меняется память компьютера. Программа производит преобразование содержимого памяти, изменяя его от исходного состояния к результирующему
-
Фортран создан в начале 50-х годов для программирования научно-технических задач;
-
Кобол – создан в конце 60-х годов 20-го века для решения задач обработки больших объемов данных, хранящихся на различных носителях данных;
-
Алгол (1960 год) – это многоцелевой расширенный язык программирования. В нем впервые введены понятия «блочная структура программы» и «динамическое распределение памяти». Не получил развития из-за отсутствия хороших компиляторов.
-
BASIC – язык программирования для начинающих. Характеризуется простотой освоения и наличием универсальных средств для решения научных, технических и экономических задач.
-
Паскаль (1968-1971гг). В основу языка положен подход от общей задачи к частным (более простым и меньшим по объему).
-
Си - планировался как язык для реализации операционной системы Unix вместо языка Ассемблера. Похож на Паскаль и имеет дополнительные средства для прямой работы с памятью.
-
Языки объектно-ориентированного программирования
-
С++ (Си++) – объектно –ориентированное расширение языка Си, созданное Страуструпом в 1980 г.
-
Java (джава, ява) – создан компанией Sun в нач. 90-х гг. на основе С++. Призван упростить разработку приложений на основе С++ путем исключения из него всех низкоуровневых возможностей. Главная особенность – компиляция не в машинный код, а в платформенно-независимый байт-код. Этот байт-код выполняется с помощью интерпретатора – виртуальной java-машины, версии которой созданы для любой платформы.
-
С# (Си шарп) – создана в конце 90-х гг. в Microsoft. В нем воплотились лучшие идеи С и С++, а также достоинства Java.
-
Языки программирования баз данных
-
База данных – это файл (или группа файлов), представляющий собой упорядоченный набор записей, имеющих единообразную структуру и организованных по единому шаблону.
-
Для работы с базами данных был создан структурированный язык запросов SQL (Structured Query Language).
-
Для управления большими базами данных разработаны СУБД (системы управления базами данных). В каждой СУБД помимо поддержки языка SQL имеется также свой уникальный язык.
-
Языки программирования для Интернета
-
Языки программирования для компьютерных сетей являются интерпретируемыми.
-
Perl - язык, приспособленный для обработки произвольных текстовых файлов, извлечения из них необходимой информации и выдачи сообщений.
-
Команды Perl могут получить данные из формы HTML или другого источника и выполнить с ними какое-нибудь действие.
-
PHP (1995-1997гг) обладает средствами доступа к БД и используется создателями динамических сайтов во всем мире
-
VRML (1994г) создан для организации виртуальных трехмерных интерфейсов в Интернете
-
XML. С 1996г идет работа над созданием универсального языка структуры документов. Может стать заменой языка HTML.