Автор Анна Евкова
Преподаватель который помогает студентам и школьникам в учёбе.

«Классификация языков программирования. Критерии выбора среды и языка разработки программ» (Классификация языков программирования)

Содержание:

ВВЕДЕНИЕ

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

Программное обеспечение так же, как и техническая аппаратная составляющая, развивалось и видоизменялось весьма стремительно – теперь уже довольно сложно вспомнить, что начинались компьютерные технологии с обычного двоичного кодирования, проделав, таким образом, путь от первых машинных кодов и Ассемблера до современного C++, Java и других языков программирования.

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

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

В качестве объекта исследования выступают существующие языки программирования.

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

В ходе нашей работы мы поставили перед собой следующие задачи:

- рассмотреть все многообразие языков программирования и их классификацию;

- изучить основные этапы развития языков программирования;

- проанализировать теоретический опыт выбора сред и языков программирования при разработке программ;

- выделить ключевые факторы, влияющие на выбор среды разработки программ;

- выработать критерии выбора среды и языка разработки программ.

Теоретической основой рассматриваемой темы послужили работы таких авторов, как В.В. Беспалов, С. Орлов, А.А. Тюгашев и многие другие.

ГЛАВА 1. ЯЗЫКИ ПРОГРАММИРОВАНИЯ

1.1. ПОНЯТИЕ И СУЩНОСТЬ ЯЗЫКОВ ПРОГРАММИРОВАНИЯ

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

Языком программирования называется язык (знаковая система), предназначенный для записи компьютерных программ. Основным условием является то, что язык программирования должен включать в себя весь набор лексических, синтаксических и семантических правил, определяющих внешний вид программы и действия, которые выполнит исполнитель (обычно — ЭВМ) под ее управлением. Таким образом, язык программирования – это инструмент для производства программных услуг [[1]2, с. 28].

Языки программирования предназначены для написания компьютерных программ, которые представляют собой набор правил, позволяющих компьютеру выполнить тот или иной вычислительный процесс, организовать управление различными объектами [[2]6, с. 19].

Со времени создания первых программируемых машин человечество придумало более 8 тысяч языков программирования (включая нестандартные, визуальные и эзотерические языки) [[3]4, с. 48]. Ежегодно число языков увеличивается. Существуют языки, пользоваться которыми умеют только те программисты, кто их собственно и разрабатывал, другие становятся известны и подвластны миллионам людей. Профессиональные программисты могут владеть одновременно более чем десятью языками программирования.

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

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

- язык NPL был разработан для объединение лучших черт Fortran и COBOL;

- язык Suimla, появившийся примерно в то же время, что NPL, впервые включал поддержку объектно-ориентированного программирования;

В середине 1970-х гг. группа специалистов представила язык Smalltalk, который был уже всецело объектно-ориентированным.

В период с 1969 по 1973 гг. велась разработка языка Си (как развитие языка Би), популярного и по сей день, и ставшего основой для множества последующих языков, например, столь популярных, как С++ и Java.

В 1972 г. был создан Prolog - наиболее известный (но не первый, и не единственный) язык логического программирования.

Двигателем прогресса всегда являлась пропасть между сложностью решаемых задач и примитивностью машинных команд [[5]3, с. 19].

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

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

1.2. КЛАССИФИКАЦИЯ ЯЗЫКОВ ПРОГРАММИРОВАНИЯ

Помимо различения поколений языков программирования существует несколько их классификаций по различным признакам.

https://studfile.net/html/2706/1237/html_Am45Paj8QY.drle/img-ixAIBk.png

Рис. 1. Классификация языков программирования

По самой распространенной классификации все языки программирования, в соответствии с тем, в каких терминах необходимо описать задачу, делят на языки низкого и высокого уровня [[6]7, с. 101]. Если используется язык программирования близкий к естественному языку программирования, то его называет языком высокого уровня, если используют язык ближе к машинным командам – его называют языком низкого уровня.

Низкоуровневые языки делиться на машинные языки и языки символического кодирования: Автокод (assembly language). Операторы этого языка — это те же машинные команды, но записанные мнемоническими кодами, а в качестве операндов используются не конкретные адреса, а символические имена. Все языки низкого уровня являются машинно-зависимыми и ориентированы на определенный тип компьютера.

Машинно-ориентированные языки — это языки, наборы операторов и изобразительные средства которых существенно зависят от особенностей ЭВМ.

К языкам программирования высокого уровня относят: Fortran (переводчик формул - был разработан программистами фирмы IBM в середине 50-х гг. и в основном используется для программ, выполняющих естественно-научные и математические расчеты), Algol, Сobol (коммерческий язык, который используется, в первую очередь, для программирования экономических задач), Pascal, BASIC (был разработан профессорами Дармут-ского колледжа — Джоном Кемени и Томасом Курцом), Си (Деннис Ритч — 1972 г.), Пролог (в основе языка лежит аппарат математической логики) и т.д.

Эти языки машинно-независимы, так как они ориентированы не на систему команд той или иной ЭВМ, а на систему операндов, характерных для записи определенного класса алгоритмов. Но в этих языках есть недостаток - программы, написанные на языках высокого уровня, занимают больше памяти и выполняются медленнее, чем программы на машинных языках. Программу, написанную на языке программирования высокого уровня, компьютер или другое программируемое устройство не понимает, поскольку ей доступен только машинный язык. Поэтому для перевода программы с языка программирования на язык машинных кодов используют специальные программы-трансляторы [[7]2, с. 23].

Существует три вида трансляторов:

- интерпретаторы (это транслятор, который производит пооператорную обработку и выполнение исходного кода программы);

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

- и ассемблеры (переводят программу, записанную на языке ассемблера, в программу на машинном языке) [[8]8].

Языки программирования также можно разделять на поколения [[9]3, с. 28-29]:

  1. Первое поколение – языки, которые использовались на компьютерах первого поколения с ручным управлением памяти и являлись машинно-ориентированным;
  2. Второе поколение языков - так называемые автокоды с мнемоническим представлением команд;
  3. Языки третьего поколения - общего назначения, используемые для создания прикладных программ любого типа. Например, BASIC, COBOL, Си;
  4. Языки четвертого поколения - разработанные для создания специальных прикладных программ, усовершенствованные, для управления базами данных;
  5. Некоторые авторы выделяют языки программирования пятого поколения – к ним относят языки декларативные, объектно-ориентированные и визуальные. Например, Prolog, LISP (используется для построения программ с использованием методов искусственного интеллекта), С++, Visual Basic, Delphi.

Языки программирования также можно классифицировать на процедурные и непроцедурные [[10]5].

В процедурных языках программы описывают явные действия, которые необходимо выполнить, а результат задается только способом получения его при помощи некоторой процедуры, которая представляет собой определенную последовательность действий. Среди процедурных языков выделяют структурные и операционные языки. В структурных языках одним оператором записываются целые алгоритмические структуры: ветвления, циклы и т.д.; в операционных языках для этого используются несколько операций. Широко распространены следующие структурные языки: Паскаль, Си, Ада, ПЛ/1. Среди операционных - Фортран, BASIC, Фокал.

К непроцедурному программированию относятся функциональные и логические языки.

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

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

Еще один класс языков программирования - это объектно-ориентированные языки высокого уровня. На таких языках не описывают подробной последовательности действий для решения задачи, хотя они содержат элементы процедурного программирования. Благодаря богатому пользовательскому интерфейсу, они предлагают человеку решить задачу в удобной для него форме [[11]6]. Первый объектно-ориентированный язык программирования был Suimla.

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

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

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

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

ГЛАВА 2. КРИТЕРИИ ВЫБОРА СРЕДЫ И ЯЗЫКА РАЗРАБОТКИ ПРОГРАММ

2.1. ФАКТОРЫ, ВЛИЯЮЩИЕ НА ВЫБОР СРЕДЫ РАЗРАБОТКИ ПРОГРАММ

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

Когда необходимо создать большую программную систему или составить программы для решения какой-либо частной задачи, в том числе при создании компьютерных игр, встает вопрос, какой выбрать для этой цели подходящий язык программирования. Зачастую выбор делается на основании очень простых «земных» факторов: наличии того или иного транслятора, наличие программиста, умеющего писать программы на данном языке. Но если в распоряжении пользователя несколько языков программирования, то необходимо учитывать следующие факторы [[13]6]:

- для чего будет использоваться программное обеспечение: будет оно написано для массового использования или под конкретного пользователя, будут ли создаваться его новые версии;

- желаемая скорость работы программного обеспечения, насколько ресурсоемкой будет программа;

- будет ли программа разделена на модули для снижения нагрузки или будет являться целым ресурсоемким комплексом;

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

- какими данными, типами структур будет оперировать конечная программа;

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

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

Одним из факторов выбора конкретного языка и среды программирования является принадлежность задачи к конкретной предметной области: научным вычислениям, обработке деловой информации, моделирование мыслительной деятельности человека, создание операционных систем, веб-обработка и т.д. [[14]2, с. 30].

2.2. КРИТЕРИИ ВЫБОРА СРЕДЫ И ЯЗЫКА ПРОГРАММИРОВАНИЯ

В качестве основного критерия выбора среды и языка программирования может служить принадлежность выполняемой задачи к конкретной предметной области [[15]2, с. 30]. Исходя из этого положения можно предложить следующие решения:

1. Для выполнения научных, математических и иных вычислений, где требуется решение задач численного анализа, уравнений и задач статистики, совершение арифметических вычислений, оптимален выбор языка, разработанного именно для удовлетворения таких потребностей – Fortran;

2. Обработка деловой информации – выполнение бизнес-задач, таких как управление ресурсами и персоналом, деловое планирование, анализ рисков, начисление зарплат и т.д., где требуется считывание и обработка больших объемов данных и генерация отчетов – для решения этих задач разработан язык Cobol (хотя применимы и С и С++);

3. Задачи системной области – создание и развитие операционных систем, программного обеспечения, где необходимо быстрое выполнение программ и взаимодействие с аппаратными средствами – в настоящее время применяется язык С и С++ (так операционная система UNIX полностью написана на языке С);

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

5. Управление технологическими процессами и оборудованием, связанными с микропроцессорами и используемыми в автомобилях, бытовых приборах, видеоиграх, требует применения языков, позволяющих создавать программы для работы в реальном времени – это языки Ada, С и С++;

6. Веб-обработка. Изначально для создания веб-страниц использовался язык разметки HTML, который не является языком программирования. Для решения задачи работы в среде WWW были созданы Perl, PHP и Java.

При этом в качестве среды разработки программного обеспечения наиболее популярны и применимы [[16]1, с. 98]:

- для языка Fortran – Compaq Visual Fortran;

- для языка Cobol – пишется в любом текстовом редакторе (к примеру, Notepad), затем компилируется Open Cobol;

- для языка С++ - Microsoft Visual Studio, Dev-C++, Visual C++;

- для языка Java - Microsoft Visual Studio, Java Runtime Environment, NetBeans и др.

Кроме того, к критериям выбора языка разработки программного обеспечения стоит отнести [[17]10]:

  1. Скорость работы конечного продукта:

Требование к скорости выполнения программ применимо для программ с большим объемом математических вычислений (моделирование физических систем, расчеты экономических данных, выведение трехмерной графики и т.д.). Для данных целей хорошо подойдут языки: Assembler, С / С++, Fortran – т.к. конечные программы не содержат в себе ничего лишнего, а машинные команды выполняются без лишних задержек.

  1. Объем занимаемой оперативной памяти:

Данное требование появляется, когда программа разрабатывается для встраиваемых систем, мобильных платформ и т.д. К таким языкам можно отнести: Assembler, С / С++, Objective-C и другие.

  1. Скорость разработки программ:

Требование появляется, когда программа нужна «вчера». В данном случае выбор языка должен пасть на Java или Flash. Время разработки на данных языках существенно сокращается из-за обилия сторонних библиотек и очеловеченного синтаксиса. Но при этом, стоит отметить, ощутимо страдает скорость выполнения программ.

  1. Ориентированность на компьютер или человека:

Если программа ориентирована на человека, возникает необходимость использования графической составляющей, дизайна и пользовательской простоты. Разработка графической части – сложный процесс. Для решения подобных задач подходят С++ и C#. Однако для более простых задач применимы и Java и Flash.

  1. Кроссплатформенность:

Требование к возможности работы программы на различных платформах, различных операционных системах требует применения таких языков, как: Java, C++/C#, Flash. Программы на Java вообще не требуют никаких изменений – после компиляции получается .jar файл, который будет работать и на Windows, и на Mac OS, и на Linux.

  1. Скорость внесения изменений, скорость тестирования:

Требование постоянно вносить изменения в программный продукт требует применения высокоуровневых языков, таких как Java и C++.

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

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

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

С++ может решать практически любые задачи и подходит к множеству платформ. Он позволяет программисту выбирать любые стили для написания программы. Так же язык С++ не сильно требователен к ресурсам ЭВМ [[18]9, с. 96-97].

Язык Java (произошедший от С) также считается универсальным. Этот язык довольно молодой, разработан в 1990 году. Он прост в изучении, но обладает огромным минусом – низкой скоростью работы.

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

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

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

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

Данный язык поддерживает поиск ошибок по отдельным участкам программы, что позволяет быстрее выявлять проблемные места. Python адаптируется почти под все платформы. Так же может интегрироваться с языком С и С++.

К минусам языка относится большое количество ошибок в системном коде и относительно малая скорость выполнения алгоритмов. При передаче файлов в больших проектах возникают проблемы с типами данных [[19]9, с. 97].

ЗАКЛЮЧЕНИЕ

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

В ходе изучения вопроса мы поставили перед собой и выполнили следующие задачи:

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

2. Рассмотрели существующие классификации языков программирования. Так, мы выяснили, что языки программирования принято разделять:

- по уровню терминологии описания задач: на языки низкого и высокого уровня;

- по уровню зависимости от ЭВМ: на машинно-ориентированные и машинно-независимые языки;

- по способу описания действий, которые необходимо выполнить: на процедурные и непроцедурные языки;

- по описанию процесса обработки информации: процедурно-ориентированные, проблемно-ориентированные и объектно-ориентированные языки.

Также принято классифицировать языки программирования по поколениям – от первого к пятому.

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

4. На основе полученной информации были выработаны основные критерии выбора языка программирования при решении конкретных задач. Ключевыми критериями при выборе языка разработки ПО служат:

- предметная область применения конечного продукта;

- желаемая скорость разработки, а также скорость работы продукта;

- скорость внесения изменений;

- объем занимаемой оперативной памяти;

- кроссплатформенность.

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

При всем многообразии и сложности выбора, на сегодняшней день в информационной среде набирают наибольшую популярность три языка программирования: С++, Java и Python.

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

  1. Беспалов В.В. Информационные технологии: Учебное пособие. – Томск: Томский политехнический университет, 2012. - 134 с.
  2. Орлов С. Теория и практика языков программирования: Учебник для вузов. 2-е изд. – СПб.: Питер, 2017. – 688 с.
  3. Тюгашев А.А. Основы программирования: Учебное пособие. Часть I. – СПб.: Университет ИТМО, 2016. – 160 с.
  4. Бьянкуцци Ф., Уорден Ш. Пионеры программирования. Диалоги с создателями наиболее популярных языков программирования. - СПб.: Символ-Плюс, 2011. - 608 с.
  5. Вольфенгаген В.Э. Конструкции языков программирования. Приемы описания. - М.: Центр ЮрИнфоР, 2001. - 276 с.
  6. Паронджанов В.Д. Как улучшить работу ума. Алгоритмы без программистов – это очень просто! - М.: Издательство Дело, 2001. - 359 с.
  7. Себеста Р.У. Основные концепции языков программирования. 11-е издание. - М.: Вильямс, 2016. – 785 с.
  8. Уоллес Вонг. Основы программирования для чайников. 4-е издание. – М.: Вильямс, 2008. – 336 с.
  9. Левушкин А.В. Основные современные языки программирования // Молодой ученый. – 2018. - № 25(211). – С. 96-97.
  10. Дердемьянский А. Выбор языка программирования. URL: https://habr.com/ru/post/143556/. (Дата обращения: 02.04.2020).
  1. 2. Орлов С. Теория и практика языков программирования: Учебник для вузов. 2-е изд. – СПб.: Питер, 2017. – 688 с.

  2. 6. Паронджанов В.Д. Как улучшить работу ума. Алгоритмы без программистов – это очень просто! - М.: Издательство Дело, 2001. - 359 с.

  3. 4. Бьянкуцци Ф., Уорден Ш. Пионеры программирования. Диалоги с создателями наиболее популярных языков программирования. - СПб.: Символ-Плюс, 2011. - 608 с.

  4. 4. Бьянкуцци Ф., Уорден Ш. Пионеры программирования. Диалоги с создателями наиболее популярных языков программирования. - СПб.: Символ-Плюс, 2011. - 608 с.

  5. 3. Тюгашев А.А. Основы программирования: Учебное пособие. Часть I. – СПб.: Университет ИТМО, 2016. – 160 с.

  6. 7. Себеста Р.У. Основные концепции языков программирования. 11-е издание. - М.: Вильямс, 2016. – 785 с.

  7. 2. Орлов С. Теория и практика языков программирования: Учебник для вузов. 2-е изд. – СПб.: Питер, 2017. – 688 с.

  8. 8. Уоллес Вонг. Основы программирования для чайников. 4-е издание. – М.: Вильямс, 2008. – 336 с.

  9. 3. Тюгашев А.А. Основы программирования: Учебное пособие. Часть I. – СПб.: Университет ИТМО, 2016. – 160 с.

  10. 5. Вольфенгаген В.Э. Конструкции языков программирования. Приемы описания. - М.: Центр ЮрИнфоР, 2001. - 276 с.

  11. 6. Паронджанов В.Д. Как улучшить работу ума. Алгоритмы без программистов – это очень просто! - М.: Издательство Дело, 2001. - 359 с.

  12. 3. Тюгашев А.А. Основы программирования: Учебное пособие. Часть I. – СПб.: Университет ИТМО, 2016. – 160 с.

  13. 6. Паронджанов В.Д. Как улучшить работу ума. Алгоритмы без программистов – это очень просто! - М.: Издательство Дело, 2001. - 359 с.

  14. 2. Орлов С. Теория и практика языков программирования: Учебник для вузов. 2-е изд. – СПб.: Питер, 2017. – 688 с.

  15. 2. Орлов С. Теория и практика языков программирования: Учебник для вузов. 2-е изд. – СПб.: Питер, 2017. – 688 с.

  16. 1. Беспалов В.В. Информационные технологии: Учебное пособие. – Томск: Томский политехнический университет, 2012. - 134 с.

  17. 10. Дердемьянский А. Выбор языка программирования. URL: https://habr.com/ru/post/143556/. (Дата обращения: 02.04.2020).

  18. 9. Левушкин А.В. Основные современные языки программирования // Молодой ученый. – 2018. - № 25(211). – С. 96-97.

  19. 9 Левушкин А.В. Основные современные языки программирования // Молодой ученый. – 2018. - № 25(211). – С. 96-97.