Файл: Обзор языков программирования высокого уровня (ОСОБЕННОСТИ ОБЪЕКТНО-ОРИЕНТИРОВАННЫХ ЯЗЫКОВ ПРОГРАММИРОВАНИЯ).pdf

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

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

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

Добавлен: 30.03.2023

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

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

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

Недостатком данной парадигмы является отсутствие присваиваний и их замены на порождение новых данных, что явным или неявным образом приводит к необходимости контроля над выделением и очисткой памяти [5].

Выводы по главе 1

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

ГЛАВА 2 АНАЛИТИЧЕСКИЙ ОБЗОР РЯДА ПОПУЛЯРНЫХ ЯЗЫКОВ ПРОГРАММИРОВАНИЯ

    1. 2.1. Высокоуровневый язык программирования Java

Современный язык программирования Java является мощной основой для различных типов сетевых приложений и глобальным стандартом для разработки мобильных приложений и веб-контента.

Также, широко данный язік применяется в рамках корпоративного сегмента программного обеспечения.

В настоящее время в мире насчитывается около 9 миллионов специалистов-разработчиков, которые создают программные приложения на данном языке.

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

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

Данные инструменты автоматизированной обработки исключений предоставляют основную информацию об исключениях в программах на Java.

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


Поэтому существуют реализации виртуальной машины Java со сборщиком мусора специально созданным для программирования систем реального времени.

Существует несколько сред разработки программного обеспечения на языке Java, таких как: NetBeans, Eclipse, IntelliJ IDEA, JDeveloper, BluеJ и некоторые другие [11].

Согласно статистике[21]:

  1. Java в той или иной мере используется на 97% корпоративных настольных ПК.
  2. Java используется на 89% настольных программных станциях в соединенных штатах Америки.
  3. Среди разработчиков программного обеспечения данный язык является наиболее популярным.
  4. Java имплементирован и поддерживается на более чем 3 миллиардах мобильных телефонов и смартфонов.
  5. Java используется в качестве основы при создании прикладных пакектов приложений для современных ТВ-устройств.

При создании высокоуровневого языка разработки програм разработчиками Java закладывались такие цели [17]:

- синтаксис языка должен быть понятным и простым, с поддержкой парадигмы ООП;

- разработка исполняемых приложений должна осуществляться безотказно, т.е. надежность и производительность работы программных приложений должны быть высокой;

- должна быть обеспечена максимально возможная независимость от аппаратной и программной архитектуры;

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

Т.е, программное приложение, которое написано с использованием средств языка Java, должно обеспечивать корректное функционирование на любой, поддерживаемой вендором, системной платформе без особой необходимости добавления изменений в исходный код программы или его перекомпиляции [20].

Состав программы на языке Java приведен на рис.3.

Рисунок 3 – Состав программы на языке Java

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

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

    1. 2.2. Высокоуровневый язык программирования C#


Данный язык изначально создавался с целью обеспечения компонентного программирования, поэтому в его ядро закладывались возможности повторной инициализации и интеграции разработанных программистов программных компонентов. Особенностями данного языка являются [10]:

  • язык создавался параллельно с технологией .Net, что позволило разработчикам интегрировать все необходимые механизмы обеспечение функциональных взаимосвязей фреймворка, в том числе FCL и CLR;
  • это полноценный объектно-ориентированным язык, причем даже примитивные типы данных языка представлены в качестве отдельных классов;
  • поддержка механизмов наследования, инкапсуляции и полиморфизма;
  • разработан на базе использования C и C ++, что позволило интегрировать наиболее функциональные возможности этих высокоуровневых языков программирования;
  • с помощью поддержки ряда фреймворков, выступающих в виде некой надстройки над операционной системой пользователя, разработчики C# могут использовать механизмы создания и работы с виртуальной машиной, аналогично существующим технологиям языка Java. При этом существенно повышается эффективность и используемость программного кода. Это связано с тем, что исполнительная среда CLR позволяет обеспечить работу компилятора промежуточного уровня, что является более эффективным по сравнению с интерпретатором байт-кода в Java Virtual Machine.

При разработке языка C#, его создатели основывались на существующих преимуществах других языков, такиз как C++, C, Java. В результате работы по созданию данного языка программирования высокого уровня получился удобный и гибкий язык, который по функциональным возможностям практически не уступает языку С++, однако существенно существенно повышает эффективность и скорость разработки программ [13].

В качестве среды разработки для языка С# чаще всего применяется IDE Visual Studio. Данна среда разработки включает в себя гибкий и современный редактор исходного программного кода, интегрируя поддержку технологии IntelliSense, а также средства оперативного профилирования и рефакторинга кода. Имеющийся в среде разработки отладчик способен функционировать в качестве отладчика на уровне исходного программного кода, а также имеются возможности его использования в качестве отладчика на машинном уровне. К другим встроенным средствам и инструментам среды следует отнести интуитивно понятный редактор форм, который способствует ускорению процесса создания и конфигурирования компонентов графического интерфейса программного приложения, дизайнеры классов, объектов и схем баз даннях [14].


В настоящее время весьма популярен среди разработчиков программного обеспечения (ПО) набор продуктов компании Microsoft, включающих, в частности, интегрированную среду разработки (IDE) программ - Microsoft Visual Studio. В настоящее время актуальной версией является MVS 2015.

Предлагаемые средства разработки ПО продукты позволяют оперативно и гибко разрабатывать различные типы приложений, в частности, согласно [10]:

  • консольные приложения;
  • приложения с графическим интерфейсом, на базе использования популярной среди разработчиков десктопных решений технологии Windows Forms;
  • веб-сайты, на базе использования ASP.net.

Состав основных компонентов проекта на языке C# в Visual Studio приведена на рис. 4.

Рисунок 4 - Состав основных компонентов проекта на языке C# в Visual Studio

IDE Visual Studio включает в себя гибкий и современный редактор исходного программного кода, интегрируя поддержку технологии IntelliSense, а также средства оперативного профилирования и рефакторинга кода. Имеющийся в среде разработки отладчик способен функционировать в качестве отладчика на уровне исходного программного кода, а также имеются возможности его использования в качестве отладчика на машинном уровне. К другим встроенным средствам и инструментам среды следует отнести интуитивно понятный редактор форм, который способствует ускорению процесса создания и конфигурирования компонентов графического интерфейса программного приложения, дизайнеры классов, объектов и схем баз данных [14].

IDE Visual Studio, также, позволяет разрабатывать и интегрировать в проект сторонние плагины и функциональные расширения, которые обеспечивают новые возможности разработки приложений на различных уровнях. В частности, широко используются плагины добавления функций использования современных систем контроля версий (Subversion, Git), интеграции новых пакетов инструментов для визуального редактирования проектирования кода на UML-языке, создания диаграмм сценариев использования, разработки алгоритмов [19].

    1. 2.3. Высокоуровневый язык программирования Python

Python это современный объектно-ориентированный язык с поддержкой динамической типизации, автоматического процесса управления памятью, высокоуровневых гибких структур данных (словари, кортежи, списки). Python поддерживает создание классов, связи модулей, гибкую и удобную обработку исключительных ситуаций и многопоточные методы вычислений. Кроме ООП данный язык структурное, функциональное и аспектно-ориентированное программирование [8].


Основной реализацией языка является интерпретатор CPython, который поддерживает значительное число актуальных операционных платформ. Данный инструмент распространяется под свободной лицензией, это обеспечивает его применение без ограничений в любых, даже пропиетарных, приложениях. Разработаны версии интерпретаторов для JVM, MSIL и ряда других.

Python позволяет определять тип переменной на этапе исполнения программы. В связи с этим вместо присваивания переменной определенного значения более корректным является использование фразы «связывания определенного значения с конкретным именем». В языке поддерживаются такие встроенные типы данных как: бинарный, строковый, Unicode, целочисленный с произвольно заданной степень точности, число с плавающей запятой, и ряд других. Из современных коллекций язык обладает поддержкой таких встроенных структур как: список, словарь, кортеж (модифицируемый список), множество и др. Следует отметить, что все значения, также как и в Ruby, являются объектами, причем это характерно и для функций, модулей, методов и классов [15].

Добавить в программный код новый тип можно путем написания нового класса или определения нового типа в специальном модуле расширения, который может быть разработан на другом языке. Система классов поддерживает полноценные механизмы множественного и единичного наследования, а также функции метапрограммирования. Возможным, также является прямое наследование от подавляющего большинства встроенных типов расширений [16].

Структура проекта Python в среде разработки PyCharm приведена на рис.5.

Рисунок 5 – Пример структуры языка программирования Python [19]

Все объекты в Python подразделяются на атомарные и ссылочные. К первым относятся int, long, complex.

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

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

Преимущества языка следующие [18].

1. Интерпретируемость. Это позволяет существенно упростить и облегчить отладку программ, однако при этом теряется скорость выполнения приложения.

2. Динамическая типизация. Это повышает общую скорость разработки кода.