Файл: Современные языки программирования (История возникновения и развития).pdf
Добавлен: 29.06.2023
Просмотров: 58
Скачиваний: 3
Глава 2. Обзор современных языков программирования
2.1 Fortran (Фортран).
Это первый компилируемый язык, созданный Джимом Бэкусом в 50-е годы, предназначавшийся для написания инженерных и научных приложений. Программисты, разрабатывавшие программы исключительно на ассемблере, выражали серьезное сомнение в возможности появления высокопроизводительного языка высокого уровня, поэтому основным критерием при разработке компиляторов Фортрана являлась эффективность исполняемого кода. Хотя в Фортране впервые был реализован ряд важнейших понятий программирования, удобство создания программ было принесено в жертву возможности получения эффективного машинного кода. Однако для этого языка было создано огромное количество библиотек, начиная от статистических комплексов и кончая пакетами управления спутниками, поэтому Фортран продолжает использоваться в некоторых организациях.
Последняя версия появилась в 2010 году, её название Fortran 2008. Новый стандарт добавляет несколько избранных новых возможностей:
подмодули — дополнительные возможности структурирования модулей;
расширение Coarray Fortran (ранее известное как F—) для поддержки параллельных вычислений;
конструкция DO CONCURRENT для циклов без взаимных зависимостей;
атрибут CONTIGUOUS для задания ограничений на размещение в памяти хранимых данных;
конструкция BLOCK для объявления объектов;
рекурсивные размещаемые компоненты.
В дополнение к стандарту разрабатывается техническая спецификация 29113 «Дальнейшая совместимость Fortran и C».
2.2 Basic (Бейсик).
Бейсик был спроектирован так, чтобы студенты без специального математического образования могли писать программы. Он создавался как решение проблем, связанных со сложностью более старых языков, и предназначался для более «простых» пользователей, заинтересованных не столько в скорости своих программ, сколько просто в возможности использовать компьютер для решения своих задач. Для популяризации языка первый компилятор распространялся бесплатно.
При проектировании языка были сформулированы восемь требований к нему:
простота в использовании для начинающих;
общность назначения (отсутствие специализации);
возможность расширения функциональности средствами, доступными программистам;
интерактивность;
четкие и понятные сообщения об ошибках;
высокая скорость работы на небольших программах;
отсутствие необходимости понимания работы аппаратного обеспечения для написания программ;
эффективное посредничество между пользователем и операционной системой.
Язык был основан частично на Фортран II и частично на Алгол-60, с добавлениями, делающими его удобным для работы в режиме разделения времени, обработки текста и матричной арифметики.
Всеобщую же популярность язык приобрел в середине 70-х годов после его появления на микрокомпьютерах. Многие языки программирования были слишком громоздкими, чтобы умещаться в небольшой памяти. Для машин с таким медленным носителем, как бумажная лента, аудиокассета и без подходящего текстового редактора такой небольшой язык, как Бейсик, был отличной находкой.
В 1975 году компания Microsoft выпустила Altair BASIC. После этого был выпущен ряд операционных систем, использующих Basic в качестве основного языка. Для операционной системы CP/M был создан диалект BASIC-80, надолго определивший развитие языка.
В этот период было создано множество новых компиляторов и интерпретаторов Бейсика. Майкрософт продавала несколько версий BASIC для MS-DOS/PC-DOS, включая BASICA, GW-BASIC и QuickBASIC (QBASIC). Компания Borland в 1985 выпустила Turbo BASIC 1.0 (более поздние его версии впоследствии продавались другой компанией под именем PowerBASIC). На домашних компьютерах появились различные расширения Бейсика, обычно включающие средства для работы с графикой, звуком, выполнением DOS-команд, а также средства структурного программирования.
Начиная с конца 80-х, новые компьютеры стали намного более сложными и предоставляли возможности (такие как графический интерфейс пользователя), которые делали Бейсик уже не столь удобным для программирования. Бейсик начал сдавать свои позиции, несмотря на то, что огромное количество его версий ещё использовалось и продавалось.
Вторую жизнь Бейсик получил с появлением в 1991 году Visual Basic от Microsoft. Этот язык напоминал оригинальный только синтаксисом, но был значительно более современным. Visual Basic и его варианты стали одним из наиболее часто используемых языков на платформе Windows. Позже был создан вариант под названием WordBasic, используемый в MS Word до появления Word 97. Visual Basic for Applications(VBA) был встроен в Excel 5.0 в 1993 году, затем в Access 95 в 1995-ом, а после и во все остальные инструменты, входящие в пакет Office — в 1997-ом. Internet Explorer 3.0 и выше, а также поставки Windows включали интерпретатор скриптового языка VBScript. В полный вариант пакета OpenOffice также включён интерпретатор Бейсика.
В настоящее время Basic — это не один язык, а целое семейство языков, отличающихся временем создания, парадигмами программирования и синтаксисом, зачастую до полной потери совместимости программ. Ранние версии не поддерживали даже структурное программирование; со временем структурное и процедурное программирование стали общепринятыми парадигмами, и появились версии, поддерживающие их. Ряд современных компиляторов во главе с Visual Basic и VB.NET реализуют объектно-ориентированное и событийное программирование.
2.3 «С»
«C» — стандартизированный процедурный язык программирования.
Язык «C» был разработан в начале 1970-х годов сотрудниками Bell Labs Кеном Томпсоном и Денисом Ритчи как наследник языка B.
«C» был создан для использования в операционной системе UNIX, в том числе и для написания ядра системы. С тех пор он был портирован на многие другие операционные системы и стал одним из самых широко используемых языков программирования.
В 1978 году была опубликована книга “Язык программирования C” Ритчи и Кернигана; описанный в ней язык стал неформальным стандартом языка, известным как K&R C.
Первый официальный стандарт языка был создан в 1989 году ANSI X3.159-1989 и в следующем году с незначительными изменениями принят как ISO/IEC 9899:1990; он известен как ANSI C. Следующими стандартами стали ISO 9899:1999 (C99) и ISO/IEC 9899:2011 (C11).
«C» ценят за его эффективность; он является самым популярным языком для создания системного программного обеспечения. Его также часто используют для создания прикладных программ.
Особенности языка:
минимальное количество ключевых слов.
большинство возможностей языка вынесено в библиотеки.
использование препроцессора для определения макросов, включения исходных кодов других файлов и условной компиляции.
статическая слабая типизация: у всех данных есть фиксированные типы, но неявные преобразования разрешены.
разрешено определение пользовательских типов и составных типов.
предоставляется низкоуровневый доступ к памяти (через преобразование машинных адресов в типизированные указатели).
процедуры являются частным случаем функции, возвращающей специальный тип void.
файлы можно компилировать отдельно и линковать друг с другом, контролируя видимость функций и данных ключевыми словами static и extern.
2.4 С++
Компилируемый строго типизированный язык программирования общего назначения. Поддерживает разные парадигмы программирования: процедурную, обобщённую, функциональную; наибольшее внимание уделено поддержке объектно-ориентированного программирования.
Разработка языка началась в 1979 году. Целью создания C++ было дополнение «C» возможностями, удобными для масштабной разработки ПО, с сохранением гибкости, скорости и портабельности «C». Вместе с тем создатели C++ стремились сохранить совместимость с «C»: синтаксис первого основан на синтаксисе последнего, и большинство программ на «C» будут работать и как C++. Изначально новый язык назывался “C с классами”, но затем имя было изменено на C++ — это должно было подчеркнуть как его происходжение от «C», так и его превосходство над последним.
Первый выпуск C++ для коммерческого использования состоялся в 1985 году, вместе с публикацией книги “The C++ Programming Language”, которая на долгое время стала его неофициальным стандартом. В 1989 году вышла вторая версия языка в сопровождении книги “The Annotated C++ Reference Manual”.
В 1990-х годах язык стал одним из наиболее широко используемых языков программирования общего назначения. Первым официальным стандартом языка стал ISO/IEC 14882:1998, более известный как C++98. В 2011 году был принят текущий стандарт, C++11.
Нововведениями C++ в сравнении с «C» являются:
поддержка объектно-ориентированного программирования через классы. C++ предоставляет все четыре возможности ООП — абстракцию, инкапсуляцию, наследование (в том числе и множественное) и полиморфизм.
поддержка обобщённого программирования через шаблоны функций и классов;
стандартная библиотека C++ состоит из стандартной библиотеки «C» (с некоторыми модификациями) и библиотеки шаблонов (Standard Template Library, STL), которая предоставляет обширный набор обобщенных контейнеров и алгоритмов;
дополнительные типы данных;
обработка исключений;
виртуальные функции;
пространства имён;
встраиваемые (inline) функции;
перегрузка (overloading) операторов;
перегрузка имён функций;
ссылки и операторы управления свободно распределяемой памятью.
2.5 Java
объектно-ориентированный язык программирования, разрабатываемый компанией Sun Microsystems с 1991 года и официально выпущенный 23 мая 1995 года. Изначально новый язык программирования назывался Oak (James Gosling) и разрабатывался для бытовой электроники, но впоследствии был переименован в Java и стал использоваться для написания апплетов, приложений и серверного программного обеспечения.
Программы на Java могут быть транслированы в байт-код, выполняемый на виртуальной java-машине (JVM) — программе, обрабатывающей байт-код и передающей инструкции оборудованию, как интерпретатор, но с тем отличием, что байт-код, в отличие от текста, обрабатывается значительно быстрее.
Язык Java зародился как часть проекта создания передового программного обеспечения для различных бытовых приборов. Реализация проекта была начата на языке C++, но вскоре возник ряд проблем, наилучшим средством борьбы с которыми было изменение самого инструмента — языка программирования. Стало очевидным, что необходим платформо-независимый язык программирования, позволяющий создавать программы, которые не приходилось бы компилировать отдельно для каждой архитектуры и можно было бы использовать на различных процессорах под различными операционными системами.
Язык Java потребовался для создания интерактивных продуктов для сети Internet. Фактически, большинство архитектурных решений, принятых при создании Java, было продиктовано желанием предоставить синтаксис, сходный с «C» и C++. В Java используются практически идентичные соглашения для объявления переменных, передачи параметров, операторов и для управления потоком выполнением кода. В Java добавлены все хорошие черты C++.
Три ключевых элемента объединились в технологии языка Java.
Java предоставляет для широкого использования свои апплеты (applets) — небольшие, надежные, динамичные, не зависящие от платформы активные сетевые приложения, встраиваемые в страницы Web. Апплеты Java могут настраиваться и распространяться потребителям с такой же легкостью, как любые документы HTML.
Java высвобождает мощь объектно-ориентированной разработки приложений, сочетая простой и знакомый синтаксис с надежной и удобной в работе средой разработки. Это позволяет широкому кругу программистов быстро создавать новые программы и новые апплеты.
Java предоставляет программисту богатый набор классов объектов для ясного абстрагирования многих системных функций, используемых при работе с окнами, сетью и для ввода-вывода. Ключевая черта этих классов заключается в том, что они обеспечивают создание независимых от используемой платформы абстракций для широкого спектра системных интерфейсов.
2.6 C# (произносится си-шарп)
Язык программирования, сочетающий объектно-ориентированные и контекстно-ориентированные концепции. Разработан в 1998—2001 годах группой инженеров под руководством Андерсa Хейлсбергa в компании Microsoft как основной язык разработки приложений для платформы Microsoft .NET. Компилятор с C# входит в стандартную установку самой .NET, поэтому программы на нём можно создавать и компилировать даже без инструментальных средств вроде Visual Studio.