Файл: История возникновения и развития языка программирования Си (С++) и Java.(ИСТОРИЯ ВОЗНИКНОВЕНИЯ И РАЗВИТИЯ ЯЗЫКА ПРОГРАММИРОВАНИЯ C++ 5).pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 31.03.2023

Просмотров: 233

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Первоначальная версия Java не содержала никаких особо революционных решений, но она не ознаменовала собой завершение эры быстрого совершенствования этого языка.

В отличие от большинства других систем программирования, совершенствование которых происходило небольшими, последовательными шагами, язык Java продолжает стремительно развиваться. Уже вскоре после выпуска версии Java 1.0 разработчики создали версию Java 1.1. Добавленные в эту версию функциональные возможности значительно превосходили те, которые можно было ожидать, судя по изменению младшего номера версии. Разработчики добавили много новых библиотечных элементов, переопределили способ обработки событий и изменили конфигурацию многих свойств библиотеки версии 1.0. Кроме того, они отказались от нескольких свойств (признанных устаревшими), которые первоначально были определены в Java 1.0. Таким образом, в версии Java 1.1 были как добавлены новые атрибуты, так и удалены некоторые, определенные в первоначальной спецификации [21]. 

Следующей базовой версией Java стала версия Java 2, где «2» означает «второе поколение». Создание Java 2 явилось знаменательным событием, означавшим начало «современной эры» Java. Первой версии Java 2 был присвоен номер 1.2. Это может казаться несколько странным. Дело в том, что вначале номер относился к внутреннему номеру версии библиотек Java, но затем он был распространен на всю версию в целом. С появлением версии Java 2 компания Sun начала выпускать программное обеспечение Java в виде пакета J2SE (Java 2 Platform Standard Edition — Стандартная версия платформы Java 2), и теперь номера версий применяются к этому продукту [21].  Версия J2SE 1.3 была первой серьезной модернизацией первоначальной версии Java J2SE. В основном, модернизация заключалась в расширении существующих функциональных возможностей и “уплотнении” среды разработки.  Версия J2SE 1.4 продолжила совершенствование языка Java. Эта версия содержала несколько важных модернизаций, усовершенствований и добавлений.

В следующей версии Java, именуемой J2SE 5, был внесен ряд революционных изменений. В отличие от большинства предшествующих модернизаций Java, которые предоставляли важные, но постепенные усовершенствования, J2SE 5 коренным образом расширяет область применения, возможности и диапазон языка [13]. Важность новых функциональных возможностей нашла отражение в примененном номере версии — «5». Если следовать привычной логике, следующим номером версии Java должен был быть 1.5. Однако новые свойства столь значительны, что переход от версии 1.4 к версии 1.5 не отражал бы масштаб внесенных изменений. Поэтому, чтобы подчеркнуть значимость этого события, в компании Sun решили присвоить новой версии номер 5. 


Следующая версия Java получила название SE 6. С выходом этой версии компания Sun решила в очередной раз изменить название платформы Java. В названии была опущена цифра 2. Таким образом, теперь платформа называется Java SE, а официальное название продукта —Java Platform, Standard Edition 6 (Платформа Java, стандартная версия 6). Комплект разработчика Java был назван JDK 6 [12].

Версия Java SE 6 была построена на основе версии J2SE 5 с рядом дальнейших усовершенствований. Она не содержала дополнений к числу основных функций языка Java, но расширяла библиотеки API, добавляя несколько новых пакетов и предоставляя рад усовершенствований времени выполнения. 

Java SE 7, с комплектом разработчика Java JDK 7 и внутренним номером версии 1.7 — первый главный выпуск Java от Sun Microsystems, который был приобретен Oracle (процесс начался в апреле 2009 года и завершился в январе 2010 года). Java SE 7 содержит много новых средств, включая существенные дополнения языка и библиотек API. Усовершенствована система исполнения программ Java, включена также поддержка языков, отличных от Java, но программистам Java больше интересны дополнения в области языка и библиотек [2]. 

На сегодняшний момент разработчики Oracle объявили о выпуске стандарта Java 11 и его реализации JDK (Java Development Kit) с длительным сроком поддержки вплоть до 2026 года. Он полностью совместим с прежними версиями [3]. В обновлении упор сделан на безопасность. В частности, поддерживается протокол TLS 1.3 (RFC 8446), который лишился устаревших криптографических элементов и возможностей. В новом API для разработки HTTP-клиентов поддерживается HTTP/2.0 и WebSockets. Также есть система управления доступом Nestmate. Кроме того, добавлены некоторые экспериментальные функции. Наконец, появилась возможность запуска программ, которые поставляются в виде одного файла с исходным кодом [9].

Прошлая, промежуточная версия стандарта и JDK 10 вышли в марте 2018 года. Набор инструментов для разработки получил три новых варианта виртуальных машин Java, совместное использование классов приложения и поддержку экспериментального JiT-компилятора на Linux / x64 [21].

Выводы по второй главе:

Вторую главу я посвятил изучению такого языка программирования как Java, который по сей день является одним из популярнейших и постоянно развивающихся языков.

Данный язык программирования тесно связан с языком Си++. Java так же базируется на принципах объектно-ориентированного программирования, используют синтаксис языка Си, однако это те языки, которые создавались для решения разного рода задач. Таким образом язык программирования Java изначально решал вопросы написания программ, независимых от платформы, для работы со встраиваемым программным обеспечением для бытовой техники (т.е. обеспечивал переносимость программ). С появлением сети Интернет, язык Java лишь укрепил свои позиции, так как Интернет, также нуждался в написании независимых от платформ программ.


На сегодняшний день язык программирования Java упростил создание программ для сети Интернет, так как данные программы обладают переносимостью и отвечают требованиям безопасности. Были созданы такие программы как аплеты (для работы с клиентом) и сервлеты (для работы с серверами). Так же безопасность и увеличение производительности обеспечивает JVM.

В 2018 году, 25 сентября был выпущен последний, на данный момент, стандарт Java SE 11, который будет иметь поддержку вплоть до 2026 года.

ЗАКЛЮЧЕНИЕ

Изучение специальной литературы по истории возникновения и развития языка программирования Си (С++) и Java позволило нам сделать вывод о значимости данных языков для истории программирования, их достоинствах и недостатках.

Сам язык С++ имеет свое начало из языка Си, и он же оказал большое влияние на язык Java, от чего у этих языков схожий синтаксис. Два языка программирования С++ и Java реализуют модель объектно-ориентированного программирования. Однако, предпосылки создания этих языков значительно отличается.

Язык С++ используется для написания программного обеспечения. В его область применения включает написание драйверов, написание прикладных программ и включает создание операционных систем. Язык же Java изначально планировался как язык, поддерживающий независимость программ от платформы, для работы с бытовой техникой, что в дальнейшем взимело влияние на написание программ для сети Интернет (которые также нуждались в независимости).

Язык С++ развивался постепенно (примерно с начала 80-х годов), и это развитие основывалось на опыте программирование, с использованием данного языка. Язык долгое время существовал и развивался без стандартизации. Однако, избежать этого ему все же не удалось. И в 1998 году был выпущен первый стандарт С++, и последний стандарт, на данный момент был выпущен в 2017 году, который называется С++17. Если говорить про язык Java, то он же развивался стремительно, вбирая лучшее от языка С++. Начало его разработки было положено в 1991 году, и первый рабочий прототип был готов через 18 месяцев (под названием «Oak», а в 1995 – переименован в «Java»). Первый стандарт Java 1.0, был выпущен уже в 1996 году, последний же стандарт на сегодняшний день Java SE 11, вышел в 2018 году и имеет продолжительную поддержку до 2026 года.

Эти языки имеют свои достоинства и недостатки. Я хочу отразить достоинства каждого из. Так достоинствами языка С++ являются:

- Высокая совместимость с языком Си (библиотеки Си могут вызываться из С++ без дополнительных проблем, код написанный на Си может с минимальными потерями быть скомпилирован на С++).


- Высокая вычислительная производительность (можно работать с памятью на низком уровне).

- Язык С++ поддерживает различные стили программирования (структурное, ООП, обобщенное и т.д.).

- Имеются шаблоны С++, которые позволяют построить обобщенные контейнеры и алгоритмы для разных типов данных.

- Язык С++ доступен (имеется множество учебной литературы, на разных языках, пусть и для данного языка высокий порог вхождения).

Если говорить про достоинства языка Java, то бесспорно это:

- Наибольшая степень переносимости программ (платформонезависимый язык).

- Огромный выбор стандартных библиотек.

- Поддержка объектно-ориентированного стиля программирования (в Java все является объектом).

- Обеспечение высокой безопасности, производительности.

- Возможность писать многопоточные программы.

- Доступность языка Java (на сегодня у данного языка имеется множество литературы и большое русскоговорящее сообщество).

Таким образом, считаю, что поставленные нами задачи в данной курсовой работе были достигнуты.

СПИСОК ЛИТЕРАТУРЫ

  1. Аммерааль, Л. STL для программистов на C++ / Л. Аммерааль. – М.: ДМК, 2017. – 239 c.
  2. Атрощенко, Н.А. Преимущественные возможности языка Java для создания веб-проектов // Вестник научных конференции. 2017. N 1-5(17). С. 19-20.
  3. Блох, Д. Java. Эффективное программирование / Д. Блох. – М.: Лори, 2014. – 224 с.
  4. Вандевурд, Д. Шаблоны C++. Справочник разработчика / Д. Вандевурд. – М.: Вильямс, 2019. – 544 c.
  5. Герберт, Ш. Java 2 v5.0 (Tiger). Новые возможности / Ш. Герберт. – М.: СПб: БХВ-Петербург, 2013. – 208 c.
  6. Грегори, К. Использование Visual C++. Специальное издание / К. Грегори. – М.: Издательский дом Вильямс, 2014. – 849 c.
  7. Даконта, М. XML и Java 2 / М. Даконта, А. Саганич. – СПб: Питер, 2016. – 384 c.
  8. Дейтел, Х.М. Как программировать на С++ / Х.М. Дейтел, П.Дж. Дейтел. – М.: Бином; Издание 4-е, 2016. – 653 c.
  9. Достова, А.А. Анализ нововведений в объектно-ориентированном языке программирования Java / А.А. Достова // Актуальные проблемы авиации и космонавтики, раздел Информационные технологии. – 2014. – № 10. – C. 312-313.
  10. Козелл, Е.И. От Си к Си++ / Е.И. Козелл, Л.М. Романовская, Т.В. Русс, и др. – М.: Финансы и статистика, 2017. – 272 c.
  11. Липпман, С. Основы программирования на C++ / С. Липпман. – М.: Вильямс, 2015. – 256 c.
  12. Нотон, П. Java. Справочное руководство. Все, что необходимо для программирования на Java / П. Нотон. – М.: Бином, 2013. – 448 c.
  13. Ноултон, П. Java 2 / П. Ноултон, Г. Шилдт. – М.: СПб: BHV, 2016. – 103 c.
  14. Программирование на языке Си++: учеб. пособие / А.Г. Мурлин, В.А. Мурлина, Н.В. Ефанова, Е.А. Иванова. – Краснодар: КубГАУ, 2016. – 186 с.
  15. Сван, Т. Освоение Borland C++ 5 / Т. Сван. – М.: Диалектика, 2019. – 576 c.
  16. Солдатенко, И.С. Основы программирования на языке Си / И.С. Солдатенко. – Тверь: Тверской государственный университет, 2017. – 159 с.
  17. Халперн, П. Стандартная библиотека С++ / П. Халперн. – М.: Вильямс, 2017. – 336 c.
  18. Холл, М. Сервлеты и JavaServer Pages / М. Холл. – СПб: Питер, 2015. – 496 c.
  19. Шилдт, Г. Полный справочник по C++ / Г. Шилдт. – М.: Вильямс; Издание 4-е, 2016. – 800 c.
  20. Шкарбан, Ф.В. Java – современная среда программирования / Ф.В. Шкарбан // Информационные-компьютерные технологии в экономике, образовании, социальной сфере. – 2017. – № 2(16). – С. 34-38.
  21. Khalid, A. A Programmer’s Guide to Java™ SCJP Certification / A. Khalid. – U.S.: Addison-Wesley, 2014. – 1089 p.