Файл: Современные языки программирования (С++ ).pdf

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

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

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

Добавлен: 05.04.2023

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

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

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

По данным сайта shootout.alioth.debian.org, для семи разных задач время выполнения на Java составляет в среднем в полтора-два раза больше, чем для C/C++, в некоторых случаях Java быстрее, а в отдельных случаях в 7 раз медленнее. С другой стороны, для большинства из них потребление памяти Java-машиной было в 10—30 раз больше, чем программой на C/C++. Также примечательно исследование, проведённое компанией Google, согласно которому отмечается существенно более низкая производительность и бо́льшее потребление памяти в тестовых примерах на Java в сравнении с аналогичными программами на C++.

Идеи, заложенные в концепцию и различные реализации среды виртуальной машины Java, вдохновили множество энтузиастов на расширение перечня языков, которые могли бы быть использованы для создания программ, исполняемых на виртуальной машине. Эти идеи нашли также выражение в спецификации общеязыковой инфраструктуры CLI, заложенной в основу платформы .NET компанией Microsoft.

Внутри Java существует несколько основных семейств технологий:

  • Java SE — Java Standard Edition, основное издание Java, содержит компиляторы, API, Java Runtime Environment; подходит для создания пользовательских приложений, в первую очередь — для настольных систем.
  • Java EE - Java Enterprise Edition, представляет собой набор спецификаций для создания программного обеспечения уровня предприятия. В 2017-м проект Java EE был передан Eclipse Foundation, после чего был переименован в Jakarta EE. Модули Java EE удалены из Java SE, начиная с 11-й версии.
  • Java ME - Java Micro Edition, создана для использования в устройствах, ограниченных по вычислительной мощности, например, в мобильных телефонах, КПК, встроенных системах;
  • Java Card  - технология предоставляет безопасную среду для приложений, работающих на смарт-картах и других устройствах с очень ограниченным объёмом памяти и возможностями обработки.

Компанией Microsoft была разработана собственная реализация JVM под названием Microsoft Java Virtual Machine (англ.)русск. (MSJVM), включавшаяся в состав различных операционных систем, начиная с Windows 98 (также входила в Internet Explorer от версии 3 и выше, что позволяло использовать MSJVM в ОС Windows 95 и Windows NT 4 после установки IE3+ на данные ОС).

MSJVM имела существенные отличия от Sun Java, во многом ломающие основополагающую концепцию переносимости программ между разными платформами:

  • отсутствие поддержки программного интерфейса вызова удалённых методов (RMI);
  • отсутствие поддержки технологии JNI;
  • наличие нестандартных расширений, таких, как средства интеграции Java и DCOM, работающих только на платформе Windows.

Тесная интеграция Java с DCOM и Win32 поставила под вопрос кроссплатформенную парадигму языка. Впоследствии это явилось поводом для судебных исков со стороны Sun Microsystems к Microsoft. Суд принял сторону компании Sun Microsystems. В конечном счёте между двумя компаниями была достигнута договорённость о возможности продления срока официальной поддержки пользователей нестандартной Microsoft JVM до конца 2007 года.

В 2005 году компанией Microsoft для платформы .NET был представлен Java-подобный язык J#, не соответствующий официальной спецификации языка Java и исключённый впоследствии из стандартного инструментария разработчика Microsoft Visual Studio, начиная с Visual Studio 2008.

Язык Java активно используется для создания мобильных приложений под операционную систему Android. При этом программы компилируются в нестандартный байт-код, для использования их виртуальной машиной Dalvik (начиная с Android 5.0 Lollipop виртуальная машина заменена на ART). Для такой компиляции используется дополнительный инструмент, а именно Android SDK (Software Development Kit), разработанный компанией Google.

Разработку приложений можно вести в среде Android Studio, NetBeans, в среде Eclipse, используя при этом плагин Android Development Tools (ADT), или в IntelliJ IDEA. Версия JDK при этом должна быть 5.0 или выше.

8 декабря 2014 года Android Studio признана компанией Google официальной средой разработки под ОС Android.

Основные возможности:

  • Автоматическое управление памятью.
  • Расширенные возможности обработки исключительных ситуаций.
  • Богатый набор средств фильтрации ввода-вывода.
  • Набор стандартных коллекций: массив, список, стек и т. п.
  • Наличие простых средств создания сетевых приложений (в том числе с использованием протокола RMI).
  • Наличие классов, позволяющих выполнять HTTP-запросы и обрабатывать ответы.
  • Встроенные в язык средства создания многопоточных приложений, которые потом были портированы на многие языки (например Python).
  • Унифицированный доступ к базам данных:
  • на уровне отдельных SQL-запросов — на основе JDBC, SQLJ;
  • на уровне концепции объектов, обладающих способностью к хранению в базе данных - на основе Java Data Objects (англ.) и Java Persistence API.
  • Поддержка обобщений (начиная с версии 1.5).
  • Поддержка лямбд, замыканий, встроенные возможности функционального программирования.

По проведенному исследовании можно сделать следующий вывод.

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


Сегодня любая средняя и крупная компания имеет команду программистов со знанием программирования на нескольких языках, которые редактируют, модифицируют и разрабатывают программы, используемые сотрудниками компании. Это говорит о том, что на рынке труда востребованы знания и опыт работы с несколькими языками программирования.

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

Также составим сравнительную таблицу по исследованным ЯП. Рассмотрим самый интересный и популярный момент – объектно-ориентированные возможности (Таблица 2).

Таблица 2

Сравнение рассмотренных ЯП

С++

С#

Java

PHP

Python

Интерфейсы

+

+

+

+

+

Мультимтоды

-

-

-

-

+

Переименование членов при наследовании

-

-

-

-

-

Множественное наследование

+

-

-

-

+

Решение конфликта имен при множественном наследовании

-

+

+

+

+

Сделав таблицу сравнения, можно сделать вывод, что самый лучший в объектно-ориентированных возможностях язык программирования Python.

ЗАКЛЮЧЕНИЕ

В данной курсовой работе мы рассмотрим наиболее распространенные языки программирования, такие как: С++, Python, PHP, C# и Java, которые используются для научных вычислений, обучения программированию начинающих программистов, создания все возможных сайтов и программного обеспечения.

Были рассмотрены следующие задачи:

  1. Ознакомились с ЯП и рассмотрели их основные концепции.
  2. Исследована история развития ЯП.
  3. Сделан обзор современных ЯП.

Новые языки легче в использовании. Большинство современных языков имеет интегрированную среду разработки и поддерживает структурное программирование. Для графических операционных систем, например Windows, требуются более сложные средства программирования, но с помощью простых в обращении языков, таких как Visual Basic, процесс облегчается настолько, что даже начинающие программисты могут работать с графической средой. 

Современные языки программирования обеспечивают огромные преимущества по сравнению с предшествующими языками. Они более структурированы и предоставляют интегрированную среду разработки. 

  • В 1970-х самым популярным языком общего применения был Pascal, но в 1980-х его применение резко сократилось. 
  • Язык C, разработанный компанией Bell Laboratories, является очень эффективным, но низкоуровневым языком программирования. Язык C — это основа современных языков.
  • Самым большим преимуществом языка C++ над его предшественником является поддержка объектно-ориентированного программирования. 
  • Visual Basic, наследник языка BASIC, обеспечивает наилучшую базу программирования для начинающих. 
  • Выбор используемого языка определяется многими факторами.

Большинство языков имеют специализацию и подходят для написания определенного типа программ. Выбор языка определяется исходя из направленности разрабатываемой программы. Кроме того, программист должен отдавать себе отчет в том, насколько этот язык распространен, на тот случай, если кому-то в будущем придется заниматься обслуживанием его программы.

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

  1. Александреску, А. Язык программирования D / А. Александреску. — М.: Символ, 2013. — 536 c.
  2. Ашарина, И.В. Основы программирования на языках С и С++: Курс лекций для высших учебных заведений / И.В. Ашарина. — М.: Гор. линия-Телеком, 2012. — 208 c.
  3. Баженова, И.Ю. Языки программирования: Учебник для студентов учреждений высш. проф. образования / И.Ю. Баженова; Под ред. В.А. Сухомлин. — М.: ИЦ Академия, 2012. — 368 c.
  4. Белоусова, С.Н. Основные принципы и концепции программирования на языке VBA в Excel: Учебное пособие / С.Н. Белоусова, И.А. Бессонова. — М.: БИНОМ. ЛЗ, 2010. — 200 c.
  5. Бьянкуцци, Ф. Пионеры программирования. Диалоги с создателями наиболее популярных языков программирования / Ф. Бьянкуцци, Ш. Уорден. — СПб.: Символ-плюс, 2011. — 608 c.
  6. Гавриков, М.М. Теоретические основы разработки и реализации языков программирования: Учебное пособие / М.М. Гавриков, А.Н. Иванченко, Д.В. Гринченков. — М.: КноРус, 2010. — 184 c.
  7. Гергель, В.П. Современные языки и технологии паралелльного программирования: Учебник / В.П. Гергель. — М.: МГУ, 2012. — 408 c.
  8. Голицына, О.Л. Языки программирования: Учебное пособие / О.Л. Голицына, Т.Л. Партыка, И.И. Попов. — М.: Форум, НИЦ ИНФРА-М, 2013. — 400 c.
  9. Головин, И.Г. Языки и методы программирования: Учебник для студентов учреждений высшего профессионального образования / И.Г. Головин, И.А. Волкова. — М.: ИЦ Академия, 2012. — 304 c.
  10. Довек, Ж. Введение в теорию языков программирования / Ж. Довек, Ж.-Ж. Леви. — М.: ДМК, 2016. — 134 c.
  11. Дорогов, В.Г. Основы программирования на языке С: Учебное пособие / В.Г. Дорогов, Е.Г. Дорогова; Под общ. ред. проф. Л.Г. Гагарина. — М.: ИД ФОРУМ, НИЦ ИНФРА-М, 2013. — 224 c.
  12. Касторнова, В.А. Структуры данных и алгоритмы их обработки на языке программирования Паскаль: Учебное пособие / В.А. Касторнова. — СПб.: BHV, 2016. — 304 c.
  13. Кауфман, В.Ш. Языки программирования. Концепции и принципы / В.Ш. Кауфман. — М.: ДМК, 2011. — 464 c.
  14. Керниган, Б. Язык программирования C. 2-е изд. / Б. Керниган, Д.М. Ритчи. — М.: Вильямс, 2016. — 288 c.
  15. Маслов, В.В. Основы программирования на языке Perl / В.В. Маслов. — М.: Радио и связь, 2000. — 144 c.
  16. Монахов, В.В. Язык программирования Java и среда NetBeans. 3-е изд., пер. и доп. + DVD / В.В. Монахов. — СПб.: BHV, 2012. — 704 c.
  17. Новичков, В.С. Начала программирования на языке QBASIC. Учебное пособие / В.С. Новичков, А.Н. Пылькин. — М.: ГЛТ, 2007. — 268 c.
  18. Троелсен, Э. Язык программирования С# 5.0 и платформа .NET 4.5 / Э. Троелсен; Пер. с англ. Ю.Н. Артеменко. — М.: Вильямс, 2013. — 1312 c.
  19. Фридман, А.Л. Основы объектно-ориентированного программирования на языке Си++ / А.Л. Фридман. — М.: Гор. линия-Телеком, 2012. — 234 c.
  20. Хейлсберг, А. Язык программирования C#. Классика Computers Science / А. Хейлсберг, М. Торгерсен, С. Вилтамут. — СПб.: Питер, 2012. — 784 c.
  21. Цуканова, Н.И. Теория и практика логического программирования на языке Visual Prolog 7: Учебное пособие для вузов / Н.И. Цуканова, Т.А. Дмитриева. — М.: Гор. линия-Телеком, 2013. — 232 c.
  22. Цуканова, Н.И. Теория и практика логического программирования на языке Visual Prolog 7. Учебное пособие для вузов. / Н.И. Цуканова, Т.А. Дмитриева. — М.: РиС, 2013. — 232 c.