Общая классификация языков
Лингвистическое обеспечение современных ЭВМ можно в общем случае охарактеризовать формальными языками пяти классов:
· сетевые командные языки;
· языки работы с операционными оболочками;
· языки операционных систем;
· языки прикладного программного обеспечения;
· языки программирования.
Сетевые языки выполняют функции общения с ресурсами локальных сетей и позволяют: инициировать работу в сети (установка паролей, режимов доступа к ресурсам и т. д.), управлять работой сети, использовать ресурсы сети (определение конфигурации сети, электронная почта, управление печатью и др.) и т. д. Типичным примером является командный язык Novell для работы в локальной сети.
Операционная оболочка (ОО) – это надстройка над операционной системой, предназначенная для создания пользователем удобного интерфейса взаимодействия с ОС. Интерфейс с ОО обеспечивают языки графического, командного и табличного типов, либо комбинации этих типов. Например, меню команды какого-либо окна.
В качестве лингвистического обеспечения ОС выступают языки командного типа и языки управления заданиями. Например, удаление файла в MS DOS и Windows.
Средства прикладного обеспечения располагают собственными языками, обеспечивающими интерфейсные и инструментальные функции. Под интерфейсными функциями понимается: инсталляция программы, организация вызовов системных библиотек, управление режимами работ и т. д. В инструментальные функции языка входит организация по созданию документов или программ. Яркими примерами языков подобного рода являются: Access, Excel, Word, MathCAD, Ansys и т. д.
Последний, пятый класс формальных языков составляют современные языки программирования различного типа и назначения. Это – Fortran, Pascal, Ada, C, C++, Delphi, Lisp и др. Они позволяют разрабатывать как операционные системы, так и прикладные программы.
Языки программирования
Процедурные языки
FORTRAN
Первым языком программирования, который значительно превзошел уровень ассемблера, стал Fortran. Он был разработан в 1950-х годах специалистами фирмы IBM под руководством Джона Бекуса и предназначался для абстрактного описания научных исследований. Естественно, что первые версии языка Fortran не были лишены недостатков. Сложно было предугадать направление развития языков. В нем отсутствовала поддержка современных концепций структурирования модулей и данных. Оглядываясь назад, Бекус говорил: «Мы просто придумывали язык по мере его осмысления. Мы расценивали проектирование языка не как трудную задачу, а просто как прелюдию к реальной проблеме: проектированию компилятора, который мог бы генерировать эффективные программы».
Замечание
Под абстракциями языка, в данном случае Fortran, понимается преобразование сложных выражений к последовательности простых операций, состоящих из одного, двух или трех действий. Введение абстракций позволило быстро и надежно разрабатывать программы и уменьшило машинную зависимость из-за абстрагирования от режимов и машинных команд.
Fortran прошел целый ряд развития и стандартизации: Fortran I – 1950, Fortran II – 1958, Fortran IV – 1966, Fortran-77, Fortran-88, Fortran-95. Его последняя версия представляет собой весьма мощное инструментальное средство для решения широкого круга научно-технических задач, включая сложные САПРы с мощными графическими пакетами.
BASIC
Basic создан Дж.Кемени и Т.Курцем в 1965 году для обучения программированию начинающих пользователей. Наиболее известные версии языка Basic А (для IBM- совместных ПК), MS Quick Basic (Microsoft) и Turbo- Basic фирмы Borland существенно расширили его первоначальные возможности. В 1978 году был принят стандарт языка – Minimal Basic, однако он часто нарушался из-за большого числа дополнительных возможностей. Так, например, исходные модули программ на языке Basic А требуют определенной модификации при выполнении их в среде VAX Basic для ЭВМ VAX-серии. Включение в язык элементов структурного программирования привели к принятию в 1987 году более сложного стандарта для Basic-языка. Основные версии языка имеют различные интерпретаторы и компиляторы, что обуславливает его широкое применение, как в учебных целях, так и при разработке серьезного программного обеспечения. Наиболее популярным является Basic А. В настоящее время версия Basic А включает удобные функции для работы: с экраном монитора, клавиатурой, принтерами, адаптерами связи, графическими средствами и т. д.
Семейство ALGOL-подобных языков
Первая версия языка Algol была опубликована в 1958 году и в дальнейшем дважды пересматривалась в 1960 и 1968 годах. Algol никогда не достигал такой популярности, как Fortran, хотя широко использовался, особенно в Европе, в научных исследованиях. От языка Algol произошли три важных языка:
· Jovial, который использовался Военно-воздушными силами США для систем реального времени;
· Simula, один из первых языков моделирования;
· Pascal, разработанный в конце 1960 года Никлаусом Виртом.
Pascal был создан для демонстрации наиболее важных идей объявления типов и контроля их соответствия. Как язык практического программирования Pascal имеет одно большое преимущество и один большой недостаток. Преимущество – первоначальный компилятор языка Pascal написан на самом языке Pascal и, поэтому, мог быть легко перенесен на любой компьютер. Недостаток – язык Pascal слишком мал. Стандартный Pascal вообще не имеет никаких средств для деления программы на модули, хранящиеся в отдельных файлах, и поэтому не может использоваться для программ объемом больше нескольких тысяч строк. Никлаус Вирт, учитывая, что за модульной структурой будущее, разрабатывает новый язык Modula.
Замечание
Фирма IBM в 1966 году разработала универсальный язык PL/1, обладающий всеми свойствами языков Fortran, Cobol и Algol.
С и С++
Язык C был разработан в 1972 году Деннисом Ричи, сотрудником Bell Laboratories, для создания операционной системы UNIX. Так как ОС UNIX была доступна университетам и написана на переносимом языке, а не на ассемблере, то она быстро стала популярна в академических и исследовательских организациях. Новые прикладные программы, выходившие из этих учреждений на коммерческий рынок, способствовали распространению и ОС UNIX и языка C.
Язык C одновременно близок к ассемблеру и абстрагируется от деталей программирования на нем (ассемблере), предлагая структурированные управляющие операторы и структуры данных (массивы и записи). Это обеспечивает C чрезвычайную гибкость. Но проблема состоит в том, что не выявляются скрытые ошибки в программах, поскольку нет проверки компилятором, как это принято на языке Pascal. C – это тонкий инструмент в руках профессионала и удобен для небольших программ.
В 1980-х годах Бьярн Строуструп, из той же лаборатории Bell Laboratories, исправив многие ошибки языка C, на его базе построил язык C++. В него включены такие дополнительные возможности как поддержка технологий объектно-ориентированного, аналогичного языку Simula, и параллельного программирования. Профессионалы советуют отдавать предпочтение C++, а не C, даже при составлении небольших программ, в которых нет признаков объектно-ориентированного программирования.
ADA и ADA95
В 1977 году Министерство Обороны США проводит конкурс на разработку нового языка на основе хорошего существующего языка Pascal. В 1983 году был принят стандарт на созданный новый язык Ada. Отличительные аспекты языка Ada:
1. Большинство языков (Fortran, C, Pascal) были стандартизированы уже после их широкого распространения. Поэтому в стандарты этих языков были включены (заставила необходимость) все случайные ошибки разработчиков. Ada же перед стандартизацией подверглась интенсивной проверке и критическому разбору.
2. Многие языки первоначально были зависимы от архитектуры компьютера. Язык Ada был разработан для написания переносимых программ.
3. Ada обеспечивает обработку ошибок и параллельное программирование.
Несмотря на преимущества, язык Ada не достиг большой популярности вне военной сфере. Он получил репутацию трудного в связи с его объемностью. Слишком много информации надо усвоить, чтобы работать с ним. Фактически, преимущества (параллелизм, обработка исключительных ситуаций, переносимость числовых данных) стали недостатками, так как другие языки (C, Pascal и др.) оставляют их операционной системе.
В 1995 году был издан новый стандарт Ada 95, в котором были исправлены некоторые ошибки первоначальной версии и добавлена поддержка настоящего объектно-ориентированного программирования, включая наследование, которого не было в Ada 83. Кроме того, Ada 95 содержит приложения: стандартного расширения для систем реального времени; распределенных, информационных и защищенных систем; комплексной арифметики, включающей ввод/вывод комплексных чисел, модели арифметик для чисел с плавающей и фиксированной точкой; требования к генераторам случайных чисел и т. п.
Дата добавления: 2016-08-08; просмотров: 536;