Добавлен: 01.04.2023
Просмотров: 220
Скачиваний: 2
СОДЕРЖАНИЕ
2. Основные особенности языков программирования высокого и низкого уровней.
2.1 . Машинный код и язык ассемблера
2.2. Высокоуровневый язык программирования
3. Сравнительный анализ языков программирования низкого и высокого уровня
4. Анализ востребованности современных высокоуровневых языков программирования
Так как языков программирования высокого уровня достаточно много и произвести обзор их всех в рамках данной курсовой работы не представляется возможным, было принято решение остановиться на наиболее популярных в современном мире для обзора в данной курсовой работе.
Для критерия отбора были взяты данные аналитической службы, популярной в России компании «HeadHunter», интернет-ресурс которой предоставляет возможность поиска работы и сотрудников, путём размещения резюме и вакансий.
По данным аналитической службы компании «HeadHunter», на 24 апреля 2019 года, самыми востребованными ИТ-специалистами, исходя из названий вакансий опубликованных на интернет-ресурсе, являются:
- Фронтенд-разработчик
- PHP-разработчик
- Java-разработчик
- Системный администратор
- Тестировщик
- 1С-программист
- .NET разработчик
- С++-разработчик
- iOS-разработчик
- Android-разработчик
- Python-разработчик
- DevOps-инженер
- JavaScript-разработчик
- Data scientist
- Фулстек-разработчик
На основании этих данных, составим список языков программирования высокого уровня, которые применяются ИТ-специалистами из приведенного выше перечня в виде таблицы.
|
№ |
Специализация |
Используемые в работе языки программирования |
|
1 |
Фронтенд-разработчик |
JavaScript |
|
2 |
PHP-разработчик |
PHP |
|
3 |
Java-разработчик |
Java |
|
4 |
С++-разработчик |
С++ |
|
5 |
Системный администратор |
Python |
|
6 |
Data scientist |
Python |
|
7 |
Тестировщик |
Используют готовые инструменты |
|
8 |
1С-программист |
Специфичный язык |
|
9 |
.NET разработчик |
C# |
|
10 |
Android-разработчиков |
Java, Kotlin |
|
11 |
iOS-разработчик |
Swift |
|
12 |
DevOps-инженер |
Различные языки, в зависимости от проекта |
|
13 |
Фулстек-разработчик |
Различные языки, в зависимости от проекта |
Из выше изложенного можно выделить несколько языков программирования высокого уровня, которые так или иначе, на момент написания данной курсовой работы, востребованы на рынке труда и обзором которых ограничится данная курсовая работа:
- JavaScript
- C++
- Java
- C#
- PHP
5. Обзор высококуровневых языков программирования
5.1. JavaScript
JavaScript – интерпретируемый, мультипарадигменный язык программирования высокого уровня. Поддерживает императивный, функциональны и объектно-ориентированные стили. Является реализацией стандарта ECMA-262 (ECMAScript[5]).
Основные архитектурные черты:
- динамическая типизация
- слабая типизация
- автоматическое управление памятью
- прототипное программирование
- функции как объекты первого класса
История языка программирования JavaScript начинается с 1990-х годов, с основателя компании Netscape Communication Марка Андриссена, который считал, что в будущем интернет должен стать более динамичным (анимация веб страниц, взаимодействие с пользователем и другие виды интерактивности). Интернет нуждался в лёгком языке программирования, который можно встраивать непосредственно в HTML разметку страницы, способным работать с DOM (Document Object Model) и быть лёгким в освоении для большинства людей далёких от программирования. На основании этого видения появился язык программирования Mocha, который, в последствии, и стал называться JavaScript.
Первый прототип Mocha был интегрирован в браузер Netscape Communication в мае 1995 года и через некоторое время был переименован в LiveScript, так как по мнению маркетологов того времени слово «live» было очень привлекательно. В декабре 1995 года язык программирования был вновь переименован в JavaScript и представлялся публике как скриптовый язык программирования для выполнения небольших задач в браузере.
Сегодня JavaScript может выполняться не только в среде браузера, но и на любом устройстве через интерпретатор.
5.2. C++
C++ — компилируемый, статически типизированный язык программирования общего назначения.
Поддерживает такие парадигмы программирования как:
- процедурное программирование,
- объектно-ориентированное программирование,
- обобщённое программирование,
Обеспечивает модульность, раздельную компиляцию, обработку исключений, абстракцию данных, объявление типов (классов) объектов, виртуальные функции.
Стандартная библиотека включает, в том числе, общеупотребительные контейнеры и алгоритмы. C++ сочетает свойства как высокоуровневых, так и низкоуровневых языков. В сравнении с его предшественником — языком C, — наибольшее внимание уделено поддержке объектно-ориентированного и обобщённого программирования.
C++ широко используется для разработки программного обеспечения, являясь одним из самых популярных языков программирования. Область его применения включает создание операционных систем, разнообразных прикладных программ, драйверов устройств, приложений для встраиваемых систем, высокопроизводительных серверов, а также развлекательных приложений. Существует множество реализаций языка C++, как бесплатных, так и коммерческих и для различных платформ.
Язык программирования С++ был создан в начале 1980-х годов, его создатель сотрудник фирмы Bell Laboratories — Бьёрн Страуструп. Он придумал ряд усовершенствований к языку программирования C, для собственных нужд. То есть изначально не планировалось создания языка программирования С++. Ранние версии языка С++, известные под именем «Cи с классами», начали появляться с 1980 года. Язык C, будучи базовым языком системы UNIX, на которой работали компьютеры фирмы Bell, является быстрым, многофункциональным и переносимым. Страуструп добавил к нему возможность работы с классами и объектами, тем самым зародил предпосылки нового, основанного на синтаксисе С, языка программирования. Синтаксис C++ был основан на синтаксисе C, так как Бьёрн Страуструп стремился сохранить совместимость с языком C.
В 1983 году произошло переименование языка «Си с классами» в «язык программирования С++».
5.3. Java
Java – строго типизированный объектно-ориентированный язык программирования. Для выполнения программы написанной на языке программирования Java, код программы транслируется в специальный байт-код, который выполняется в среде виртуальной машины Java (JVM) — программы обрабатывающей байт-код и передающей инструкции в CPU, как интерпретатор.
История языка начинается с 1991 года, когда группа инженеров компании Sun занялась разработкой языка программирования для бытовых устройств. Изначально язык программирования назывался «Oak», но из-за того, что язык программирования с таким именем уже существовал, был переименован в «Java», в честь марки кофе.
Способ выполнения программного кода на языке Java через JVM имеет свои достоинства и недостатки.
К основным достоинствам относят возможность выполнения байт-кода Java на любом устройстве, для которого существует JVM и гибкую систему безопасности, в рамках которой исполнение программы контролируется JVM.
К недостаткам JVM в основном относят снижение производительности и большое потребление оперативной памяти (оперативное запоминающее устройство — ОЗУ).
Для семи разных задач время выполнения на Java составляет в среднем в полтора-два раза больше, чем для C/C++, в некоторых случаях Java быстрее, а в отдельных случаях в 7 раз медленнее. С другой стороны, для большинства из них потребление памяти JVM было в 10—30 раз больше, чем программой на C/C++.
Также примечательно исследование, проведённое компанией Google, согласно которому отмечается существенно более низкая производительность и большее потребление памяти в тестовых примерах на Java в сравнении с аналогичными программами на C++
5.4. C#
C# — объектно-ориентированный язык программирования, имеет статическую типизацию, поддерживает полиморфизм, перегрузку операторов (в том числе операторов явного и неявного приведения типа), делегаты, атрибуты, события, свойства, обобщённые типы и методы, итераторы, анонимные функции с поддержкой замыканий, исключения.
Разработан в 1998—2001 годах группой инженеров компании Microsoft под руководством Андерса Хейлсберга (создатель языков программирования Турбо Паскаль и Дельфи) и Скотта Вильтаумота как язык разработки приложений для платформы Microsoft .NET Framework. Впоследствии был стандартизирован как ECMA-334[6] и ISO/IEC 23270.
Язык программирования C# многое позаимствовал от языка программирования Java и многие его называют «очищенной версией Java».
Несмотря на существенные различия между компонентно-объектной моделью COM (основного стандарта Microsoft для компонентного проектирования и реализации программного обеспечения) и моделью Java, языки программирования имеют довольно много общего.
Единая среда выполнения программ основана на использовании промежуточного языка IL (Intermediate Language — промежуточный язык), исполняющего почти ту же роль, что и байт-код JVM. Используемые в рамках технологии .NET компиляторы с различных языков транслируют программы в IL-код. Так же, как и байт-код Java, IL-код представляет собой команды гипотетической стековой вычислительной машины. Но есть и разница в устройстве и использовании IL.
Во-первых, в отличие от JVM, IL не привязан к одному языку программирования. В составе, предварительных версий Microsoft.NET имеются компиляторы языков Си++, Си#, Visual Basic. Независимые разработчики могут добавлять другие языки, создавая свои компиляторы в IL-код.
Во-вторых, IL предназначен не для программной интерпретации, а для последующей компиляции в машинный код. Это позволяет достичь существенно большего быстродействия программ. Содержащие IL-код файлы несут достаточно информации для работы оптимизирующего компилятора.
5.5. PHP
PHP – интерпретируемый язык программирования общего назначения. Основная сфера применения — веб-приложения. В настоящее время является одним из лидеров среди языков программирования, применяющихся для создания веб-приложений.
Язык программирования PHP и его интерпретатор Zend Engine разрабатывается группой энтузиастов как проект с открытым исходным кодом. Проект распространяется под собственной лицензией.
История языка программирования PHP начинается в 1994 году, когда программисту Расмусу Лердофу понадобилось сделать набор из скриптов языка программирования Perl счетчик просмотров его резюме, опубликованного в Интернете. Расмус Лердоф назвал своё творение Personal Home Page (PHP).
Когда производительности языка программирования Perl перестало хватать Расмус Лердоф написал интерпретатор PHP на языке программирования С.
Спусти три года была разработана вторая версия интерпретатора языка программирования PHP, а летом 1998 года вышла третья версия интерпретатора PHP, переработанная программистами Энди Гутмансом и Зеевом Сураски и именно она определила современный облик языка программирования PHP.
Начиная с пятой версии язык программирования PHP обладает полной поддержкой объектно-ориентированного программирования.
В настоящее время язык программирования PHP используется миллионами разработчиками и поддерживается большинством хостинг-провайдерами, а к крупнейшим проектам на языке программирования PHP относятся такие интернет сайты как Facebook, Vkontakte, Wikipedia и др.
6. Заключение
Результаты проведенных исследований показали, что языки программирования высокого уровня остаются зависимыми от архитектуры ЦПУ, через программы трансляторы, интерпретаторы и/или виртуальные машины. Но, несмотря на это, языки программирования высокого уровня позволили в значительной степени упростить процесс разработки программы, её отладку и сопровождение. Предоставили программистам возможность работать с новыми сущностями, структурами данных, а также расширили сферу и область программ (например, интерактивные веб-приложения).
Большое разнообразие готовых программных библиотек и фреймворков сильно увеличивает скорость разработки программ, уменьшая временной интервал между идеей и выходом первой версией программы.
Непрерывная оптимизация работы трансляторов, интерпретаторов и виртуальных машин (например JVM) совместно с большим сообществом программистов позволяет повысить производительность и стабильность программ.