Найти тему
Black Caviar Games

Краткая история языков программирования - часть 2

Вторая и заключительная часть нашего материала о развитии языков программирования. Нас ждет рост “семейства С”, Java, Python и еще много интересного!

1980-1990-е: мультипарадигмальность, визуальные языки, Интернет

В начале 1980-х сотрудник Bell Labs Бьерн Страуструп решил улучшить язык С (о нем мы писали в первой части материала) и добавил к нему ряд возможностей Simula (1967). Так появился C++, объединивший в себе черты объектно-ориентированных и системных языков. Страуструп внедрил в С возможность работать с объектами и классами, строгую проверку типов, аргументы по умолчанию и т.д. Первые версии языка (1980) назывались “Си с классами”, а наименование С++ стало использоваться в 1985 году с выходом очередной версии. К этому моменту возможности языка еще больше расширились.

-2

С++ актуален до сих пор, активно используется (например, в игровых движках и Adobe Photoshop) и развивается. На данный момент действует принятый в 2020 году стандарт C++20.

Еще одной важной вехой стало появление объектно-ориентированного Ada (1980/81), названного в честь Ады Лавлейс. Его разработала команда Жана Ишбиа по заказу Министерства обороны США. В основу языка легли Pascal (1970) и Algol (1960), однако присущий им синтаксис был упорядочен. “Ада” создавался для военных и смежных задач - прежде всего для систем управления кораблями и самолетами. Сейчас язык используется для управления воздушным движением в некоторых странах, а также в космических проектах.

В эту эпоху началось активное применение модулей - крупных единиц организации кода. Они позволили упростить процессы тестирования и поиска ошибок. Помимо Ada модульными были Modula-2 (1978) и Oberon (1986) (оба разработаны создателем Pascal Никлаусом Виртом), сам Pascal (1970), Haskell (1990) и другие. Кстати, Вирт высказал мнение, что программы становятся медленнее “куда шустрее, чем компьютеры становятся быстрее”. Иными словами, программное обеспечение не успевает за аппаратным. Этот тезис известен под разными названиями: “закон Вирта”, “закон Гейтса” или “закон Пейджа”.

Получили развитие языки, предназначенные для обработки текстовой информации - например, Perl (1987), Python (1991), и Ruby (1993). Perl, разработанный для редактирования текстов, в наши дни применяется в самых разных целях - от системного администрирования до работы с базами данных.

Python, созданный голландцем Гвидо ван Россумом, был назван в честь знаменитой комедийной группы из Великобритании “Монти Пайтон”. Сейчас это универсальный язык, широко известный и удобный. Ruby Юкихиро Мацумото тоже актуален по сей день и используется для веб-приложений, а также в Ruby on Rails.

-3

Другой тренд конца восьмидесятых - начала девяностых - развитие визуальных языков. В них программа создается при помощи манипуляций с графическими объектами вместо написания кода. Первыми такими языками стали Visual Basic (1991), Delphi (1995) и C++ Builder (1997). Современные пример - это ориентированный на детскую и подростковую аудиторию Scratch (2007).

В начале девяностых начал активно развиваться Интернет, и понадобились инструменты для создания веб-сайтов. Сначала для этого активно применяли уже упомянутый нами Perl и HTML. В 1995 был выпущен PHP - С-подобный язык для разработки интернет-страниц и веб-приложений (активно применяется и сейчас, в том числе WordPress и Wikipedia). В том же году вышла первая версия популярного JavaScript Брендана Эйха, также применяющегося для динамической веб-разработки, браузеров и виджетов.

Джеймс Гослинг выпустил один из самых популярных языков наших дней Java (1995), который не стоит путать с JavaScript.. Сейчас он часто используется для создания Android-приложений и веб-сервисов. И конкурирует с Kotlin (2011), о котором мы еще скажем.

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

От нулевых до наших дней

Первый “хит” нового тысячелетия - это C Sharp (2001), разработанный в Microsoft Андерсом Хейлсбергом, создателем Delphi. Это С-подобный язык, синтаксически близкий к C++ и Java, взявший многое от Delphi, Modula и Smalltalk. C Sharp активно используется самой Microsoft, применяется при разработке игр на движке Unity и веб-разработке.

В 2003 свет увидел Scala, созданный в Швейцарии под руководством Мартина Одерски. Его “фишкой” стала масштабируемость, а также объединение объектно-ориентированного и функционального программирования. Ближайшие “родственники” языка - это Java и C++. “Ровесник” Scala - язык Groovy, созданный для платформы Java. Синтаксически он близок Java, но имеет ряд отличий.

-4

В нулевые и десятые набирала силу Google, не оставшаяся в стороне от большой игры - в ноябре 2009 компания представила язык с лаконичным названием Go (также известен как Golang - не путать с языком Go!). Продукт Google разрабатывался как относительно простая замена C и C++, которая сможет эффективно работать на многоядерных процессорах и распределенных системах. Go не стал “прорывом”, но вошел в число популярных современных языков и, в основном, применяется для создания микросервисов и веб-приложений.

Российские программисты тоже внесли свой вклад в развитие языков нулевых-десятых годов. С 2010 по 2011 компанией JetBrains (под руководством Андрея Бреслава) был разработан Kotlin. Это объектно-ориентированный язык, функционирующий на базе Java Virtual Machine, создававшийся как более лаконичная и простая альтернатива Java и Scala. Как и Java, он часто используется Android-разработчиками.

Swift (2014) создавался Apple как более простая и эффективная замена C, C++ и Objective-C. Это универсальный язык, на котором прежде всего пишут продукты для macOS, iOS и других систем корпорации. Иногда может использоваться для поддержки сайтов и веб-приложений.

Вместо заключения:

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

Если вы только планируете ворваться в яркую и разнообразную вселенную программирования, то, скорее всего, размышляете о том, с какого языка начать. Это зависит от того, чем именно вы хотите заниматься - веб-разработкой, мобильными приложениями или, может быть, data science. Некоторые языки многофункциональны, другие - скорее относятся к “узким” и “заточены” на решение ограниченного спектра задач.

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

Источники:

1. Germn. Краткая и на 146% точная история языков программирования - https://habr.com/ru/post/481822/

2. Владимир Языков. Языки программирования: для чего нужны, какие популярны, как выбрать и с чего начать изучение- https://netology.ru/blog/03-2022-programming-languages

3. История языков программирования - https://ru.wikipedia.org/wiki/%D0%98%D1%81%D1%82%D0%BE%D1%80%D0%B8%D1%8F_%D1%8F%D0%B7%D1%8B%D0%BA%D0%BE%D0%B2_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F

4. Какой язык программирования учить прямо сейчас: 9 самых востребованных - https://trends.rbc.ru/trends/education/601c1a6b9a79472c4806230ahttps://trends.rbc.ru/trends/education/601c1a6b9a79472c4806230a

#языки программирования #программирование