Научно-образовательный журнал для студентов и преподавателей «StudNet» №7/2022
Научная статья Original article УДК 004.43
ОБЗОР ЯЗЫКОВ ПРОГРАММИРОВАНИЯ
OVERVIEW OF PROGRAMMING LANGUAGES
Коломыцев Александр Сергеевич, студент Балтийский федеральный университет Им. И. Канта (236041 Россия, г. Калиниград, ул. Александра невского, д. 14), тел. 8(963)268-55-54, [email protected]
Вердиев Орхан Ровшанович, студент Балтийский федеральный университет Им. И. Канта (236041 Россия, г. Калиниград, ул. Александра невского, д. 14), тел. 8(913)039-86-98, [email protected]
Kolomytsev Alexander Sergeevich, student of the Baltic Federal University. I. Kant (236041 Russia, Kaliningrad, Alexander Nevsky St., 14), tel. 8(963)268-55-54, [email protected]
Verdiev Orkhan Rovshanovich, student of the Baltic Federal University. I. Kant (236041 Russia, Kaliningrad, Alexander Nevsky St., 14), tel. 8(913)039-86-98, orhan-rv@mail .ru
Аннотация. Технологии не стоят на месте, мир меняется и меняются предпочтения. Сейчас самыми популярными являются такие языки как Python, JS, Kotlin. В этой статье приводится список малоизвестных в широких кругах языков программирования с примером написания кода стандартного «Hello world».
7849
Abstract. Technologies do not stand still, the world is changing and preferences are changing. This article provides a list of popular programming languages with an example of how to write the standard "Hello world" code.
Ключевые слова. Язык программирования; скрипт; Linux; компилируемый; парадигма; Assembler; верхнеуровневые языки; низкоуровневые языки. Keywords. programming language; script; Linux; compiled; paradigm; assembler; high-level languages; low level languages.
В современном мире существует более 100 языков для программирования. Каждый раз выходят новые обновления, языки совершенствуются и становятся более удобными для разработчиков.
Основными типами, на которые разделяют языки программирования являются: низкоуровневые (C, C++, Assembler) [11] и высокоуровневые (Python, Ruby, JavaScript, Common Lisp) [12].
Низкоуровневые языки программирования сложны в изучении, они не похожи на человеческий язык. Они предлагают больше функций и прямой контроль над компьютером. С их помощью программисты могут создавать гораздо более подробные и эффективные компьютерные программы.
Высокоуровневые языки программирования более простые в изучении так как похожи на человеческий язык. Главным преимуществом таких языков является то, что они более автоматизированы [10]. Это значит, что одна команда программирования фактически выполняет множество заранее запрограммированных вещей, чтобы сделать программирование более простым и эффективным.
Также существует разделение языков программирования по основной парадигме:
• Объектно-ориентированного программирования.
• Функциональное программирование.
• Процедурное программирование.
• Логическое программирование.
7850
• Программирование базы данных.
Для того, чтобы узнать какой язык программирования самый популярный существуют индексы. Самым известным является TIOBE — индекс, оценивающий популярность языков программирования, на основе подсчёта результатов поисковых запросов, содержащих название языка [1]. Для формирования индекса используется поиск в нескольких наиболее посещаемых порталах: Google, Blogger, Wikipedia, YouTube, Baidu, Yahoo!, Bing, Amazon.
Jun 2022 Jun 2Û21 Change Programming Language Ratings Change
1 .i i * Python 12.20% 4-0.36%
; 1 ^ 0 C 11.ЯК -o.e-1%
3 3 ■ 1 Java 10.47% -1.07%
4 4 © C+- 3.63% »2.26%
5 3 © Cfr 6.12% +1.79%
6 Е Visual Basic 5.42% +1.40%
7 7 JS JavaScript 2.09% -0.24%
В 10 ' SQL 1.94% +0.06%
9 9 AssembLy Language 1.S3% -0.21%
10 16 i о Swift 1.55% +0.4-1%
11 11 ■Л Classic Visual Basic 1.33% -0.40%
12 ia î ф DeLphi/Objact Pascal 1.32% +0.26%
13 3 i ф PHP 1.25% -0.-97%
M i 0 Objectiva-C 1.02% +0.33%
13 20 ■od Go 1.02% +0.07%
16 14 * -M R 0.98% -0.22%
17 "3 ч О Perl 0.75% -0.41%
IS 3B i Lua 0.75% +0.43%
19 ■3 Ü ? a Ruby 0.75% -Ù.4Û%
20 26 S Prplpg 0.74% +0.1S%
Рис.1 - рейтинг языков программирования
Bash - командный интерпретатор в UNIX подобных системах, в особенности в GNU/Linux [7]. Работает обычно в интерактивном режиме в текстовом окне. Bash также может читать команды из файла, который
7851
называется скриптом (или сценарием). Также, как и Unix-оболочки поддерживает:
• автодополнение имён файлов и каталогов,
• подстановку вывода результата команд,
• переменные,
• контроль над порядком выполнения,
• операторы ветвления и цикла.
#!/usr/bin/env bash
Рис. 2 - базовая программа на языке Bash
COBOL - компилируемый компьютерный язык программирования, предназначенный для использования в бизнесе. До сих пор в более чем 80% личных транзакций финансовых организаций США используется COBOL. Самыми главными преимуществами языка являются скорость и стабильность [6]. По некоторым данным, этот язык программирования никогда не умрет, так как до сих пор он является самым востребованным при работе с финансами.
IDENTIFICATION DIVISION. PROGRAM-ID. HELLO-WORLD.
ENVIRONMENT DIVISION.
DATA DIVISION.
PROCEDURE DIVISION.
END PROGRAM HELLO-WORLD. Рис. 3 - базовая программа на языке Cobol
7852
Dart - язык программирования, созданный Google. Dart позиционируется в качестве замены/альтернативы JavaScript [5]. Dart является кроссплатформенным языком который предназначен прежде всего для разработки веб-приложений (как на стороне клиента, так и на стороне сервера) и мобильных приложений. Это также значит, что одну и ту же программу на Dart можно компилировать под различные платформы - Windows (x86/64), Android, iOS.
Рис. 4 - базовая программа на языке Dart
Fortran - первый язык программирования высокого уровня, получивший практическое применение, имеющий транслятор и испытавший дальнейшее развитие [3]. Фортран широко используется в первую очередь для научных и инженерных вычислений. Одно из преимуществ современного Фортрана — большое количество написанных на нём программ и библиотек подпрограмм.
.......PRINT*, "Hello, World!"
Рис. 5 - базовая программа на языке Fortan
Lua — скриптовый язык программирования [2]. Характерной особенностью языка Lua - реализация большого числа программных сущностей минимумом синтаксических средств. Включает в себя базовые элементы для поддержки функционального и объектного стилей программирования. Этот язык можно назвать мультипарадигменным.
7853
Встроенные средства параллельного программирования позволяют писать многопоточные программы только средствами языка, не обращаясь к API операционной системы или внешним библиотекам. Основным назначением Lua является встраивание, для этого у него есть эффективные средства межъязыкового взаимодействия, ориентированные, главным образом, на вызов библиотек Си и на работу в Си-окружении.
Рис. 6 - базовая программа на языке Lua
Perl - высокоуровневый интерпретируемый динамический язык программирования общего назначения [4]. Изначально данный язык создавался, чтобы проводить манипуляции с текстом, но со временем стал все чаще использоваться разработчиками и теперь применяется в системном администрирование, веб-разработке, сетевом программировании, играх, биоинформатике, разработке графических пользовательских интерфейсов. Главными достоинствами языка являются:
• поддержка различных парадигм (процедурный, объектно -ориентированный и функциональный стили программирования),
• контроль за памятью (без сборщика мусора, основанного на циклах),
• встроенная поддержка обработки текста,
• большая коллекция модулей сторонних разработчиков.
Рис. 7 - базовая программа на языке Perl
7854
Представленные нами языки программирования имеют один большой общий минус: маленькое сообщество. Но с другой стороны, это хороший шанс стать востребованным специалистом в узкой специальности.
Список литературы
1. Индекс TIOBE // https://www.tiobe.com/tiobe-index/
2. Андрей Зубинский. Еще один «летний» язык программирования
3. Горелик А.М. 3. Введение в параллельное программирование на Фортране // Программирование на современном Фортране. — Москва: Финансы и статистика, 2006. — 352 с
4. Ларри Уолл, Том Кристиансен, Джон Орвант. Программирование на Perl = Programming Perl. — М.: O'Reilly, «Символ», 2008. — 1145 с.
5. Крис Бакетт. Dart в действии = Dart in Action / ред. Д. Мовчан. — ДМК Пресс, 2013. — 528 с.
6. Роберт В Себеста. 2.6. Компьютеризация коммерческих записей: язык COBOL // Основные концепции языков программирования = Concepts of Programming Languages. — 5-е изд. — М.: «Вильямс», 2001.
7. Mendel Cooper. Advanced Bash-Scripting Guide. Искусство программирования на языке сценариев командной оболочки - 22 Августа 2004.
8. Н. В. Виноградова. «Компьютерный сленг и литературный язык: проблемы конкуренции» «Русский филологический портал»
9. ISO/IEC 2382-1:1993, Информационные технологии. Словарь. Часть 1. Основные термины.
10. Джон С. Митчелл. Концепции в языках программирования. -Издательство Кембриджского университета, 2004 г.
11.К. Чарнецкий, Дж. О'Доннелл, Дж. Стригниц, В. Таха. Реализация DSL в metaocaml, шаблонном haskell и C++. - Университет Ватерлоо, Университет Глазго, Исследовательский центр Джулиха, Университет Райса, 2004 г.
12.Марьян Мерник. Формальные и практические аспекты предметно-ориентированных языков. — IGI Global, 2012 г.
Reference
1. TIOBE index // https://www.tiobe.com/tiobe-index/
2. Andrey Zubinsky. Another "summer" programming language
3. Gorelik A.M. 3. Introduction to parallel programming in Fortran // Programming in modern Fortran. - Moscow: Finance and statistics, 2006. -352 p.
7855
4. Larry Wall, Tom Christiansen, John Orvant. Perl programming = Programming Perl. - M .: O'Reilly, "Symbol", 2008. - 1145 p.
5. Chris Bucket! Dart in Action = Dart in Action / ed. D. Movchan. - DMK Press, 2013. - 528 p.
6. Robert V Sebesta. 2.6. Computerization of Commercial Records: The COBOL Language // Concepts of Programming Languages. - 5th ed. - M .: "Williams", 2001.
1. 7 Mendel Cooper. Advanced Bash Scripting Guide. The Art of Shell Scripting
- August 22, 2004.
7. N. V. Vinogradova. "Computer slang and literary language: problems of competition" "Russian Philological Portal"
8. ISO/IEC 2382-1:1993, Information technology - Vocabulary - Part 1: Fundamental terms
9. John C. Mitchell. Concepts in Programming Languages. — Cambridge University Press, 2004
10.K. Czarnecki, J. O'Donnell, J. Striegnitz, W. Taha. DSL implementation in metaocaml, template haskell, and C++. — University of Waterloo, University of Glasgow, Research Center Julich, Rice University, 2004
11.Marjan Mernik. Formal and Practical Aspects of Domain-Specific Languages.
— IGI Global, 2012.
© Коломыцев А.С., Вердиев О.Р., 2022 Научно-образовательный журнал для студентов и преподавателей «StudNet» №7/2022.
Для цитирования: Коломыцев А.С., Вердиев О.Р. ОБЗОР ЯЗЫКОВ ПРОГРАММИРОВАНИЯ// Научно-образовательный журнал для студентов и преподавателей «StudNet» №7/2022.
7856