Файл: Современные языки программирования (Понятие и классификация языков программирования).pdf

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

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

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

Добавлен: 18.05.2023

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

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

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

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

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

1.2. История языков программирования: развитие и создание

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

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

Зарождение языков программирования произошло в 1920-1930 годах, и были они примитивными, ориентированные исключительно на численные расчеты и прикладные задачи. Многие считают родоначальником программирования машин на определенные задачи английского ученого Чарльза Бэббиджема. Именно он в 20-х годах 20-го века сформулировал понятие программы, как последовательности действий машины для получения нужного результата. Конечно, это можно считать довольно условным фактом, так как первые вычислительные аппараты появлялись далеко задолго до 20-го века.


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

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

Приблизительно в 50-е годы начались активные разработки более совершенных вариантов языков программирования, нежели простые сигналы из нулей и единиц. Американские ученые разработали довольно успешный язык Ada, который использовался для управления военной техникой. Также очень большую роль в ИТ-индустрию внес язык под названием Fortran. Он возник в глубинах компании IBM – главного компьютерного гиганта того времени, и активно использовался для решения научных и технических задач[13].

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

Один из участников работы над упомянутым выше Алголом по имени Никлаус Вирт решил создать более универсальный и продвинутый язык. В итоге он представил миру такой легендарный язык программирования, как Паскаль. Именно он внес существенный вклад в развитие данной области знаний и послужит прочной основой для появления других, более совершенных языков. Паскаль стал одним из первых языков, использующих структурное программирование, довольно простой и легко запоминающийся синтаксис[14]. В будущем многие компании и индивидуальные программисты создавали на базе Паскаля свои варианты языков. К примеру, известная Apple создала расширение Паскаля под названием Object Pascal, а компания Borland – очень популярную и удачную интегрированную среду разработки Turbo Pascal.


В 70-х годах велись активные разработки языка С, который в будущем послужил надежной платформой для создания целого ряда своих более совершенных вариантов: Си Шарп, С++ и других. С был уже полноценным высокоуровневым языком программирования, на котором возможно реализовывать практически любые задачи по созданию самого разнообразного ПО. Известный и популярный в наше время язык Objective-C, который разработан компанией Apple и активно используется для написания программного обеспечения на их гаджеты и другие продукты, создан именно на основе того самого языка С из далеких 70-х.

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

История создания языков программирования была бы не полной, если не упоминать еще и о таких важнейших языках, как Java, PHP, HTML. Java возник в середине 90-х годов и сразу получил широкое применение и популярность. с его помощью одинаково легко пишутся как программы на ПК, так и различные скрипты, веб-приложения и многое другое. HTML язык был разработан британским программистом Т. Бернерсом-Ли в начале 90-х. именно он стал основой всей сети интернет и имеющихся сейчас в не миллионов сайтов. Что касается PHP, то этот популярный нынче язык также возник в 1995 году, имел открытый исходный код и способен реализовать практически любую задумку в сфере создания динамических вебсайтов.

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

ГЛАВА 2. СРАВНИТЕЛЬНЫЙ АНАЛИЗ СОВРЕМЕННЫХ ЯЗЫКОВ ПРОГРАММИРОВАНИЯ

Если разделять языки программирования по популярности, то они делятся на три эшелона. Первый эшелон включает мейнстрим-языки, такие как Java, JavaScript, Python, Ruby, PHP, C#, C++ и Objective-C. Языки второго эшелона пытаются пробиться в мейнстрим, но ещё не добились этого. Они доказали свою состоятельность путем создания сильных сообществ, но они до сих пор не используются большинством консервативных IT-компаний. Scala, Go, Swift, Clojure и Haskell – языки, которые, по моему мнению, можно отнести ко второму эшелону. Некоторые компании используют эти языки для отдельных сервисов, но широкое применение встречается редко (за исключением Swift, который начинает обгонять Objective-C в качестве основного языка для iOS). Go и Swift имеют хорошие шансы на переход из второго эшелона в первый в течение ближайших двух-трёх лет.


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

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

Все три указанные ниши языков постараемся детально рассмотреть в данной главе. В поиске информации нам помог ресурс Stackoverflow. Итак, для начала представим топ-10 языков программирования за 2017 год (рисунок 1).

Рисунок 1 Топ-10 языков программирования за 2017 год

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

2.1. Javascript

Это один из самых популярных языков программирования. Он находится на первом месте уже несколько лет подряд. Это самый кроссплатформенный язык программирования, который позволяет разрабатывать desktop, веб и мобильные приложения. Javascript имеет много удобных и гибких библиотек. Среди самых популярных стоит отметить React.js. Angular.js и Vue.js. Последняя библиотеке только набирает популярность. Vue имеет хорошую производительность и одна из самых легких для изучения. Тем не менее, ей будет тяжело выйти на столько высокий уровень популярности как другие библиотеки. Рынок уже поделен между React и Angular. 

Библиотека React была разработана компанией Facebook. Она является одной из самых популярных на основе javascript. React позволяет разрабатывать мобильные приложения, сайты и SPA (single page application). React существенно легче в изучении по сравнению с Angular 2.

Angular разработан компанией Google и в последнее время терпит много трансформаций. Сначала все использовал Angular 1, несколько лет назад вышел Angular 2, который более производительней, удобней и быстрее. Сейчас Google разрабатывает Angular 4. Он должен заменить Angular 2 и стать лидером среди javascript библиотек. Посмотрим, что с этого выйдет. В целом, Angular сложный для новичков и хорошо подходи для разработки веб приложения для крупных компаний. 


Кроме приведенных выше библиотек очень популярный node.js. Он позволяет разрабатывать серверную часть на Javascript. Это лучшее решение если вы хотите разработать back-end часть с использованием js. Как видите, javascript универсальный язык программирования. Имеет хорошую гибкость и производительность. Именно это и делает его одним из самых популярных в нашем списке. Я думаю в дальнейшем этот тренд сохранит свою динамику. 

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

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

  1. Ни один современный браузер не обходится без поддержки JavaScript.
  2. С использованием написанных на JavaScript плагинов и скриптов справится даже не специалист.
  3. Полезные функциональные настройки.
  4. Постоянно совершенствующийся язык – сейчас разрабатывается бета-вариация проекта, JavaScript2.
  5. Взаимодействие с приложением может осуществляется даже через текстовые редакторы – Microsoft Office и Open Office.
  6. Перспектива использования языка в процессе обучения программированию и информатике.

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

  1. Пониженный уровень безопасности ввиду повсеместного и свободного доступа к исходным кодам популярных скриптов.
  2. Множество мелких раздражающих ошибок на каждом этапе работы. Большая часть из них легко исправляется, но их наличие позволяет считать этот язык менее профессиональным, сравнительно с другими.
  3. Повсеместное распространение. Своеобразным недостатком можно считать тот факт, что часть активно используемых программ (особенно приложений) перестанут существовать при отсутствии языка, поскольку целиком базируются на нем[15].

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

2.2. SQL

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