Языки и системы программирования.ppt
- Количество слайдов: 26
Языки и системы программирования
Понятие о ЯП n n n Алгоритм задачи нужно представить в виде, понятном компьютеру (с помощью нулей и единиц) - машинном коде. Но писать программу в машинном коде сложно, поэтому применяются специальные средства, более доступные для человека – ЯП. ЯП – формализованный язык для описания алгоритма решения задачи на компьютере.
n n ЯП – искусственный язык. От естественных он отличается ограниченным числом «слов» и очень строгими правилами записи команд (операторов). Смысл каждой команды образует семантику языка, правила написания команд образуют синтаксис языка.
Основные понятия ЯП n n n Ключевое слово – зарезервированная последовательность символов для обозначения операций. Идентификатор – имя переменной, константы, процедуры или иного объекта ЯП. Разделитель – символ или последовательность символов для отделения ключевых слов, знаков, операций, идентификаторов друг от друга {}. Синтаксис – набор правил сочетания языковых единиц в алгоритмической конструкции. Семантика – правила сочетания алгоритмических конструкций в ЯП.
ЯП высокого и низкого уровня n ЯП, ориентированный на конкретный тип процессора и учитывающий его особенности, называется ЯП НИЗКОГО УРОВНЯ. К ЯП низкого уровня относятся: Ø машинные коды; Ø машинно-ориентированные языки – отражают структуру конкретного типа компьютера (ассемблеры и автокоды).
Преимущества и недостатки ЯПНУ + Создаются эффективные и компактные программы, т. к. разработчик получает доступ ко всем возможностям процессора. - Нужно очень хорошо понимать устройство компьютера. - Затрудняется отладка больших приложений. - Результирующая программа не может быть перенесена на компьютер с другим типом процессора.
ЯП ВЫСОКОГО УРОВНЯ + Ближе и понятнее человеку, чем компьютеру. + Особенности конкретных компьютерных архитектур не учитываются, поэтому программы переносимы на другие платформы. + Разработка программ значительно проще, а ошибок при этом допускается гораздо меньше. - Отсутствует возможность прямого доступа к аппаратным ресурсам.
Название ЯП Время Создат ель Особенности Развитие (версии) FORTRAN 50 -е гг. Джим Основной критерий – Очередной стандарт эффективность появился в 2000 г. – 20 в. Бэкус (Фортран) исполняемого кода F 2 k нач. 60 х гг. 20 в. Применялся в экономической области и для решения бизнес-задач 1960 г. Из-за сложной структуры не получил В 1968 г. была создана широкого версия Алгол 68 распространения Programming 1964 г. Language One Объединил все лучшее из языков Фортран, Компа Сегодня продолжает Кобол и Алгол, по ния поддерживаться возможностям IBM компанией IBM превосходит многие ЯП COBOL (Кобол) Algol (Алгол) PL/1 – (ПЛ/1)
Pascal (Паскаль) Basic (Бейсик) Имеются возможности, кон. позволяющие успешно Никлаус применять Паскаль при 70‑х гг. Вирт создании крупных 20 в. проектов 60 -е гг. 20 в. В нач. 90 -х гг. появилась объектноориентированная версия (Object Pascal), а затем – и версия, поддерживающая визуальное программирование– Delphi Создавался как учебный Новые версии – Visual язык, очень прост в Basic и Visual Basic for изучении application (VBA) Синтаксис очень Нач. в компактен и базируется Корпора Smalltalk 1970 г. , исключительно на ция объекта (Смолток) зак. в XEROX понятии (операторы или данные 1980 г. отсутствуют) Сегодня версия Visual. Age for Smalltalk активно развивается компанией IBM
1. В 1980 г. Бьярн Страуструп создал объектно-ориентированное расширение языка C++ (Си++). С (Си) 2. В нач. 90 -х компанией Sun на основе На этом языке Си++ был создан ЯП Java (Джава, Ява): поддержка мобильных устройств и написано микрокомпьютеров, встраиваемых в множество прикладных бытовую технику (технология Jini); 70‑е Лабора (например, создание платформно-независимых гг. тория Microsoft программных модулей для работы в 20 в. Bell Office) и глобальных и локальных сетях системных (технология Java Beans). программ (МS indows, 3. В кон. 90 -х г. в компании Microsoft W Unix, Linux) под рук. Андерса Хейльсберга был разработан язык С# (Си Шарп). В нем воплотились лучшие идеи Си++, а также достоинства Java. С# предназначен для быстрой разработки . NETприложений.
LISP (Лисп) Prolog (Пролог) Simula (Симула) Ориентирован на структуру данных в форме списка, Джон позволяет эффективно 1960 г. Маккарти обрабатывать большие объемы текстовой информации нач. 70 -х гг. 20 в. Является общим предком практически всех Используется используемых сегодня описания объектных и объектно- моделирования ориентированных ЯП 1966 г. Ada (Ада) леди Огюста Ада Байрон Алан Колмероэ 1980 г. Является языком при моделирования, позволяет Используется экспертных делать выводы по создании введенным фактам на систем основе имеющихся правил под рук. Жана Ишбиа Имеются средства строгого разграничения доступа к различным уровням спецификаций, доведена до предела мощность управляющих конструкций для систем Используется при программировании, например, бортовых систем управления военными объектами. Сегодня в развитие этого языка вкладываются большие средства
Существуют специализированные ЯП для некоторых областей: n для управления базами данных структурированный язык запросов SQL (Structured Query Language); n для Интернет-технологий - языки разметки данных: − HTML (Hyper Text Markup Language), − XML (e. Xtended Markup Language), − VRML (Virtual Reality Markup Language), − PHP (Hypertext Preprocessor); n и др.
ИНСТРУМЕНТАРИЙ ТЕХНОЛОГИИ ПРОГРАММИРОВАНИЯ (ИТП) n ИТП – это программные продукты поддержки (обеспечения) технологии программирования.
Инструментарий технологии программирования Средства для создания приложений Локальные средства Интегрированные среды Языки и системы программирования Инструментальная среда пользователя Средства для создания информационных систем (CASE-технологии)
Средства для создания приложений – совокупность языков и систем программирования, а также различные программные комплексы для отладки и поддержки создаваемых программ. n n локальные средства (обеспечивают выполнение отдельных работ по созданию программ); интегрированные среды разработчиков программ (обеспечивают выполнение комплекса взаимосвязанных работ по созданию программ).
Система программирования n Это система инструментальных программ для разработки новых программ на конкретном ЯП, которая предоставляет мощные и удобные средства разработки.
Система программирования включает следующие компоненты: n n n n n транслятор; редактор текстов программ; отладчик; компоновщик; набор библиотек стандартных программ и функций и графические библиотеки; сервисные средства (утилиты) для работы с библиотеками, текстовыми и двоичными файлами; программы, обеспечивающие удобный пользовательский интерфейс; встроенную справочную службу; систему поддержки и управления проектом программного комплекса.
Трансляторы Для перевода программы с ЯП в машинные коды, понятные компьютеру, существуют специальные программы – трансляторы. Различают два типа трансляторов: n Компилятор – программа, которая читает целиком текст переводимой программы, выполняет ее преобразование и создает законченный вариант программы на машинном языке, который затем и исполняется. n Интерпретатор – программа, которая читает переводимую программу строка за строкой, построчно переводит и выполняет последовательно каждую прочитанную команду. n
Отладчик n n Это программа, с помощью которой находятся и исправляются ошибки в программе. Наиболее распространенный отладчик, включаемый в ИПО – DEBUG (более развитый его вариант Turbo Debugger).
Компоновщик n Преобразует объектный модуль (полученный в результате трансляции) в исполняемую машинную программу (загрузочный модуль), с объединением воедино отдельно скомпилированных его частей и привлечением дополнительных системных библиотек, содержащих стандартные подпрограммы и процедуры.
Инструментальная среда пользователя Предназначена для совершенствования функций обработки, создания новых приложений силами конечного пользователя и представлена специальными средствами, встроенными в пакеты прикладных программ, такими как: n библиотека функций, процедур, объектов и методов обработки; n макросы; n программные модули-вставки; n конструкторы экранных форм и отчетов; n генераторы приложений; n ЯПВУ как средства поиска и фильтрации информации; n языки манипулирования данными; n конструкторы меню и др.
Интегрированные среды разработки программ Основное назначение – повышение производительности труда программистов за счет автоматизации создания кодов программ, обеспечивающих: n интерфейс пользователя графического типа, n разработку приложений для архитектуры «клиент-сервер» , n создание запросов и отчетов.
Наиболее популярны следующие визуальные среды быстрого проектирования программ для Windows: n n Basic: MS Visual Basic; Pascal: Borland Delphi; C++: Borland C++ Builder; Java: Symantec Cafe.
Средства для создания информационных систем n CASE-технология (Computer Aided Software Engineering) – программный комплекс, автоматизирующий весь технологический процесс анализа, проектирования, разработки и сопровождения сложных программных систем.
n В CASE-системах используют формальные способы представления данных – формальные нотации, с помощью которых можно визуально представить объекты программы и взаимосвязи между ними.
Этот подход требует технического и программного «перевооружения» труда самих разработчиков: n мощных компьютеров; n дорогостоящего программного обеспечения; n повышения квалификации самих разработчиков и др.


