Поздравляем с Днем Российской науки!
   
Телефон: 8-800-350-22-65
WhatsApp: 8-800-350-22-65
Telegram: sibac
Прием заявок круглосуточно
График работы офиса: с 9.00 до 18.00 Нск (5.00 - 14.00 Мск)

Статья опубликована в рамках: XXIII-XXIV Международной научно-практической конференции «Вопросы технических и физико-математических наук в свете современных исследований» (Россия, г. Новосибирск, 24 февраля 2020 г.)

Наука: Технические науки

Секция: Информатика, вычислительная техника и управление

Скачать книгу(-и): Сборник статей конференции

Библиографическое описание:
Верещагина Е.А., Третьяк А.В. ИССЛЕДОВАНИЕ СОВРЕМЕННЫХ ЯЗЫКОВ ПРОГРАММИРОВАНИЯ // Вопросы технических и физико-математических наук в свете современных исследований: сб. ст. по матер. XXIII-XXIV междунар. науч.-практ. конф. № 1-2(19). – Новосибирск: СибАК, 2020. – С. 39-43.
Проголосовать за статью
Дипломы участников
У данной статьи нет
дипломов

ИССЛЕДОВАНИЕ СОВРЕМЕННЫХ ЯЗЫКОВ ПРОГРАММИРОВАНИЯ

Верещагина Елена Александровна

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

РФ, г. Владивосток

Третьяк Александр Викторович

аспирант, кафедра информационной безопасности, Дальневосточный федеральный университет,

РФ, г. Владивосток

RESEARCH OF MODERN PROGRAMMING LANGUAGES

 

Elena Vereshchagina

candidate of technical sciences, assistant professor, Department of Information Security, Far Eastern Federal University,

Russia, Vladivostok

Alexander Tretyak

graduate student, Department of Information Security, Far Eastern Federal University,

Russia, Vladivostok

 

АННОТАЦИЯ

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

ABSTRACT

The article discusses programming languages and their classifications. Programming methods are considered: imperative; functional; declarative; object-oriented, as well as properties of programming languages. At the end of the article, statistics on the most popular programming languages are analyzed.

 

Ключевые слова: программирование, языки программирования, методы программирования.

Keywords: programming, programming languages, programming methods.

 

Ключевую роль в мышлении играет язык как система знаков и образов (речь не только про разговорные языки, но и про «язык математики» и языки программирования) — отсюда можно сделать вывод, что мыслить можно только на конкретном языке, точнее языках, на тех языках, которые известны человеку/программисту (например, на русском, английском). Языки, которые знает человек, определяют его мышление, таким образом, выбор языка оказывает значительное влияние на то, как человек мыслит.

Цитата из книги Владимира Паронджанова «Как улучшить работу ума»: «Известно, что переход от программирования в машинных кодах к автокодам и ассемблерам, а затем языкам высокого уровня позволил существенно повысить производительность труда программистов. Следовательно, производительность зависит от языка: улучшая язык, можно поднять производительность» [1, с. 43].

Таким образом, вопрос об исследовании языков программирования, с которыми работает программист, является актуальным.

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

Язык программирования — формальный язык, предназначенный для записи компьютерных программ. Язык программирования определяет набор лексических, синтаксических и семантических правил, определяющих внешний вид программы и действия, которые выполняет ЭВМ под её управлением [2].

В настоящее время существует огромное число языков программирования – сотни и тысячи. Их можно классифицировать различными способами. Одна из классификаций – по поколениям [3, с. 7].

Языки первого поколения – это машинные языки (или машинные коды); языки второго поколения – языки ассемблера; к языкам третьего поколения относятся высокоуровневые языки программирования, такие как Fortran, Lisp, Algol, Cobol, С, C++, С# и Java.

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

К четвёртому поколению обычно относят: языки обработки данных (Visual DataFlex, XBase++и т.д.), языки запросов к базам данных (SQL, Informix-4GL и т.д.), а также средства генерации программного кода на языках третьего поколения, встраиваемые в системы программирования.

Термин языки пятого поколения применяется к языкам программирования, основанным на логике или ограничениях, таким как Prolog и OPS5.

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

- императивная;

- функциональная;

- декларативная;

- объектно-ориентированная [3, с. 7].

Императивные языки описывают процесс вычислений в виде команд, изменяющих состояние программы [3, с. 8]. К этому виду языков относятся такие распространённые языки программирования, как: Fortran, Basic, PL/1, Ada, C, Pascal.

В языках функционального программирования вычисления обычно производятся путём применения функций к заданному набору данных. На практике наибольшее распространение получил язык Lisp и два его диалекта: Common Lisp и Scheme. Областью применения этого языка являются системы искусственного интеллекта [3, с. 8]. Другими известными языками функционального программирования являются ML, Miranda и Haskell.

Термин декларативный используется по отношению к языкам, которые указывают, какие вычисления должны быть выполнены, например языки логического программирования, основанные на системе правил. Основные области применения – экспертные системы, системы управления реляционными базами данных [3, с. 9]. Наиболее распространённым декларативным языком является язык Prolog.

Объектно-ориентированные языки – это языки программирования, поддерживающие концепцию объектно-ориентированного программирования: вместо разбиения задачи на функции, в объектно-ориентированном программировании задача представляется в виде совокупности объектов, обладающих сходными свойствами и набором действий, которые можно с ними производить [3, с. 8]. К объектно-ориентированным языкам относятся такие языки, как C++, C#, Java, JavaScript.

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

- понятность конструкций;

- надёжность;

- гибкость языка;

- простота языка;

- естественность;

- мобильность;

- суммарная стоимость использования языка [3, с. 9].

В октябре 2018 года GitHub опубликовал результаты ежегодного исследования Octoverse, в котором анализируются показатели активности участников сервиса. В частности, приводятся данные по наиболее популярным и быстрорастущим языкам программирования [4].

Результаты данного исследования представлены в следующем списке:

1. Javascript (используется для разработки веб-приложений, кроссплатформенных мобильных приложений)

2. Java (используется для разработки корпоративных приложений, приложений на Android для смартфонов/планшетов, проигрывателей дисков Blue-ray)

3. Python (используется для написания скриптов автоматизации каких-либо задач, аналитики и машинного обучения)

4. PHP (используется для веб-программирования серверной части, разработки приложений для электронной коммерции)

5. C++ (используется для разработки операционных систем, встраиваемых систем, финансовых приложений, компьютерных игр)

6. C# (используется для разработки настольных и серверных приложений под операционные системы семейства Windows)

7. TypeScript (используется для разработки веб-приложений)

8. Shell (используется для написания скриптов автоматизации каких-либо задач)

9. C (используется для разработки драйверов, операционных систем, приложений реального времени)

10. Ruby (используется для веб-разработки в составе Ruby on Rails, разработки утилит командной строки)

Участники сообщества используют сотни различных языков программирования, а самым популярным среди них в 2018 году остался JavaScript. Причем это касается компаний всех размеров и каждого региона. На втором месте в рейтинге GitHub располагается Java, опередив Python.

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

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

 

Список литературы:

  1. Паронджанов В.Д. Как улучшить работу ума: Алгоритмы без программистов — это очень просто! / В.Д. Паронджанов. — Москва : Дело, 2001. — 360 с.
  2. Язык программирования [Электронный ресурс] – Электрон. дан. – Режим доступа: https://ru.wikipedia.org/wiki/Язык_программирования
  3. Молдованова, О. В. Языки программирования и методы трансляции : учебное пособие / О. В. Молдованова. — Новосибирск : Сибирский государственный университет телекоммуникаций и информатики, 2012. — 134 c.
  4. Top 100 наиболее популярных репозиториев на GitHub [Электронный ресурс] – Электрон. дан. – Режим доступа: https://medium.com/nuances-of-programming/top-100-наиболее-значимых-репозиториев-на-github-c3c7e4fc707b
Проголосовать за статью
Дипломы участников
У данной статьи нет
дипломов

Оставить комментарий

Форма обратной связи о взаимодействии с сайтом