Десять лет спустя: каким видели будущее программирования в 2012 году

Пользователи Hacker News сравнили предсказания программистов девятилетней давности с текущим положением дел.

ITC.ua
ITC.ua

Серверы для кроссплатформенных приложений

В 2012-м пользователь dmbarbour предположил, что работа с серверами приложений станет нормой для создания кроссплатформенного ПО. По его мнению, программисты будут использовать предметно-ориентированные языки программирования DSL, состоящие из апплетов или формлетов. Последние два компонента через клиентский API смогут компилироваться в веб-страницы, приложения для Android, браузера Chrome и программы для ПК.

В 2021-м некоторые посчитали эту идею слишком наивной. Но автор hardwaregeek отметил, что JavaScript-библиотека React в роли DSL-пользовательского интерфейса вместе с кроссплатформенным фреймворком React Native и Electron позволяет схожим методом создавать приложения для разных систем.

JavaScipt-библиотеку React посчитали подходящим примером способа создавать кроссплатформенные приложения  JetBrains
JavaScipt-библиотеку React посчитали подходящим примером способа создавать кроссплатформенные приложения  JetBrains

Пользователь Micoloth написал, что индустрия медленно движется в направлении, предсказанном dmbarbour, и задался вопросом, почему люди не могут создать надёжную среду программирования и продолжают работать с множеством языков и фреймворков. По его мнению, таким образом разработчики просто тратят лишнее время.

В ответ автор dgb23 указал на растущее количество языков, которые используют не программисты: скрипты в Excel, средства для работы с веб-дизайном и прочие. По его мнению, в будущем разнообразие средств разработки будет только расти. Другой пользователь предположил, что языки программирования расколются на продвинутые и более простые.

«Умные» помощники в разработке

Автор Marc DeRosa предположил, что к 2020 году в интегрированных средах разработки (IDE) появятся «умные» помощники, которые смогут обучаться на проектах из открытых репозиториев в интернете. Такая надстройка сможет выводить примеры фрагментов кода и подсказывать разработчикам, что можно использовать. Он считал, что компьютер и человек будут программировать совместно.

Пользователь junon на Hacker News отметил, что Marc DeRosa предсказал появление инструмента для автозаполнения кода GitHub Copilot для Visual Studio Code. В ответ на его комментарий несколько людей назвали прогноз случайностью или идеей о думающем в категориях математики ИИ, хотя в реальности такие алгоритмы просто повторяют действия «как попугаи».

Так выглядит работа с инструментом для автозаполнения кода GitHub Copilot The Register
Так выглядит работа с инструментом для автозаполнения кода GitHub Copilot The Register

Некоторые из комментаторов задались вопросом, насколько GutHub Copilot экономит время и облегчает работу программистов. Пользователь byteface написал, что использует его каждый день и благодаря ему тратит на работу в пять раз меньше времени. Он также сравнил использование инструмента с навыками быстрого поиска в Google.

Пользователь moogly отметил, что аналогичные надстройки существовали и ранее. В качестве примера он привёл IntelliCode от Microsoft, Codota и Tabnine.

Новый язык для программирования

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

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

Санскрит участники обсуждения на Lambda the Ultimate предложили использовать в качестве нового языка для программирования Linguis
Санскрит участники обсуждения на Lambda the Ultimate предложили использовать в качестве нового языка для программирования Linguis

Посетитель Matt M отметил, что санскрит до сих пор используется в некоторых частях Индии и может стать заменой английскому в реактивном программировании. Впрочем, к 2021 году ни санскрит, ни греческий язык не стали универсальными для программистов.

Объектно-ориентированное и функциональное программирование

Участники дискуссии на Lambda the Ultimate задались вопросом о дальнейшей судьбе объектно-ориентированного программирования: по мнению Sean McDirmid, оно должно было бы остаться популярным и продолжить развиваться в будущем. Он указал на отсутствие серьёзных преимуществ у функционального программирования и отметил, что инструменты для работы с кодом не точны так же, как и любой естественный язык.

В то же время пользователь Jon Purdy предположил, что функциональное программирование будет набирать популярность, но Haskell, Scala или Clojure не будут используемыми языками программирования. Вместо них появятся аналоги с мощным инструментарием и библиотеками, доступной системой типов и детерминированным поведением памяти.

В 2012 году некоторые программисты не ждали развития функционального программирования от Haskell GitHub
В 2012 году некоторые программисты не ждали развития функционального программирования от Haskell GitHub

Посетитель форума Hacker News Shoetp написал, что Joh Purdy в 2012 году предсказал развитие языка программирования Rust, совмещающего парадигмы функционального и процедурного программирования с объектной системой. С его мнением не согласился brabel и привёл в качестве более подходящего примера TypeScript.

Общие выводы

Mike Summers в 2012 году написал, что будет удивлён, если программирование изменится к 2020 году, так как, по его мнению, индустрия не меняется уже 30 лет. В пример он привёл написание кода на старых языках PL/1, JCL и ассемблера в XEdit, которое «не сильно отличается от работы Java или Ruby в Eclipse».

Участник обсуждения fogus написал, что основным рынком для разработчиков в ближайшие 20 лет станут мобильные платформы. Сами программисты будут бороться за использование «своих любимых» браузерных интегрированных средств разработки, а разговоры о семействе текстовых редакторов Emacs останутся лишь «сумасшедшим в интернете».

4040
37 комментариев

Да ну, какой санскрит!? Давайте писать программы на языке древних ацтеков! Хуле, они календарь на целую эру на один каменный диск записали - индусам такая лаконичность и не снилась!

18
Ответить
32
Ответить

Поменялось только одно — сейчас новый софт на "модных" технологиях с функциональностью 10-летней давности стал требовать ресурсов кратно больше! Качество софта ушло на второй план. Вот прямо сейчас сижу в MS Teams. Как можно было это родить?

17
Ответить

А кто то пытался родить лучше? Особенно в сфере корпоративного общения?

Ответить

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

6
Ответить

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

7
Ответить

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

1
Ответить