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

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

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

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

Добавлен: 31.03.2023

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

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

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

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

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

Скорость откомпилированных программ.

Минусы:

Отсутствие автоматического управления памятью и необходимость постоянного её контроля.

Отсутствие реализации концепций объектно-ориентированного и функционального программирования.

Таким образом, все вышеперечисленное способствует востребованности языка и в настоящее время. Объектно-ориентированные и функциональные принципы получили дальнейшее развитие в виде C++, C#, Java, взяв многое от синтаксиса C.

3.10 Развитие языков высокого уровня

Высокоуровневые языки программирования, в плане создания ПО, стали всё по большей части удаляться от машинных кодов и реализовывать различные, помимо процедурного, парадигм программирования. К ним относят также и реализацию объектно-ориентированных принципов. C++, Java, Python, JavaScript, Ruby… – спектр языков данного типа наиболее популярен и востребован сегодня. Они предоставляют больше возможностей для реализации разнообразного ПО и нельзя однозначно определить «специализацию» каждого из них. Но популярность применения в соответствующих областях обусловлена библиотеками/фреймворками для работы с ними, например:

JavaScript – Frontend. Язык был разработан для взаимодействия клиентского веб-браузера с пользователем и удалённым сервером. Наиболее популярные библиотеки: Angular, React и VUE. В данное время относительно активно употребляется и на web и т. п. серверах (backend), особенно популярен Node.js.

Ruby – Backend. Применяется для создания скриптов (служебных сервисных файлов) и на web серверах. Основной фреймворк - Ruby On Rails.

Python – научная и инженерная сфера (помимо веб-области). Является альтернативой стандартным вычислительным и математическим пакетам (Mathematica, Octave, MatLab…), но имеет привычную семантику языка и большое число библиотек. Имеет много поклонников в области систем машинного обучения, статистики и искусственного интеллекта. Из часто используемых библиотек необходимо упомянуть django, numpy, pandas, tensorflow.

С++ – Универсал, эволюционное развитие языка C. Предоставляет возможности функционального и объектно-ориентированного программирования и не потеряв при этом способность низкоуровневого взаимодействия с аппаратным обеспечением. За счёт чего реализуется производительность и гибкость при создании ПО, но и цена соответствует: высокий порог вхождения за счёт сложной спецификации языка, необходимости самостоятельного контроля за ресурсами при выполнении программы. Многие однопользовательское и системное программное обеспечение написано с его применением: модули операционных систем (Windows, Symbian…), игры, редакторы (Adobe Photoshop, Autodesk Maya…), базы данных (MSSQL, Oracle…), проигрыватели (WinAmp…) и т. д. [16]


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

В последнее время набирает популярность и иной вид программирования - функциональное (дальнейшее развитие уровня языка). Здесь уже другой вид абстракции для вычислений – функции, которые берут в качестве аргументов набор функций и возвращают другую. Роль переменных играют те же функции (привычные нам переменные – просто константные выражения, аналогичные final перед объявлением типа в Java). Собственно функция замкнута в своей области видимости, результат её работы зависит только от переданных аргументов. Отсюда вытекают два замечательных свойства:

Для тестирования нам необходимы только аргументы функций (результат работы не зависит от внешних переменных и т. п.).

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

Однако и порог вхождения выше, чем для ООП: для эффективного кода необходимо строить программу, описывая в виде функций алгоритм выполнения. Но также для чистого функционального стиля неплохо бы знать азы логики и теории категорий. Наиболее популярные – Haskell, Scala, F#. Но не бойтесь, в Java (как и в других современных языках третьего поколения) появились элементы функционального программирования и их возможно комбинировать вместе с ООП [16].

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

ЗАКЛЮЧЕНИЕ

Изобретение языка программирования высокого уровня позволило общаться с машиной, понимать ее, если конечно нам знаком используемый язык. Проще говоря, мы в нашем развитии науки программирования пока что с ЭВМ на вы.

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


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

В настоящее время самые распространённые – языки ООП. Java, с момента возникновения, всегда находится в топе, обычно в тройке, востребованных языков. Помимо ООП, содержит элементы функционального программирования, и комбинировать разные стили составления ваших программ. Спектр применения Java весьма широк – это бизнес задачи, реализация веб-серверов (backend), основной язык создания Android-приложений, кроссплатформенные среды программирования и рабочих мест (IDE/АРМ) и моделирования и многое другое. Особенно сильны позиции Java в Enterprise секторе – области корпоративного программного обеспечения, которая требует качественный и долгоживущий код, реализацию самых сложных бизнес-логик.

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

  1. Абель, Питер Язык ассемблера для IBM PC и программирования / Питер Абель. - М.: Высшая школа, 2018. - 448 c.
  2. Александреску, Андрей Язык программирования D / Андрей Александреску. - М.: Символ-плюс, 2016. - 371 c.
  3. Аммерааль, Л. STL для программистов на C++ / Л. Аммерааль. - М.: Книга по Требованию, 2016. - 240 c.
  4. Бенкен, Е.С. PHP, MySQL, XML. Программирование для Интернета (+ CD-ROM) / Е.С. Бенкен. - М.: БХВ-Петербург, 2016. - 830 c.
  5. Бизли, Дэвид М. Python. Подробный справочник / Бизли Дэвид М.. - М.: Символ-плюс, 2018. - 393 c.
  6. Братко, И. Программирование на языке Пролог для искусственного интеллека / И. Братко. - М.: Мир, 2018. - 560 c.
  7. Вайнгартен, Ф. Трансляция языков программирования / Ф. Вайнгартен. - М.: Мир, 2016. - 192 c.
  8. Василий, Усов Swift. Основы разработки приложений под iOS / Усов Василий. - М.: Питер, 2016. - 399 c.
  9. Глушков, В. Алгебра. Языки программирования / В. Глушков, Г. Цейтлин, Е. Ющенко. - М.: Наукова думка, 2017. - 320 c.
  10. Душкин, Р. В. Практика работы на языке Haskell / Р.В. Душкин. - М.: ДМК Пресс, 2016. - 288 c.
  11. Дьяконов, В.П. Simulink 5/6/7. Самоучитель / В.П. Дьяконов. - М.: Книга по Требованию, 2015. - 784 c.
  12. Кауфман, В. Ш. Языки программирования. Концепции и принципы / В.Ш. Кауфман. - М.: ДМК Пресс, 2019. - 268 c.
  13. Кнастер, Скотт Objective-C. Программирование для Mac OS.X и iOS / Скотт Кнастер , Вакар Малик , Марк Далримпл. - М.: Вильямс, 2016. - 304 c.
  14. Кочан, Стивен Программирование на Objective-C 2.0 / Стивен Кочан. - М.: ЭКОМ Паблишерз, 2015. - 608 c.
  15. Кристиан, К. Руководство по программированию на языке Модула-2 / К. Кристиан. - М.: Мир, 2019. - 464 c.
  16. Лавров, С. С. Универсальный язык программирования / С.С. Лавров. - М.: Наука, 2015. - 196 c.
  17. Липовача, Миран Изучай Haskell во имя добра! / Миран Липовача. - М.: ДМК Пресс, 2017. - 199 c.
  18. Макаров, А. В. Common Intermediate Language и системное программирование в Microsoft. NET / А.В. Макаров, С.Ю. Скоробогатов, А.М. Чеповский. - М.: Интернет-университет информационных технологий, Бином. Лаборатория знаний, 2017. - 328 c.
  19. Мастицкий, С. Э. Статистический анализ и визуализация данных с помощью R / С.Э. Мастицкий. - М.: ДМК Пресс, 2015. - 673 c.
  20. Мэйерс, С. Эффективное использование С++: моногр. / С. Мэйерс. - М.: Книга по Требованию, 2016. - 300 c.
  21. Рутм, Г. CUDA Fortran для инженеров и научных работников. Рекомендации по эффективному программированию / Г. Рутм, М. Фатика. - М.: ДМК Пресс, 2017. - 364 c.
  22. Стивен, Кочан Программирование на Objective-C / Кочан Стивен. - М.: Эком, 2019. - 729 c.
  23. Ульман, Ларри Основы программирования на PHP / Ларри Ульман. - М.: ДМК Пресс, 2017. - 288 c.
  24. Фаулер, Мартин UML. Основы. Краткое руководство по стандартному языку объектного моделирования / Мартин Фаулер. - М.: Символ-плюс, 2017. - 192 c.
  25. Фролов, Г. Д. Практический курс программирования на языке PL/1 / Г.Д. Фролов, В.Ю. Олюнин. - М.: Главная редакция физико-математической литературы издательства "Наука", 2017. - 384 c.
  26. Фролов, Г. Д. Элементы информатики / Г.Д. Фролов, Э.И. Кузнецов. - М.: Высшая школа, 2015. - 308 c.
  27. Харрингтон, Д. Проектирование объектно-ориентированных баз данных / Д. Харрингтон. - М.: Книга по Требованию, 2016. - 272 c.
  28. Хелибайк, Чак Программирование PIC-микроконтроллеров на PicBasic (+CD-ROM) / Чак Хелибайк. - М.: Додэка XXI, 2017. - 336 c.
  29. Чезарини, Ф. Программирование в Erlang / Ф. Чезарини. - М.: ДМК Пресс, 2015. - 843 c.