luckyea77 (luckyea77) wrote,
luckyea77
luckyea77

Category:

История языков программирования: 2010-е

1950-е 1960-е 1970-е 1980-е 1990-е 2000-е 2010-е

Источник

Заключительная часть серии.



Лично мне в исторических сериях больше всего нравится читать последние главы, посвященные недавним событиям. Это позволяет взглянуть на сегодняшний день под другим углом, сделать определенные выводы о том, куда мы движемся. Попробуем и в заключительной статье «Истории языков программирования» спрогнозировать, что ждет IT-сферу в 2020-м.

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

* Изобретались новые языки взамен фундаментальных. Objective-C, C++, JavaScript, PHP и другие прекрасно справлялись с текущими задачами. Но в будущем, при значительном росте объема информации, их синтаксис и возможности могли вызывать сложности у программистов. Чаще всего улучшения сводились к упрощению синтаксиса, чтобы сократить время разработки и выпуска нового ПО;
* Разрабатывались новые алгоритмы и библиотеки для создания искусственного интеллекта. В перспективе именно ИИ должен взять на себя работы низкой сложности: прямой контакт с пользователем, внедрение обновлений, поиск и устранение большинства багов;
* Повышалась гибкость языков. В те языки, которые еще имели пространство для глобальных улучшений, добавлялись полноценные возможности ООП, функционального программирования, библиотеки для работы с периферией, дизайном, математикой и прочее.

Последние две концепции проявились почти во всех популярных языках программирования: Python, Java, JavaScript и даже Fortran с Ada. В 2010-х они развивались и адаптировались к актуальным задачам, что добавило им сторонников. Но всегда были и те, кто находил в популярных языках причины торможения эволюции. И в качестве ответа публике предлагали новые ЯП, лишенные характерных изъянов.

Борьба с С

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

Он не сильно уступает в производительности С++, однако дает больше надежности на выходе, да и в плане синтаксиса чуть удобнее для программиста. Позитивная оценка со стороны сообщества разработчиков подтверждается ежегодным опросом на портале Stackoverflow, где Rust уже 4 года остается в тройке наиболее любимых языков и третий раз стабильно возглавляет рейтинг. И хотя объемы работ на С/С++ и Rust несопоставимы, есть шанс, что в ближайшем десятилетии пропасть между ними будет уменьшаться.

Корпорации тоже против вечного

В XXI веке в IT выросла роль узкого круга компаний, практически каждая из которых запустила свой язык программирования. Вы помните, что в Microsoft на рубеже 90-х и 2000-х разработали C#. В 2010-х эта традиция продолжилась: компания Apple запустила Swift, Facebook — Hack, Google — Dart (а ведь в 2000-х появился еще и Go).

Каждый из этих языков должен был заменить или дополнить своего популярного предшественника. Так, Swift пришел на смену Objective-C. По выходной производительности приложений эти два языка схожи, но если брать трудозатраты разработчика, Swift демонстрирует серьезное превосходство. В Apple при этом не стали форсировать события и принуждать всех переходить на новые методы разработки. Но — чтобы вы понимали эффект — согласно статистике портала TIOBE, всего за год после выхода Swift количество запросов «Objective-C» в популярных поисковиках снизилось почти в 10 раз. Сегодня востребованность языков уже сопоставима.

У Dart история чуть более витиеватая — общий успех все еще под сомнением, да и подвижки в популярности происходят лишь благодаря влиятельному покровителю. Правда, и задача сложнее — заменить JavaScript. Впервые Dart появился в 2011 году — в Google на него возлагали большие надежды, активно развивали, продвигали в массы. Основными «фишками» языка должны были стать не только упрощенный синтаксис и повышенная надежность программ, но и варианты запуска: с компиляцией в JavaScript-код и без нее (прямая работа с браузером Chromium). Но в итоге оказалось, что этого недостаточно, чтобы заставить разработчиков массово отказываться от JavaScript. В результате в Google в 2016-м заморозили все работы по проекту, а в феврале этого года неожиданно громыхнули с выходом Dart 2. Пока все выглядит хорошо, а эффективность такого шага сможем оценить лишь в новом десятилетии.

Про язык Hack пока вообще не стоит говорить как о преемнике PHP. В Facebook он был разработан для решения частных проблем, связанных с большими данными. Hack «понимает» код, написанный на PHP, а значит формально не вынуждает разработчиков делать выбор. Учитывая перечень решаемых задач и частоту апгрейдов языка, Hack скорее сам исчезнет из мира программирования, чем обгонит по популярности PHP.

В некотором роде схожая судьба выпала Kotlin — продукту компании JetBrains и идеологическому конкуренту Java. В сравнении с оригиналом, здесь улучшен синтаксис и повышена безопасность выходного кода. Не стоит забывать и об официальной поддержке популярных IDE: IntelliJ IDEA и Android Studio. В результате у языка немало поклонников, но среди них практически нет тех, кто бы отказался от Java в пользу Kotlin. Возможно, стоит подождать.

Чудотворный Elixir

Было в 2010-м и развитие на фронте функциональных языков программирования. В 80-х годах в телекоммуникационной сфере был разработан Erlang — узкоспециализированный язык для написания высоконадежных утилит и прикладных программ. Большой славы он не снискал, но и в истории не затерялся: до сих пор используется для написания части кода в серверах видеостриминга. Надежность ценится всегда.

Сегодня на смену Erlang пришел Elixir — язык с улучшенным синтаксисом, отдаленно напоминающим Ruby. Они полностью совместимы, поэтому многие разработчики с удовольствием уходят от откровенно устаревших форм записи к современным. Но, как и с рассмотренными выше «заменителями», этот процесс лишь в ранней стадии исполнения.

Моська по имени Julia

В 2010 году была предпринята еще одна попытка создать «научный» язык программирования — инструмент, способный в равной степени эффективно работать с математикой и визуализацией данных. Так в стенах Нью-Йоркского Университета родилась Julia. Она уже превзошла по производительности главных конкурентов — Python и MATLAB, использует схожий интуитивно понятный синтаксис, но пока катастрофически страдает из-за узкого спектра возможностей. Учитывая тенденцию к ускорению работы программ и невозможность развития в этом направлении нынешних языков-лидеров, в ближайшем десятилетии Julia может или сама стать заметной силой, или послужить основой очередного языка, созданного огромной корпорацией.

Куда теперь движется IT

В 2000-х в обиход вошло понятие «смартфон», 2010-е начались с массового внедрения «планшетов» и «фаблетов», но уже к 2020-му мы подходим, постепенно стирая границы между компьютерными устройствами — по сути это все и смартфоны, и планшеты, и ноутбуки.

Главная перспектива IT теперь состоит не в том, чтобы преобразовывать мир с помощью отдельных гаджетов, а создать принципиально новый — «мир виртуальной реальности». Сегодня есть лишь зачатки этой технологии, созданные на базе давно известных языков и алгоритмов. Но как смартфоны, социальные сети и «большие данные» предопределили развитие программирования в 2010-х, так и необходимость обрабатывать еще и «естественную» информацию даст толчок новой ветви развития в 2020-х. И тогда, возможно, популярные языки станут куда менее востребованы, а на смену им придут новаторские: высокопроизводительные и с элементарным синтаксисом.

Или все-таки нет?



1950-е 1960-е 1970-е 1980-е 1990-е 2000-е 2010-е

Смотрите также:
Языки программирования, разработанные российскими и советскими программистами

Tags: 21 век, история, программирование
Subscribe

Posts from This Journal “программирование” Tag

Buy for 20 tokens
Почитайте, как расправляются с юристом Кантемиром Карамзиным: « - Здесь они медленно и каждый день меня убивают, не имея на то никаких, даже малейших законных оснований… К сожалению, я не бесстрашный герой...». Человека пытаются убить в CИЗО за то, что он очень…
  • Post a new comment

    Error

    default userpic

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 1 comment