Файл: История возникновения и развития языка программирования C++ и Java (Происхождение языка Java).pdf
Добавлен: 01.04.2023
Просмотров: 222
Скачиваний: 3
архитектурная нейтральность - одной из главных проблем, стоявших перед программистами во время создания языка Java, было отсутствие гарантий того, что код, созданный сегодня, будет успешно выполняться завтра, даже на том же самом компьютере;
интерпретируемость и высокая производительность - как уже говорилось, выполняя компиляцию программ в промежуточное представление, называемое кодом виртуальной машины, Java позволяет создавать многоплатформенные программы;
распределенный характер - язык Java предназначен для распределенной среды Интернет, поскольку он поддерживает протоколы семейства TCP/IP;
динамический характер - программы Java несут много информации во время выполнения для проверки правильности обращения к объектам во время выполнения. Это свойство позволяет динамически безопасно связать код. .
1.9 Эволюция языка Java
Первоначальная версия Java не содержала никаких особо революционных решений, но она не ознаменовала собой завершение эры быстрого совершенствования этого языка.
В отличие от большинства других систем программирования, совершенствование которых происходило небольшими, последовательными шагами, язык Java продолжает стремительно развиваться. Уже вскоре после выпуска версии Java 1.0 разработчики создали версию Java 1.1. Добавленные в эту версию функциональные возможности значительно превосходили те, которые можно было ожидать, судя по изменению младшего номера версии. Разработчики добавили много новых библиотечных элементов, переопределили способ обработки событий и изменили конфигурацию многих свойств библиотеки версии 1.0. Кроме того, они отказались от нескольких свойств (признанных устаревшими), которые первоначально были определены в Java 1.0. Таким образом, в версии Java 1.1 были как добавлены новые атрибуты, так и удалены некоторые, определенные в первоначальной спецификации.
Следующей базовой версией Java стала версия Java 2, где “2” означает “второе поколение”. Создание Java 2 явилось знаменательным событием, означавшим начало “современной эры” Java. Первой версии Java 2 был присвоен номер 1.2. Это может казаться несколько странным. Дело в том, что вначале номер относился к внутреннему номеру версии библиотек Java, но затем он был распространен на всю версию в целом. С появлением версии Java 2 компания Sun начала выпускать программное обеспечение Java в виде пакета J2SE (Java 2 Platform Standard Edition — Стандартная версия платформы Java 2), и теперь номера версий применяются к этому продукту.
В Java 2 была добавлена поддержка ряда новых средств, таких как Swing и Collections Framework. Кроме того, были усовершенствованы виртуальная машина Java и различные средства программирования. Из Java 2 был исключен также ряд свойств. Наибольшие изменения претерпел класс потока Thread, в котором методы suspend(), resume() и stop() были представлены как устаревшие.
Версия J2SE 1.3 была первой серьезной модернизацией первоначальной версии Java J2SE. В основном, модернизация заключалась в расширении существующих функциональных возможностей и “уплотнении” среды разработки. В общем случае программы, написанные для версий 1.2 и 1.3, совместимы по исходному коду. Хотя версия 1.3 содержала меньший набор изменений, чем три предшествующие базовые версии, это не делало ее менее важной.
Версия J2SE 1.4 продолжила совершенствование языка Java. Эта версия содержала несколько важных модернизаций, усовершенствований и добавлений. 4 8 Часть I. Язык Java Например, в нее было добавлено новое ключевое слово assert , цепочки исключений и подсистема ввода-вывода на основе каналов. Изменения были внесены и в инфраструктуру Collections Framework, и сетевые классы. Эта версия содержала также множество небольших изменений. Несмотря на значительное количество новых функциональных возможностей, версия 1.4 сохранила почти стопроцентную совместимость по исходному коду с предшествующими версиями.
В следующей версии Java, именуемой J2SE 5, был внесен ряд революционных изменений. В отличие от большинства предшествующих модернизаций Java, которые предоставляли важные, но постепенные усовершенствования, J2SE 5 коренным образом расширяет область применения, возможности и диапазон языка. Чтобы оценить объем изменений, внесенных в язык Java в версии J2SE 5, ознакомьтесь с перечнем основных новых функциональных возможностей:
обобщения;
аннотации;
автоупаковка и автораспаковка;
перечисления;
усовершенствованный, поддерживающий стиль for - each , цикл for;
список аргументов переменной длины (varargs);
статический импорт;
форматированный ввод-вывод;
утилиты параллельной обработки.
В этом перечне не указаны незначительные изменения или постепенные усовершенствования. Каждый пункт перечня представлял значительное добавление в языке Java. Одни из них, такие как обобщения, усовершенствованный цикл for и список аргументов переменной длины, представляли новые синтаксические элементы. Другие, такие как автоупаковка и автораспаковка, изменяли семантику языка. Аннотации внесли в программирование совершенно новое измерение. В любом случае влияние всех этих добавлений вышло за рамки их прямого эффекта. Они полностью изменили сам характер языка Java.
Важность новых функциональных возможностей нашла отражение в примененном номере версии — “5”. Если следовать привычной логике, следующим номером версии Java должен был быть 1.5. Однако новые свойства столь значительны, что переход от версии 1.4 к версии 1.5 не отражал бы масштаб внесенных изменений. Поэтому, чтобы подчеркнуть значимость этого события, в компании Sun решили присвоить новой версии номер 5. Поэтому версия продукта была названа J2SE 5, а комплект разработчика — JDK 5. Тем не менее для сохранения единообразия в компании Sun решили использовать номер 1.5 в качестве внутреннего номера версии, называемого также номером версии разработки. Цифру 5 в обозначении версии называют номером версии продукта.
Следующая версия Java получила название SE 6. С выходом этой версии компания Sun решила в очередной раз изменить название платформы Java. В названии была опущена цифра 2. Таким образом, теперь платформа называется Java SE, а официальное название продукта —Java Platform, Standard Edition 6 (Платформа Java, стандартная версия 6). Комплект разработчика Java был назван JDK 6. Как и в обозначении версии J2SE 5, цифра 6 в названии Java SE 6 означает номер версии продукта. Внутренним номером разработки этой версии является 1.6.
Версия Java SE 6 была построена на основе версии J2SE 5 с рядом дальнейших усовершенствований. Она не содержала дополнений к числу основных функций языка Java, но расширяла библиотеки API, добавляя несколько новых пакетов и предоставляя рад усовершенствований времени выполнения. Было сделано еще несколько модификаций и внесено несколько дополнений. В целом версия Java SE 6 призвана закрепить достижения, полученные в J2SE 5.
1.10 Java сегодня
Мир стоит на пороге четвёртой промышленной революции. Индустрия 4.0. ознаменуется массовым внедрением искусственного интеллекта в нашу жизнь. Человеческий труд уступит место машинному: по прогнозам в ближайшие 20 лет более 40 % рабочих мест будет автоматизировано. Но появятся и новые специальности, связанные с обслуживанием работы машин. Наступает эра IT, где владение языками программирования — гарантия стабильности. Какой язык выбрать? Эксперты уверены: Java будет востребован ещё не одно десятилетие.
Семь перспективных направлений, в которых без Java не обойтись:
1. Android-приложения
Хотите писать под Android? Учите Java.
2. Финансовые услуги
Мировые инвестиционные банки используют Java для обработки данных, написания серверных приложений, создания фронтэнда и бэкенда.
Так же поступают трейдеры. Например, на этом языке написано популярное приложение «Murex».
3. Веб-приложения
Java выбирают и коммерческие, и государственные структуры. Приложения для сфер здравоохранения, образования и страхования написаны на этом языке.
4. Программные средства
Такие приложения, как Eclipse, IntelliJ Idea, Netbeans IDE воплощены в жизнь благодаря Java.
5. Встраиваемые системы
Эта сфера — «родина» Java. Язык разрабатывался для встраиваемых систем под лозунгом: «пиши один раз, запускай где угодно». Люди стремятся упрощать жизнь, и Java делает это возможным. Сфера применения широка: от мобильных телефонов и бытовой техники до систем управления предприятиями. Директор по маркетингу компании Microtec уверен: Java только набирает обороты на рынке встраиваемых систем и вскоре получит широкое распространение.
6. Большие данные
Пока Java не доминирует в этой области, но у него есть все шансы вырваться вперёд. Это случится, если Hadoop или ElasticSearch расширятся.
7. Наука
В научных приложениях Java используется по умолчанию. Одно из направлений работы — обработка естественных языков: устной и письменной речи. Помните притчу о Вавилонской башне и возникновении разных языков, разобщивших народы? Программисты решили исправить ситуацию и создали синхронный переводчик.
Дальше — больше: идут работы над нейроинтерфейсами для «управления мыслями» и передачи ощущений на расстояние. Это возможно благодаря дополненной реальности. Чтобы попасть в неё, достаточно смартфона и специальных очков. Пока такое общение напоминает компьютерную игру, внутри которой вы находитесь. Но это только начало.
Для достижения целей потребуются разные языки программирования: кроме Java, эксперты делают ставку на R, Erlang, Go и Swift. Вероятно, появятся и новые языки, но они ещё долго будут играть вспомогательную роль. История Java началась ещё в 1990 году и всё это время язык совершенствовался. Сегодня Java — самый востребованный язык программирования в мире.
Глава 2. Происхождение и развитие языка C++
2.1 Происхождение языка C++
Как уже было упомянуто выше, основной причиной возникновения такого языка как C++ стала растущая сложность новых технологий программирования. Одной из таких технологий является объектно-ориентированное программирование, поддержка которого стало основным новшеством языка C++.
Язык C++ был изобретен Бьярне Страуструпом в 1979 г. во время его работы в компании Bell Laboratories в городе Мюррей-Хилл, шт. Нью-Джерси. Вначале Страуструп назвал новый язык “С with Classes” (“С с классами”). Однако в 1983 г. это название было изменено на C++. Поскольку язык C++ построен на основе С, он поддерживает все его возможности, атрибуты и преимущества. Это обстоятельство явилось главной причиной успешного распространения C++ в качестве языка программирования. Само изобретения языка C++ было задумано не как появление нового языка, а как усовершенствование уже существующего. Название же языка можно трактовать как увеличенный или расширенный язык C (имея ввиду операцию инкрементирования языка C).
Язык C по мнению Страуструпа являлся лучшей основой для создания нового языка программирования, так как он универсален, прост, переносим, быстр и функционален в исполнении многих задач, стыкуется со средой программирования UNIX. Страуструп добавил к С возможность работы с типами данных (классами) и объектами. Благодаря быстродействию С практические задачи моделирования оказались доступными для решения по времени разработки и вычислений. В первую очередь в C были добавлены типы данных, их наследование, проверка типов и аргументы по умолчанию. Первые версии языка, изначально называвшегося Си с классами, стали доступны с 1980 года. Затем Страуструп создал компилятор cfront, который перерабатывал код С++ в код простого С, что позволило сразу применять его на практике.
Еще одним интересным фактом является то, что возможность в С++ перегрузки операций и свобода размещения описаний всюду, где может встречаться оператор, напоминают язык Алгол-68.
2.2 Развитие языка C++
С++ быстро стал невероятно популярен. К 1983 году в него были добавлены различные константы, виртуальные функции, ссылки, перегрузка функций и операторов, контроль пользователя над управлением свободной памятью, улучшенная проверка типов и новый стиль комментариев //. В 1985 году вышло издание Языка программирования C++, это было первое описание языка, что из-за отсутствия официального стандарта было очень важно. В 1989 году состоялся выход второй версии C с новыми возможностями наследования, функциями и классами. В 1998 году был утвержден международный стандарт языка C++. Он является свободным, никто не обладает правом на владение им.
Стандарт C++ состоит из двух основных частей: описание стандартного сборника подпрограмм или объектов, используемых для разработки программ, и описание ядра языка. Кроме того, что в программах на C++ можно использовать многие библиотеки C, существует еще огромное количество нестандартных библиотек C++ .