Файл: Обзор языков программирования высокого уровня (Характеристика инструментального программного обеспечения).pdf

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

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

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

Добавлен: 28.03.2023

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

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

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

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

До какого-то времени определенного какого-то графика по разработке для языка С++ не было. Реализация и документирование для всех средств шли параллельно.

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

Примерно в 1984 г. стало очевидным, что работы по стандартизации С++ будут неизбежными и надо приступить незамедлительно к проектированию базиса.

Организация AT&T внесла также свой вклад в рассматриваемый этап работы. Больше 90 представителей выполняли приемы для изучение и комментировали аспекты языка, что стали современной версией для руководства по С++.

В процессе разработки ЯП С++ самым важным этапом была его простота. Поскольку при возникновении вопросов, именно что надо упростить: либо руководство, или документацию, то всегда выбирали первое. Огромное значение также все разработчики придавали совместимости ЯП С++ с С, что мешало изменить весь синтаксис.[9]

Пример кода на С++ показан на рисунке 3:[10]

Рисунок 3 – Пример кода С++

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

Хотя иногда пользователю понадобится самому создать некоторый тип, то он может его определить с легкостью посредством самого языка. Написание программ в С++ также сводится и к определению зависящих параметров для типов или области программирования. [9]

Язык С++ создавался и по причине использования его для традиционной сферы, а именно в системах для программирования С на ОС Linux. Но есть уже обоснованные способы по применению С++ в этой богатой программной среде. К примеру, все системы трансляции, динамическую загрузка данных и БД, можно применять также и в Linux.[16]

2.2. Язык Java

ЯП Java является кросс-платформенным языком программирования, что был создан корпорацией Sun Microsystems [12].

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


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

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

Java – не лишь ЯП, но и специальная платформа проектирования приложений. Изначально указанный язык назывался Oak, и был разработан Джеймсном Гослингтом с целью программирования разных бытовых электронных устройств [13].

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

Чтобы не связывать разработку программного обеспечения с конкретно применяемой платформой, Д. Гослингт начал использовать разные расширение компилятора С++ [15].

Заметим, со временем он понял, что только один С++ не будет удовлетворять всем необходимым потребностям, как бы не расширять его. Поэтому в середине 1990 г. спроектировал язык Oak.

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

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

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


Пример кода показан на рисунке 4:

Рисунок 4 – Пример кода Java

В последнее время внесен ряд новых усовершенствований, которые увеличивали скорость выполнения некоторых программ [14]:

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

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

Такие идеи нашли выражение в структуре CLI.[20]

2.3. Язык C#

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

Указанные языки могут устраивать многих разработчиков, хотя не обеспечивают в действительности какой-то требуемой продуктивности разработки. [5] Процессы для написания приложения при использовании ЯП С++ занимает много времени, чем разработка такого же приложения на C#.

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

Традиционным средством для выполнения отладки программных продуктов на стадиях выполнения этапов разработки C++ является маркировка частей кода программ директивами #ifdef.

В языке C#, применив такие атрибуты с ориентацией на условные слова, программисты могут быстрее написать программный код.

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

ЯП C#, являясь одним из последних с широко используемых ЯП, имеет возможность впитать полностью весь опыт, лучшие стороны всех современных ЯП, при этом являясь также созданным для программирования в среде программирования .NET.

Архитектура.NET продиктовала ему перспективную объектно-ориентированную направленность. [6]

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


2.4. Язык Ruby

В каждой с сфер разработки программного обеспечения (ПО) обычно есть минимум 2-3 языка, способных справиться в принципе с поставленными задачами.

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

В конце концов важно мышление и понимание такого факта, что нужно сделать, каким образом это поддерживать.

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

Ruby был задуман еще в 1993 г. японцем Юкихиро Мацумото, который стремился создать язык, что бы вобрал из других языков лучше подходы, облегчающие работу программиста (рисунок 5).

Рисунок 5 – Логотип Ruby

Он также действовал во многом и согласно постулату Абельсона:[2] «Программы должны создаваться так, чтобы их всегда могли читать люди, а лишь иногда так, чтоб их могли выполнить машины».

Мацумото хотелось, чтоб это был только объектно-ориентированный, простой при использовании высокоуровневый язык программирования. Таким образом, главное назначение языка Ruby – это создание мощных и одновременно понятных программ, в которых важна не так скорость работы программы, как малое время разработки, а также понятность и простота его синтаксиса [17].

Язык функционирует принципу «наименьшей неожиданности»: написанная программа должна себя вести так, как хочет того программист. Он также выполнил наследование идеологии языка Perl в предоставлении программисту возможностей для достижения одного и такого же результата разными способами [6].

В Японии Ruby был популярным с момента его появления первой версии в 1995 г.

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

После 2000 года началось распространение языка Ruby по всему миру, а этому способствовало появление разных англоязычных книг [4]:

– «Programming Ruby»;

– «Why's (Poignant) Guide to Ruby».

Стоит отметить, что до 2004 года Ruby широко известен не был в Европе, однако благодаря возможностям и большому числу поддерживаемых платформ язык Ruby медленно, но уверенно умножал ряды своих поклонников.

Настоящий всплеск интереса к языку Ruby спровоцировало появление модуля Ruby-On-Rails (или RoR) — фреймворка для разработки веб-приложений. RoR стал катализатором для Ruby, благодаря которому данный язык получил признание сейчас во всем мире.


Настоящий скачок и интерес к применению языка для серьёзных проектов начался после выхода версии Ruby 1.8.0 в 2003 г. и новой версии Ruby on Rails в 2007 году, что и вывело программирование языком Ruby на новый качественный уровень. [14]

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

А это значит, что скорость разработки их заметно возрастает.

Если до версии языка 1.8 он развивался, сохраняя свою совместимость с предыдущими созданными версиями, то позже создатели Ruby, во главе с Мацумото, решили, что для движения вперёд следует сделать отказ от полной совместимости.

Поэтому вся разработка Ruby могла быть разделена на 2 ветви [14]:

– создание новых версий 1.9;

– поддержка версий 1.8,

что являются предтечей следующих версий языка, Ruby 2. На рисунке 6 показано изменение быстродействия версий Ruby [3]:

Рисунок 6 – Увеличение быстродействия

Согласно рейтингу компании TIOBE Ruby в 2016 году занял 5 место среди самых популярных языков программирования, а это более 1,5% всего рынка (рисунок 7) [15].

Рисунок 7 – Рейтинг языков программирования

Рисунок 8 показывает количество предложений по работе, он совпадает также с выводами фирмы TIOBE – спрос на Ruby есть, и достаточно высокий, но он все-таки ниже, нежели спрос на Python, или значительно ниже, нежели на язык PHP, что и ясно – несравнимы активные сроки использования таких языков (рисунок 11) [13]:

Рисунок 8 – Темпы развития языков программирования

На рисунке 8 видно, как стремительно растёт интерес к самым различным языкам, а темпы развития Ruby очень впечатляют: за последние 3 года они стремительно возросли в почти 2,5 раза [11].

2.5. Язык JavaScript

Современный JavaScript – это «безопасный» язык программирования. Он не предоставляет низкоуровневый доступ к памяти или процессору, потому что изначально был создан для браузеров, не требующих этого.

Возможности JavaScript сильно зависят от окружения, в котором он работает. Например, Node.JS поддерживает функции чтения/записи произвольных файлов, выполнения сетевых запросов и т.д [16].

В браузере для JavaScript доступно всё, что связано с манипулированием веб-страницами, взаимодействием с пользователем и веб-сервером.