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

Обзор языков программирования высокого уровня.

Содержание:

ВВЕДЕНИЕ

Актуальность.

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

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

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

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

– рассмотреть краткую историю языков программирования;

– изучить краткую характеристику основных языков высокого уровня;

– провести сравнение языков программирования разных уровней;

– провести анализ языков программирования на основе рейтингов;

– сравнить языки программирования высокого уровня.

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

Объект – языки программирования высокого уровня.

Глава 1. Теоретические аспекты языков программирования высокого уровня

1.1 Краткая история языков программирования

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

1801 – Иосиф Мария Жаккард с помощью перфокарт вышивает «hello world» на ткани. Хабровчане тех времен недовольны отсутствием хвостовой рекурсии, многопоточности и заглавных букв.

1842 – Ада Лавлейс пишет первую программу. Её успехам препятствует маленькая проблема – компьютера для исполнения этой программы ещё не изобрели. Через полтора века архитекторы корпоративных приложений переймут технику Ады по написанию неисполняемых программ и назовут этот метод UML.

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

1936 – Алонзо Черч тоже изобретает все возможные языки, только лучше. Его лямбда-исчисление непопулярно, потому что непохоже на С. Критиков не смущает, что язык С еще не изобрели.

1940-е – Различные «компьютеры» «программируют», паяя провода и замыкая контакты.

1957 – Джон Бакус и IBM изобретают Фортран. По поводу IBM и Фортрана не шутят. Компилятор Фортрана выдает ошибку, если на программисте нет галстука.

1958 – Джон МакКарти и Пол Грэм придумывают ЛИСП. Популярности ЛИСПа мешает истощение мировых запасов круглых скобок, к счастью, запасы фигурных и угловых скобок практически неисчерпаемы. Тем не менее, ЛИСП (в наше время известный как Лисп, иногда Arc) – общепризнанный стандарт в области «фундаментальных концепций информационных технологий, таких как рекурсия и снисхождение»

1964 – Джон Кемни и Томас Курц пишут БЕЙСИК, неструктурированный язык для людей, не разбирающихся в программировании.

1970 – Гай Стил и Джеральд Зюсман создают Схему. В результате их усилий появляется «Всемогущая Лямбда», а затем «Всемогущая Лямбда, Универсальная Мультиварка».

1970 – Никлас Вирт создает процедурный язык Паскаль. Многие недовольны отличным от С синтаксисом оператора присваивания. Критиков не смущает, что язык С еще не изобрели.

1972 – Деннис Ричи изобретает пистолет, стреляющий в обе стороны одновременно. Не удовлетворенный числом смертей и увечий, приносимых этим устройством, он создает язык С и Юникс.

1972 – Ален Колмеро изобретает логический язык Пролог. Задача-максимум ученого – наделить компьютер интеллектом двухлетнего ребенка. Он блестяще справляется с задачей, написав программу, отвечающую «Нет!» на любой запрос.

1973 – Робин Милнер пишет МЛ, язык на основе теории типов M&M. МЛ порождает СМЛ, обладающий формально описанной семантикой. В число языков семейства МЛ входят OCaml, F# и Visual Basic.

1980 – Алан Кей пишет Smalltalk и придумывает термин «объектно-ориентированный». На просьбу объяснить он отвечает «Программы в ООП - просто объекты». На вопрос, из чего состоят объекты, он отвечает «из объектов» и объясняет «все состоит из объектов, в том числе и объекты. И стоит на четырех слонах».

1983 – Бьёрн Страуструп берет язык С, лепит поверх него все, что приходит на ум, и называет это С++. Чтобы программы скомпилировались за разумное время, их приходится отправлять в будущее искусственному интеллекту Скайнет. Зачем это нужно Скайнету, неясно.

1986 – Брэд Кокс и Том Лав придумывают Objective-C. По их словам, он «сочетает безопасность С с невероятной скоростью Smalltalk».

1987 – Ларри Волл засыпает на клавиатуре. Проснувшись, он принимает строку на мониторе за программу на языке, который Господь предначертал написать своему пророку Ларри. Так появляется Перл.

1990 – Комиссия в составе Саймона Пейтон-Джонса, Пола Худака, Филиппа Водлера, Эштона Катчера и Общества по защите прав животных проектирует Хаскелл – чисто функциональный язык с ленивыми вычислениями.

1991 – Голландский программист Гвидо ван Россум отправляется в Аргентину. Перенеся загадочную операцию, он возвращается с шрамом на черепе, пишет Питон, толпы поклонников провозглашают его Пожизненным Диктатором, и он заявляет, что «есть только один способ».

1995 – Брендан Эйк собирает ошибки всех известных языков, добавляет несколько новых и объединяет все в Livescript. Через некоторое время язык переименовывают в Javascript, чтобы воспользоваться популярностью языка Java. Через некоторое время язык переименовывают в ECMAscript.

1996 – Джеймс Гослинг придумывает Яву. Ява – довольно многословный статически типизированный объектно-ориентированный язык на основе классов, со сборкой мусора, одиночной диспетчеризацией вызовов, одиночным наследованием реализации и множественным наследованием интерфейсов. Sun громко провозглашает Java самым инновационным языком.

2001 – Андерс Хейлсберг придумывает C1. C1 – довольно многословный статически типизированный объектно-ориентированный язык на основе классов, со сборкой мусора, одиночной диспетчеризацией вызовов, одиночным наследованием реализации и множественным наследованием интерфейсов. Microsoft громко провозглашает C1 самым инновационным языком.

1.2 Краткая характеристика основных языков высокого уровня

Языки программирования высокого уровня – языки, которые используют различные абстрактные смысловые конструкции, которые просто невозможно сообщать машине на низкоуровневых языках в силу их большого объема и сложности.

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

1) C#.

СИ Шарп является одним из основных языков для написания программного обеспечения под самую популярную операционную систему для настольных компьютеров Windows от Microsoft. Именно в недрах данной компании C# и зародился, используясь в первую очередь для разработки приложения на платформу .NET Framework. С его помощью довольно легко реализовывать взаимодействие с базами данных MS SQL, он прекрасно интегрируется с другими языками (тем самым С и С++).

2) С++.

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

– создание логических ядер для серьезного ПО;

– разработки для сетей, серверов и различных служб, которые их обслуживают;

– для разработки компьютерных игр;

– для создания интерфейсов программ и многих других задач.

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

3) Java.

Замечательный высокоуровневый язык программирования, который активно используется в написании ПО для компьютерной техники. В последние годы в него буквально вдохнула вторую жизнь мобильная ОС Android, программы на которую пишутся в основном именно на Java. Благодаря последнему факту актуальность данного языка ничуть не убывает. Зная его можно писать отличные приложения как для ПК, так и для самых разных современных гаджетов (включая смарт часы и очки виртуальной реальности).

4) PHP.

Отличный язык, дополняющий современные языки программирования высокого уровня. Он незаменим для разработки самых разнообразных веб-приложений, настройки работы серверного ПО, создания динамичных Интернет-ресурсов, снабженных различными интерактивными функциями, всплывающими окнами и прочими «погремушками». Если Вы видите в своем браузера на любимом сайте появившееся окно с приложением – скорее всего оно написано именно на PHP.

5) Python.

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

6) Objective-C.

iOS остается самой популярной платформой для мобильных приложений, для которой необходимо знать язык Objective-C, как минимум для того, чтобы использовать XCode, инструментом разработки программного обеспечения от Apple.

7) Ruby.

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

8) Perl.

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

9) SQL.

Несмотря на появления баз данных noSQL, SQL (Standard Query Language) не теряет популярность для систем управления базами данных, так как многие используют MySQL, PostgreSQL, Microsoft SQL Server, Oracle и т. д. Это язык для построения запросов к базе данных и является больше стандартом, каждая база данных добавляет незначительные отличия.

10) Swift.

Swift считается самым модным языком программирования для расширения приложений для продуктов Apple. Многие используют его для приложений iOS, и MacOS/OSX.

1.3 Сравнение языков программирования разных уровней

Языки программирования можно разделить на три большие категории. Это языки высокого, среднего и низкого уровней.

К высокоуровневым языкам относятся языки программирования, предназначенные для упрощения программирования на компьютере. Они написаны так, чтобы язык был понятным для человека. Разработчику не нужно знать никаких данных об оборудовании компьютера, в котором будет использоваться какая-либо программа. Эти языки независимы. В пример можно привести C ++, Python или Java.

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

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

1) Скорость.

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

2) Понятность.

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

3) Переносимость.

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

4) Требование к памяти.

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

5) Абстракция.

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

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

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

Глава 2. Анализ языков программирования высокого уровня

2.1 Анализ языков программирования на основе рейтингов

1) Рейтинг TIOBE.

Индекс TIOBE (TIOBE programming community index) – это один из известных индексов, показывающий степень востребованности языка программирования, анализируя данные запросов в поисковых системах. Обновляется данный индекс каждый в месяц. Рейтинг учитывает как количество квалифицированных инженеров во всем мире, так и количество образовательных курсов по различным языкам. Для расчета индекса TIOBE используются данные результатов поиска в популярных поисковых системах, полученных в Google, YouTube, Wikipedia, Bing, Yahoo!, Baidu, и Amazon. Важно отметить, что индекс TIOBE не называет победителя рейтинга – лучшим языком программирования или языком, на котором написано большинство строк кода.

Рисунок 1 – Рейтинг TIOBE

На первом месте продолжает оставаться Java. Второе место занимает язык C, имея 14.282% в рейтинге. Третье место получил Python с 8.376%, сместив в этом рейтинге популярности С++. Позиция Python выросла по сравнению с декабрем 2017 и продолжает расти. Язык С++, в свою очередь, уступив третье место, занимает сейчас четвертое. Его популярность, как видно из графика, колеблется относительно 8%, имея на декабрь 2018 – 7.56%.

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

Стоит отметить, что язык SQL снова добавлен в индекс TIOBE с февраля 2018 года. Вследствие этого, для языка SQL нет недавней истории, и может показаться, что значимость SQL растет очень быстро.

2) Статистика GitHub.

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

Рисунок 2 – Статистика GitHub

На втором месте, также без изменений значимости, находится Java. Третье место занимает Python, чья популярность, благодаря применению его в системах машинного обучения, выросла в 1.5 раза. Четвертое и пятое место соответственно занимают, PHP и C++.

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

Заметным оказалось падение популярности языка С. В этом году он «провалился» сразу на два пункта, занимая сейчас 9 место.

Популярность Ruby падает. Начиная с 2015 года этот язык на GitHub последовательно «сползает» с 5 места на 10 в 2018 году.

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

3) Рейтинг Stackoverflow.

Согласно данным опроса Stack Overflow’s 2018 Developer Survey, проводимого уже восьмой год среди более чем 100 000 разработчиков, есть несколько тенденций, которые отмечают редакторы самого StackOverflow:

– DevOps и машинное обучение являются сегодня важными тенденциями индустрии программного обеспечения. Языки и структуры, связанные с этими видами работ, находятся на подъеме, и разработчики, работающие в этих областях, получают самые высокие зарплаты;

– Python поднялся в рейтинге языков программирования, превзойдя C# по популярности в этом году, так же как он превзошел PHP в прошлом году.

Рисунок 3 – Рейтинг Stackoverflow

JavaScript, согласно данным StackOverflow, остается лидирующим языком среди использованых разработчиками. Следующим после JavaScript является SQL, занимающий второе место. Затем идут Java, Bash, Python, занимающие соответственно третье, четверное и пятое места.

4) Рейтинг Black Duck.

Самым крупным сайтом, посвященным программам с открытым исходным кодом является сайт Black Duck (Черная утка) blackducksoftware.com

Одним из проектов Черной утки является каталог open source. В этом каталоге представлено около 500 000 проектов. Так как у всех проектов код открыт, то легко определить, на каком языке эти проекты написаны. На январь 2019 года рейтинг выглядит следующим образом.

Рисунок 4 – Рейтинг Black Duck

Как видно, здесь практически половина программ (46%) написано на C. Это понятно, потому что С – это язык общения программистов. Это единственный язык, компилятор которого есть на всех платформах: от встроенных систем до суперкомпьютеров.

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

Таким образом, на основе рейтингов, можно сформулировать следующие выводы:

  1. Все они отмечают заметный рост запросов на разработчиков, применяющих Python – как в уже относительно устоявшихся сферах статистической обработки, BigData и машинного обучения, так и в WEB, и в embedded разработке. Python – однозначно стоит рассмотреть в качестве языка для изучения на 2019 год.
  2. JavaScript остается бессменным лидером фронтенда и постепенно набирает очки в бэкенде и мобильной разработке под Android и iOs.
  3. Java продолжает лидировать как в разработке под Android, так и в сфере Enterprise разработки. Постепенно проникает Java и в WEB-backend.
  4. C# несколько растерял свои позиции, однако он однозначно будет находиться среди первых мест, оставаясь главным языком экосистемы Microsoft с широчайшей поддержкой этой корпорации. Также не стоит забывать достаточно глубокое проникновение С# в WEB, относительную простоту изучения, а также активное применение этого языка в разработке игр (Unity, XBOX 360) и мобильных приложений (Xamarin).
  5. Неоднозначна позиция у C++. Несмотря на то, что этот язык все еще полноценно присутствует в ТОП 10 языков и активно применяется для разработки игр, приложений для мобильных платформ, десктопных приложений и в embedded разработке – все больше заметно вытеснение его с занимаемых позиций другими языками. Кроме того, стоит учитывать, что большинство разработчиков не рекомендуют его как первый язык для изучения, из-за его сложности.
  6. В разработке под iOs Swift уже обогнал Objective-C и разрыв все еще увеличивается.
  7. Значительная часть разработчиков не считает PHP – языком «будущих разработок», при этом признавая его однозначным лидером «сегодняшних разработок» в сфере бэкенда. Падение же популярности его будет явно достаточно длительным.
  8. Ряд языков, такие как Go, Kotlin, Ruby и др. имеет смысл рассмотреть в качестве второго или третьего языка для развития человека как разработчика программного обеспечения.

2.2 Сравнение языков программирования высокого уровня

Рассмотрим наиболее популярные языки программирования высокого уровня: PHP, Ruby и Python и проведём их сравнение.

1) PHP: самый популярный язык сценариев для Интернета PHP (Hypertext PreProcessor) – это язык серверных сценариев, разработанный Расмусом Лердорфом. PHP является мощным инструментом для создания динамических и интерактивных веб-сайтов. Это быстрый, гибкий, широко используемый язык сценариев для всего: от простого блога до самых популярных и динамичных веб-сайтов в мире.

Преимущества PHP:

 бесплатное программное обеспечение, выпущенное под лицензией PHP;

 лёгок в изучении (Короткая кривая обучения);

 большое сообщество пользователей и разработчиков;

 обеспечивает обширную поддержку базы данных;

 предлагает большое количество доступных расширений и исходных кодов;

 позволяет выполнять код в ограниченных средах;

 предлагает нативный API управления сессиями и расширения;

 отличная альтернатива для конкурентов, таких как Microsoft ASP (Active Server Pages);

 может быть развернут на большинстве веб-серверов;

 работает практически на каждой операционной системе и платформе].

Недостатки PHP:

 не подходит для создания настольных приложений;

 обработка ошибок традиционно плохая;

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

 по умолчанию это объекты CallByValue, что противоположно большинству языков и застает многих программистов врасплох;

 обычно считается менее защищенным, чем другие языки программирования PHP используют такие компании, как: Zend, Yahoo, Facebook, Google, NASA, W3C.

По состоянию на январь 2013 года PHP был установлен на более чем 240 миллионов веб-сайтов (39% из них) и 2,1 миллиона веб-серверов. На июнь 2019 занимает 9 место по популярности. PHP-скрипт начинается с <?php и заканчивается ?>. Расширением по умолчанию для файлов PHP является «.php». Файл PHP обычно содержит теги HTML и некоторый код сценария PHP.

2) Python: язык программирования общего назначения Python является широко используемым высокоуровневым языком программирования (но он также используется в широком диапазоне non-scripting языка) среди программистов, которые хотят выразить свои идеи с меньшим количеством строк кода. Он был придуман в конце 1980-х годов Гвидо ван Россумом.

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

Преимущества Python:

 легко и быстро учиться;

 работает в нескольких системах и платформах;

 читаемый и организованный синтаксис;

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

 отличная поддержка сообщества;

 простое создание приложений путем тестирования и импорта важных функций;

 возможность многократного использования через тщательно внедряемые пакеты и модули;

 объектно-ориентированное программирование.

Недостатки Python:

 не очень хорошо справляется с многопроцессорностью / многоядерностью;

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

 отсутствие точки коммерческой поддержки, даже для проекта с открытым исходным кодом (хотя эта ситуация меняется);

 ограничения уровня доступа к базе данных;

 считается медленнее языков, таких как Java Python используют: карты Yahoo, Zope Corporation, Linux Weekly News, Shopzilla, Ultraseek.

С 2008 года Python неизменно входит в восьмерку самых популярных языков программирования, согласно индексу сообщества программистов TIOBE. Это третий по популярности язык, грамматический синтаксис которого преимущественно не основан на C, например C++, C#, Objective-C, Java. Файлы Python имеют разширение «.py». На Python построены такие веб-фреймворки, как Flask и Django.

3) Ruby: интерпретируемый, чистый объектно-ориентированный язык программирования Ruby (язык программирования) работает с Rubyon Rails или просто Rails, средой полного стека веб-приложений с открытым исходным кодом. Это динамический, императивный объектно-ориентированный язык программирования, разработанный Юкихиро Мацумото в Японии. На создателя повлияли Perl, Eiffel и Smalltalk. Он имеет динамическую систему типов и автоматическое управление памятью.

Преимущества Ruby:

 с открытым кодом;

 работает на нескольких платформах;

 может быть встроен в язык гипертекстовой разметки (HTML);

 язык очень высокого уровня (VHLL);

 предлагает инкапсуляцию методов данных в объектах;

 чистый ООП (объектно-ориентированное программирование);

 супер продвинутые методы работы со строками и текстом;

 может быть легко подключен к DB2, MySQL, Oracle и Sybase;

 масштабируемые и большие программы, написанные на Ruby, легко обслуживаемы;

 имеет простой и понятный синтаксис, который позволяет новому разработчику быстро и легко изучать Ruby;

 возможность писать многопоточные приложения с простым API;

 предлагает расширенный класс массива;

 умеет писать внешние библиотеки на Ruby или C;

 позволяет использовать «зарезервированное слово» в качестве идентификатора, если синтаксический анализатор не воспринимает неоднозначность;

 лучшие функции безопасности;

 есть отладчик;

 имеет гибкий синтаксис;

 мощная обработка строк.

Недостатки Ruby:

 изучение может быть сложным;

 не хватает информационных ресурсов;

 более медленное время обработки (время процессора) по сравнению с другими языками программирования;

 более медленное развитие и редкий выход обновлений.

Ruby используют следующие компании: Google Sketchup, 37signals, GitHub, Shopify, Indie-gogo, Theme Forest.

Согласно веб-сайту Ruby, он входил в топ-10 самых популярных языков программирования во всем мире (например, индекс TIOBE) в 2018 году. По состоянию на июнь 2019 Ruby занимает 15 место. Его положение объясняется популярностью программного обеспечения, написанного на Ruby, особенно веб-фреймворка Rubyon Rails.

ЗАКЛЮЧЕНИЕ

Языки программирования высокого уровня в эпоху решения любых повседневных задач с помощью средств вычислительной техники (ВТ) имеют важное значение, они являются инструментом многоцелевого назначения с большими функциональными возможностями. На постоянные эволюционные изменения в семействе ЯП ВУ, с одной стороны, оказывает прогресс аппаратного и системного программного обеспечения, с другой стороны, быстро меняющиеся потребности объективного мира. Язык программирования является своего рода интерфейсом между пользователями –прикладными программистами – и средами разработки, находящимися под жестким влиянием вычислительной системы.

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

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

Согласно проведённому во второй главе сравнению языков программирования можно сформулировать следующие выводы:

 PHP – лучший язык для создания HTML-страниц;

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

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

СПИСОК ЛИТЕРАТУРЫ

  1. Бэрри Пол Изучаем программирование на Python / Пол Бэрри. – М.: Эксмо, 2016. – 332 c.
  2. Голошубова О.М., Наумов В.Ю. PYTHON: Происхождение, преимущества и перспективы // Инновационные, информационные и коммуникационные технологии. – 2016. – № 1. – С. 38-40.
  3. Жахина Р.У., Бекешева Л.Р., Утебаева Д., Камаладин Е.С. Об эффективности обучения к нескольким языкам программирования одновременно // Актуальные научные исследования в современном мире. – 2018. – № 8-1 (40). – С. 159-161.
  4. Златопольский Д.М. Основы программирования на языке Python / Д.М. Златопольский. – М.: ДМК Пресс, 2017. – 277 c.
  5. Крылова В.А. Облачные базы данных и облачные СУБД / Пшонов А.А., Шурупов С.С., Крылова В.А. // Информационное общество: Современное состояние и перспективы развития Сборник материалов X международного форума – Краснодар: КубГАУ, 2018. – № 10. – С. 312-314.
  6. Кузин А.Э. Роль программирования в современной жизни // APRIORI. Серия: Естественные и технические науки. – 2015. – № 6. – С. 24.
  7. Локхарт Джош Современный PHP. Новые возможности и передовой опыт / Джош Локхарт. – М.: ДМК Пресс, 2016. – 304 c.
  8. Неклюдова С.А., Балса А.Р. Парадигмы программирования как инструменты разработчика программных систем // Информационные технологии и системы : межвузовский сборник научных трудов. Выпуск 1 (12). – СПб., 2014.
  9. Омарова Г.Р., Шимов И.В. Современные языки программирования при обучении программирования школьников // Актуальные вопросы преподавания математики, информатики и информационных технологий. – 2018. – № 3. – С. 270-275.
  10. Пауэрс Дэвид PHP. Создание динамических страниц / Дэвид Пауэрс. – М.: Рид Групп, 2012. – 640 c.
  11. Семченко Р.В., Еровлев П.А., Лучанинов Д.В. Сравнение современных языков программирования // ПОСТУЛАТ. – 2018. – № 5-1 (31). – С. 47.
  12. Шилова Я.В., Косенков А.А. Роль языков программирования в современных смартфонах // APRIORI. Серия: Естественные и технические науки. – 2016. – № 2. – С. 1.
  13. Шкатова Г.И., Берестнева О.Г. Некоторые аспекты, связанные с развитием языков программирования // Современные проблемы науки и образования. – 2014. – № 3. – С. 112.
  14. TIOBE Index for May 2019 [Электронный ресурс]. – Режим доступа: https://www.tiobe.com/tiobe-index/.
  15. Рейтинг Black Duck [Электронный ресурс]. – Режим доступа: blackducksoftware.com.
  16. Рейтинг GitHub [Электронный ресурс]. – Режим доступа: https://octoverse.github.com/projects#languages.