Файл: История возникновения и развития языка программирования Си (С++) и Java (МЕТОДОЛОГИИ ПРОГРАММИРОВАНИЯ).pdf
Добавлен: 31.03.2023
Просмотров: 203
Скачиваний: 2
Синтаксис Java в основном соткан из ниток C++. Однако, в отличие от C++, который сочетает в себе синтаксис структурированного, общего и объектно-ориентированного программирования, Java была построена с нуля до практически полностью объектно-ориентированной: все в Java является объектом. В Java есть несколько новшеств, отличный от других языков, которые являются его сильной стороной.
Java-апплеты – это программы, встроенные в другие приложения, обычно на веб-странице, отображаемой в веб-браузере. Пример кода в приложении А.
Этот апплет просто нарисовал строку «Привет, мир!». в прямоугольнике, в котором будет запускаться апплет. Это немного лучший пример использования функций OO Java в том, что класс явно расширяет базовый класс «Applet», что он переопределяет метод «paint» и использует импортные инструкции.
Документ с помощью HTML-элемента <applet> показан в приложении Б. Апплет имеет три атрибута: code = «Hello» указывает имя класса Applet, а width = «200» height = «200» устанавливает ширину и высоту пикселя апплета. (Апплеты также могут быть встроены в HTML с использованием элемента object или embed, хотя поддержка этих элементов веб-браузерами несовместима.
Сервлеты Java – это серверные компоненты Java EE, которые генерируют ответы на запросы клиентов (приложение В).
Операторы импорта заставляют компилятор Java включать все общедоступные классы и интерфейсы из пакетов java.io и javax.servlet в компиляцию. Класс Hello расширяет класс GenericServlet; класс GenericServlet предоставляет интерфейс для сервера для пересылки запросов на сервлет и управления жизненным циклом сервлета. [9]
Класс Hello переопределяет метод службы (ServletRequest, ServletResponse), определенный интерфейсом Servlet, для предоставления кода для обработчика запросов на обслуживание. Метод service () передается объекту ServletRequest, который содержит запрос от клиента и объект ServletResponse, используемый для создания ответа, возвращаемого клиенту. Метод service () объявляет, что он исключает исключения ServletException и IOException, если проблема не позволяет ему ответить на запрос.
Метод main () вызывается JVM при запуске программы. Он создает новый фрейм Hello и вызывает его отображение, вызывая метод setVisible (boolean), унаследованный от суперкласса Component, с логическим параметром true. = После отображения кадра, выход из основного метода не приводит к завершению работы программы, поскольку поток диспетчеризации событий AWT остается активным до тех пор, пока все окна верхнего уровня Swing не будут удалены.
По умолчанию внешний вид приложений GUI, написанных на Java, с помощью инструментария Swing очень отличается от родных приложений. Можно указать другой внешний вид с помощью подключаемой системы Swing. Клоны Windows, GTK и Motif поставляются Sun. Apple также обеспечивает внешний вид Aqua для Mac OS X. Хотя предыдущие реализации этих взглядов считались недостаточными, Swing в Java SE 6 решает эту проблему, используя более собственные процедуры рисования виджетов базовых платформ. В качестве альтернативы, сторонние инструменты, такие как wx4j или SWT, могут использоваться для большей интеграции с собственной системой окон. [12]
3.3 Перспективы языка Java
В рамках более широких усилий с целью упростить разработку и управление будет установлена более тесная связь между контейнерами и выполняемыми программами вроде Java. Те и другие будут оптимизированы, чтобы обеспечить беспрепятственное управление приложениями Java и их конфигурирование. Появятся согласованное управление памятью и упрощенная коммутация (wiring) между конструктами Java и контейнерами. В результате разработчики смогут использовать преимущества контейнеров и выполняемых программ на Java, которые, в сущности, представляют собой другой вид контейнеров.
Kotlin готов стать главной силой в мире программирования. Его лаконичный синтаксис и сотрудничество с Java уже сделали Kotlin популярным среди многих разработчиков. Теперь у него имеется первоклассная поддержка на Android, которая должна расширить его применение на мобильных устройствах. Следует ожидать, что в 2020-2021 г. он еще больше расширит свои позиции.
Новый график выпуска Java с интервалом в 6 месяцев будет означать более частые изменения и ускоренное появление новых возможностей. Следует ожидать, что предприимчивые центры разработки на Java воспользуются этими возможностями и используют Java для решения новых проблем и проникновения в новые сферы. Крупные организации, вероятно, будут ожидать поддержки долгосрочных релизов, но теперь у них появится более подробная дорожная карта. Поддержка со стороны сообщества также обладает потенциалом для того, чтобы сосредоточиться на популярных изменениях в промежуточных релизах.
Растет спрос на бессерверные платформы. Первоначально они рассматривались как модели потребления, но теперь они расширяются, превращаясь из простых моделей программирования событий в сложные системы на базе потоков. Данная инновация продолжится в связи с тем, что разработчики облаков хотят сместить акцент на приложение и не беспокоиться по поводу серверов. Это означает, что программы на Java необходимо будет оптимизировать и перенести на бессерверную архитектуру. А в этом мире быстрые стартапы и небольшие фирмы играют более важную роль. [20]
Таким образом, можно сказать, что Java ещё долгое время будет оставаться очень популярным и мощным инструментом, который будет использоваться во многих областях информационных технологий.
ЗАКЛЮЧЕНИЕ
В данной работе была изучена история возникновения и развития языков программирования C/C++ и Java.
В рамках курсового проекта были решены следующие задачи:
- изучены ключевые понятия программирования и его парадигмы;
- исследовано возникновения и развития языков C, C++ и Java;
- рассмотрены особенности этих языков;
- изучены перспективы использования этих языков.
Язык C++ в определенном смысле можно назвать улучшенным С. С++ наиболее полно представляет парадигмы современного программирования и является фундаментом, на котором оно строится. Он обеспечивает контроль типов, перегрузку функций, возможность писать процедурно-ориентированные программы и создавать библиотеки функций. В программе на С++ можно динамически управлять памятью, использовать адресную арифметику, обращаться к отдельным разрядам двоичного представления данных и т.д. Но главное в том, что C++ добавляет к С объектную ориентированность: поддерживает объектно-ориентированное программирование и позволяет разрабатывать библиотеки классов. Механизм шаблонов языка С++ и его стандартная библиотека дают возможность создавать программы, применяя методы обобщенного программирования.
Большинство организаций так или иначе используют Java. Широкий спектр вариантов использования Java делает ее практически незаметной в использовании. Однако на самом деле язык является основным во многих областях, таких как приложения под Андроид, финансовые программы, кассовые терминалы и т.д.
Данная работа может быть расширена более глубоким изучением данных языков, а также других высокоуровневых языков программирования.
СПИСОК ЛИТЕРАТУРЫ
- Буч Гради Объектно-ориентированное проектирование с примерами применения. — Конкорд, 2014. — 519 с.
- Васильев А. Java. Объектно-ориентированное программирование. — Питер, 2013. — 397 с.
- Дейтел Пол, Дейтел Харви С для программистов с введением в С11. — ДМК Пресс, 2013. — 546 с.
- Жемеров Д., Исакова С. Kotlin в действии. — ДМК Пресс, 2017. — 404 с.
- Крейг Уоллс Spring в действии. — ДМК Пресс, 2013. — 754 с.
- Магда Ю. Программирование и отладка C/C++ приложений для микроконтроллеров ARM. — ДМК Пресс, 2012. — 170 с.
- Мартин Роберт Идеальный программист. Как стать профессионалом разработки ПО. — Питер, 2011. — 240 с.
- Прохоренок Н. Основы Java. — БХВ-Петербург, 2017. — 688 с.
- Хабибуллин И. Самоучитель Java (3-е издание). — БХВ-Петербург, 2008. — 759 с.
- Bob Bryla, Kevin Loney. Oracle Database 12c The Complete Reference (Oracle Press) 1st Edition. — McGraw-Hill Education, 2013. — 1472 p.
- Herbert Schildt Java: A Beginner's Guide, Seventh Edition. — McGraw-Hill Education, 2017. — 752 p.
- Joshua Bloch Effective Java. — Addison-Wesley Professional, 2018. — 412 p.
- Joyce Farrell Java Programming. — Cengage Learning, 2015. — 976 p.
- Scott Meyers Effective Modern C++: 42 Specific Ways to Improve Your Use of C++11 and C++14. — O'Reilly Media, 2014. — 334 p.
- Stroustrup Bjarne Programming: Principles and Practice Using C++. — Addison-Wesley Professional, 2014. — 1282 p.
- Stroustrup Bjarne The Design and Evolution of C++. — Addison-Wesley, 2015. — 462 p.
- Tony Gaddis Starting Out with C++ from Control Structures to Objects. — Pearson, 2017. — 1344 p.
- Vertex-academy [Электронный ресурс] История создания Java. Режим доступа: https://vertex-academy.com/tutorials/ru/istoriya-sozdaniya-java-2/ Дата обращения (26.12.2019)
- Proglang [Электронный ресурс] Java — Обзор языка программирования: введение, история и преимущества. Режим доступа: http://proglang.su/java/introduction-to-programming Дата обращения (26.12.2019)
- itWeek [Электронный ресурс] Перспективы Java. Режим доступа: https://www.itweek.ru/foss/article/detail.php?ID=199284 Дата обращения (26.12.2019)
- Справочник Java [Электронный ресурс] Подробнее о технологии Java Режим доступа: http://www.java.com/ru/about/ Дата обращения (26.12.2019)