32. Эволюция и классификация языков программирования.
Поколение языков программирования.
1. Языки, созданные в начале 50-х гг., когда только появились первые ЭВМ. Это был первый язык ассемблер, созданный по принципу: одна инструкция – одна строка (машинный код). (Язык ассемблера (автокод) — язык прогр-я низкого уровня. В отличие от языка машинных кодов, позволяет использовать более удобные для человека мнемонические (символьные) обозначения команд. При этом для перевода программы с языка ассемблера в понимаемый процессором машинный код требуется специальная программа, называемая ассемблером.).
2. Языки, созданные в 50-60-е гг. Разработан символический ассемблер. Появилось понятие переменной. Это был первый полноценный язык программирования.
3. Языки, созданные в 60-е гг. Появились универсальные языки высокого уровня. (Фортран и Кобол)
4. Начало 70-х гг. Языки, предназначенные для крупных проектов. Проблемно-ориентированные языки (не универсальные). В эти языки встраиваются мощные операторы, которые позволяют одним оператором (одной строкой) описывать такую функциональность, для реализации которой потребовалось до 1000 строк. (Напр., Turbo Pascal).
5. Середина 90-х гг. Системы автоматического создания прикладных программ с помощью визуальных средств разработки без знания программирования.
Обзор языков высокого уровня.
1) Фортран (Fortrun). Первый компилированный язык, созданный Джоном Бэкусом. Фортран имеет достаточно большой набор встроенных математических функций, поддерживает работу с целыми, вещественными и комплексными числами высокой точности. Выразительные средства языка изначально были весьма бедны, поскольку Фортран был одним из первых языков высокого уровня. В дальнейшем в Фортран были добавлены многие лексические конструкции, характерные для структурного, функционального и даже объектно-ориентированного программирования. Для этого языка было разработано огромное количество библиотек.
2) Кобол (Cobol). Создан в 60-е годы. Разработчиком первого единого стандарта Кобола являлась Грейс Хоппер. Это компилируемый язык, применяется в первую очередь в экономической области для решения бизнес задач. Мощные средства работы с большими массивами, которые могут храниться на любых носителях. Язык позволяет эффективно работать с большим количеством данных, он насыщен разнообразными возможностями поиска, сортировки и распределения. Но на Коболе можно запрограммировать лишь простейшие алгебраические вычисления. Для инженерных расчетов этот язык не годится.
3) Алгол. Компилируемый язык. Вышел в 1958 г. Из-за более сложной структуры не получил широкого распространения. Не смогли создать соответствующие компиляторы. Применяется при составлении программ для решения научно-технических задач на ЭВМ. Алгол был первым языком программирования, использующим пары begin end для выделения блоков выражений.
4) Паскаль (Turbo Pascal). Создан в 70-х гг. Неклаусом Виртом. Похож на Алгол, но в нём ужесточен ряд требований к структуре программы.
Достоинства: Удобная среда разработки, включающая функциональный отладчик, доступный в любой момент; Контекстная справочная система, по которой можно изучать язык без обращения к сторонним источникам; Высокая скорость компиляции, высокая скорость выполнения откомпилированных программ; Встроенная возможность использовать вставки на языке ассемблера.
5) Basic. Есть компиляторы и интерпретаторы. По популярности занимает одно из первых мест в мире. Создан в 60-х гг. в качестве учебного языка и просто в изучении. При проектировании языка использовались следующие восемь принципов: быть простым в использовании для начинающих; быть языком программирования общего назначения; предоставлять возможность расширения функциональности, доступную опытным программистам; быть интерактивным; предоставлять ясные сообщения об ошибках; быстро работать на небольших программах; не требовать понимания работы аппаратного обеспечения; быть посредником между пользователем и операционной системой.
6) С («си»). Может заменить ассемблер. Язык не зависит от конкретных машин, эффективен и создает компактные программы. Похож на Паскаль и имеет дополнительные средства для прямой работы с памятью.
7) С++. Объектно-ориентированное расширение языка. Создан в 60-е гг. Нужна профессиональная подготовка для работы с этим языком.
8) Java. Создан в начале 90-х гг. на основе С++. По своей популярности на втором месте после Basic. Особое внимание уделяется: поддержке всевозможных мобильных устройств и микрокомпьютеров, которые встраиваются в бытовую технику. Недостаток: невысокая скорость действия, т.к. для него есть интерпретатор.
9) Языки программирования баз данных.
При обработке больших массивов появилась надобность создания языка запросов.
SQL – основан на мощной математической теории и позволяет обрабатывать не отдельными записями, а группами записей. В каждой СУБД есть этот язык.
10) Языки программирования для Интернета. Было создано много языков специально для Интернета. Они все интерпретируемы. Такие языки – скрипт-языки.
HTML – для оформления документов. Он очень прост, содержит элементарные команды (все электронные страницы написаны на этом языке).
11) Язык Пролог. Создан в начале 70-х г. Используется там, где решение задачи нельзя формализовать (задать формулами). Программа на этом языке строится из последовательности фактов и правил, а затем формируется утверждение, которое Пролог будет пытаться доказать с помощью этих правил (задачи искусственного интеллекта). Человек описывает только структуру, а пролог ищет решение.
12) Язык Aдa. Назван по имени Легги Адамс Ады Байрон (Ада Лавлейс). Её считают первым программистом. Структура похожа на Паскаль, но различные уровни доступа специфицированы. Язык создан в 1979—1980 годах в результате проекта, предпринятого Министерством обороны США с целью разработать единый язык программирования для встраиваемых систем (то есть систем управления автоматизированными комплексами, работающими в реальном времени). Имелись в виду, прежде всего, бортовые системы управления военными объектами (кораблями, самолётами, танками, ракетами, снарядами и т. п.).
- Понятие информации. Основные свойства информации. Способы изучения информации. Количественные методы измерения информации.
- 2. Экономическая информация и ее особенности.
- Основные понятия алгебры и логики.
- Логические основы эвм.
- Представление данных в памяти компьютера.
- Основные этапы развития вычислительной техники.
- Понятие архитектуры и принципы устройства вычислительных систем. Принципы фон Неймана.
- Основные виды архитектур. Их классификация.
- Устройство персонального компьютера (пк). Конфигурация пк.
- Процессор, его основные характеристики.
- Запоминающие устройства: классификация, принцип работы, основные характеристики.
- Устройства ввода-вывода, их разновидности и основные характеристики.
- Совершенствование архитектур вс. Многопроцессорные вычислительные системы, их классификация.
- Понятие и назначение операционной системы (ос). Разновидности ос. Служебное (сервисное) обслуживание.
- Файловая структура операционных систем. Операции с файлами.
- Прикладное программное обеспечение
- Общая характеристика офисных пакетов.
- Средства разработки презентации Power Point
- Основы машинной графики.
- Программное обеспечение обработки текстовых данных.
- Электронные таблицы.
- Формулы в ms Excel. Работа со списками в ms Excel.
- Базы данных в структуре информационных систем. Основные понятия и определения. Объекты баз данных.
- Модели данных в информационных системах. Реляционная модель базы данных.
- Основные операции с данными.
- Назначение и основы использования систем искусственного интеллекта; базы знаний, экспертные системы, искусственный интеллект.
- Классификация языков программирования.
- Понятие алгоритма. Свойства алгоритма.
- Основные этапы и методы разработки алгоритма. Типы алгоритмов. Понятие блок-схемы. Способы записи алгоритмов.
- 31. Стили программирования.
- 32. Эволюция и классификация языков программирования.
- 33. Трансляция, компиляция, интерпретация.
- 34. Понятие вычислительной сети. Типы сетей.
- 35. Способы передачи информации в сетях. Маршрутизация в сетях.
- 36. Эталонная модель osi взаимодействия в сетях.
- 37.Топология сетей, методы доступа.
- Защита информации. Концепция защищенной компьютерной системы. Архитектура безопасности.
- Угрозы безопасности и службы безопасности (методы).
- Методы шифрования информации. Алгоритмы симметричного и асимметричного шифрования. Типы реализации.
- Криптографические протоколы и цифровые подписи.
- Вирусы. Классификация вирусов. Антивирусные программы.
- Средства защиты информации.
- Защита объектов на уровне пользователей и на уровне ресурсов.
- Глобальная сеть Internet, числовые адреса компьютеров. Доменное имя. Url-адрес.
- Идентификация компьютеров в сети
- Сервисы Internet.
- Всемирная паутина World Wide Web.
- Электронная почта.
- Поиск информации в Internet. Поисковые серверы. Поиск экономической информации.
- Программы для работы в сети Internet.
- Язык гипертекстовой разметки html.