1950-е 1960-е 1970-е 1980-е 1990-е 2000-е 2010-е Источник Интернет - двигатель прогресса.
Последнее десятилетие XX века ознаменовалось появлением интернета (World Wide Web) в его привычном глобальном виде. Если ранее языки и идеи программирования распространялись через отдельные дистрибутивы или журналы, то теперь появился мощный канал обмена информацией, доступный каждому. Таким образом, любой язык программирования, даже созданный школьником на уголке планеты, мог стать международным хитом.
В то же время появление интернета открыло новые перспективы для развития языков. Он стал полем для развертывания сценариев, создания протоколов обмена информацией и различных интерактивов - благодатной почвой, где существующие языки не имели власти. В этой ситуации вторую жизнь обрели функциональные языки программирования.
Перерождение функционального программирования
Функциональные языки программирования появились ещё на рассвете программирования: в конце 50-х был Lisp, который получил международное признание и долгое время являлся одним из китов программирования. Однако с тех пор, как появились Basic и Pascal, общественный интерес к функциональному программированию угас - их возможностей хватало на решение подавляющего большинства задач персонального компьютера. Но рост требований и появление интернета изменило требования и интерес к ФП вспыхнул с новой силой. Это стало катализатором появления и популяризации языков Erlang (1986) и Haskell (1990) - чистых языков функционального программирования. Это означает:
* Отсутствие побочных эффектов использования памяти и ввода-вывода информации. Проще говоря, при изменении частных не меняется структура программы и объекты. Например, в Haskell для этого используется механизм монад.
* Использование функций высших порядков и лямбда-абстракций. Функции могут быть аргументами и возвращаться в качестве результата вычисления.
* Активное использование рекурсий. В то время, как в императивном программировании в основе лежат циклы в классическом представлении, в функциональном без умения использовать рекурсию делать нечего.
Популярные языки программирования тоже понемногу стали обрастать функциональными возможностями, подстраиваясь под новые требования. Однако в 1990-х всё ещё правит императивный подход, поэтому главным явлением стало появление ещё более простых языков программирования.
Проще, мощнее, универсальнее
В мире программирования всегда находятся гики, которые стараются упростить и усовершенствовать популярные языки. Лучшие из них меняют ход истории. Так, к примеру, произошло с Гвидо Ван Россумом, создателем языка
Python.
Basic и Pascal были искусственно ограничены в угоду массовости. Для сложных вычислений, моделирования и построения графиков программисту требовалось использовать сторонние библиотеки, а чаще создавать свои. Это порождало массу сложностей, куда проще было освоить ещё один язык. Кроме того, Pascal и Basic уже сильно устарели в плане синтаксиса
Гвидо при помощи Python решил все эти проблемы. Синтаксис стал по-настоящему высокоуровневым, настолько, что код мог понять даже не программист. Это вкупе с распространением интернета дало мощный толчок для создания узкоспециализированных библиотек, с помощью который можно решать безграничный спектр задач. Если в 1980-е каждый мог сделать программирование своим хобби, то в следующем десятилетии оно уже стало элементом многих профессий.
Ещё одно подтверждение этому - появление в 1991 году очередной ветви популярного языка -
Visual Basic. VB был направлен на работу с графическим интерфейсом Microsoft Windows. «Оконная» ОС уже тогда была одним из лидеров рынка, и за возможность создавать приложения зацепилось огромное количество простых пользователей. Несмотря на то, что первые версии VB не отличались функциональностью и качеством сборки, язык получил большую популярность.
Развитие получил и Pascal. Именно в середине 1990-х появился Delphi, он же Object Pascal. В отличии от Visual Basic он стал не следствием не ответвления, а эволюции Turbo Pascal. Популяризации языка поспособствовала и компания Borland, подхватившая новый язык и создав на его основе программную среду, которая как раз и называлась Delphi. С её помощью миллионы школьников по всему миру научились создавать собственные MVC-приложения: игры, органайзеры, медиаплееры - всё то, о чём несколько лет назад и мечтать было сложно.
Начало доминирования
Пожалуй, главный вклад 1990-х в современный мир состоит в появлении двух невероятно мощных и схожих языков -
Java и
C#. Java появился хронологически раньше. Язык стремился решить насущную проблему - создание такого кода, который бы мог работать на любой платформе. Реализация стала возможна благодаря трансляции в байт-код с использованием виртуальной машины. Идея не нова, она использовалась на машине Atlas в Кэмбридже ещё в 1960-х, но только сейчас она стала по-настоящему актуальной. Синтаксис Java был схож с популярными языками, в том числе
C++, но функциональность была расширена до полноценных возможностей ООП.
Концепция Java очень быстро нашла отклик у программистов, и к концу века каждый четвертый программист на планете был знаком с этим языком. Конечно, такая популярность не могла пройти мимо внимания самой могущественной IT-компании - Microsoft. На базе Java, учтя все претензии и пожелания, они выпустили свой язык - С#. Такой же популярности язык не достиг, но возможность кастомизировать Windows, на тот момент уже одной из популярнейших ОС, привлекла внимание огромного числа программистов.
Это стало причиной негласной вражды и развития программных платформ для обоих языков. Правда, всё это будет в 2000-х, а в 1990-е появляется новое направление - языки веба.
Создание интернета
Появление интернета изменило в целом представление о компьютерах и его возможностях. Теперь это были не рабочие машины, а ещё и сервис коммуникации и общения, а значит аудитория потенциальных пользователей выросла в разы. Веб стал новой программной платформой и новым рынком, который необходимо было осваивать.
Существующие языки программирования для веба были слишком «тяжёлыми», всё-таки скорость соединений в начале 90-х оставляла желать лучшего. Поэтому в качестве стандарта WWW выступала технология гипертекста. Базовым языком стал
HTML, разработка которого велась ещё с 1986 года. Несмотря на то, что он не является Тьюринг-полным, то есть не может быть причислен к разряду языков программирования, переоценить вклад HTML в современный IT-мир трудно.
К середине десятилетия выросло количество серверов, сайтов, соответственно, увеличился объем трафика. Для того, чтобы уменьшить количество кода и привести страницы к общему логическому знаменателю, веб-разработчики стали использовать язык
CSS. С его помощью можно было задавать цвета, формат шрифта, верстать страницы и логически их разделять, используя единый шаблон для всего сайта. Это не только уменьшило количество кода, но и значительно повысило надёжность.
Альтернативой специализированным языкам являлся Perl - язык общего назначения для работы с текстом. Он заимствовал синтаксис и механизмы из других популярных языков, в том числе С и awk, но благодаря ориентации никогда не был им конкурентом. Когда речь зашла о поиске подходящего инструмента для интерфейсного обслуживания интернета, Perl стал одним из главных вариантов.
Он же лёг в основу истории создания важнейшего языка современной «паутины» - PHP. Именно Perl использовал Расмус Лердорф, программист из Дании, создавая скрипты для обработки статистики онлайн-резюме. Он дал им название Personal Home Page. Позднее Расмус понял, что возможностей
Perl ему не хватает, разработал на С новый интерпретатор шаблонов, который и получил название
PHP.
Однако большая слава к языку пришла лишь после того, как в 1997 году Энди Гутманс и Зеев Сураски значительно переработали PHP, подняв к нему интерес и придав современный облик. С этого времени популярность языка начала стремительно расти, пока PHP не утвердился в качестве одного из главных языков программирования.
Еще одной альтернативной ветвью развития Perl стал Ruby - динамический высокоуровневый язык с полноценной реализацией ООП. Юкихиро Мацумото хотел реализовать ту же идею доступности, что существовала в Python, при этом сохранив «дух» Smalltalk и Perl.
Но, пожалуй, главную революцию совершил язык
JavaScript. Он также изначально замышлялся, как скриптовая замена С для обработки макросов. Но, благодаря многочисленным стечениям обстоятельств и удачной интеграции в HTML-коды, JavaScript вызвал бурный интерес у большинства разработчиков. Конец 90-х и начало 2000-х в вебе запомнились огромным количеством веб-страниц, перенасыщенных JS-скриптами. Они сверкали всеми цветами радуги, выдавали всплывающие сообщения при каждом клике, картинки перемещались по экрану. Сейчас это кажется ужасом, но тогда это стало настоящей революцией. Именно так JavaScript стал обязательным инструментом веб-разработчика и сохраняет это звание по сей день.
На пороге очередной технологической революции
В 1990-х стал зарождаться еще один мощный рынок - гибридов телефона и компьютера. Термин «смартфон» введет компания Ericsson только в 2000-х году, пока они носят название коммуникаторы. Изначально приложения разрабатываются на языках
ассемблера и С, а системы имеют закрытый характер. Однако к концу тысячелетия ситуация меняется - Psion, Nokia, Ericsson и Motorola создают консорциум Symbian. Выпущенная им операционная система вскоре захватит почти весь рынок, став отправной точкой в сфере пользовательской разработки мобильных приложений.
Впрочем, об этом мы уже поговорим в следующем десятилетии.
1950-е 1960-е 1970-е 1980-е 1990-е 2000-е 2010-е