Користувачі Hacker News порівняли прогнози програмістів дев’ятирічної давності з поточним станом справ.
Сервери для кросплатформних додатків
В 2012-му користувач dmbarbour припустив, що робота з серверами програм стане нормою для створення кроссплатформенного ПЗ. На його думку, програмісти будуть використовувати предметно-орієнтовані мови програмування DSL, що складаються з аплетів чи формлетів. Останні два компоненти через клієнтський API зможуть компілюватися на веб-сторінки, програми для Android, браузера Chrome та програми для ПК.
В 2021-му дехто вважав цю ідею надто наївною. Але автор hardwaregeek зазначив, що JavaScript-бібліотека React в ролі DSL-інтерфейсу користувача разом з кросплатформовим фреймворком React Native і Electron дозволяє схожим методом створювати додатки для різних систем.
Користувач Micoloth написав, що індустрія повільно рухається в напрямку, передбаченому dmbarbour, і поставив питання, чому люди не можуть створити надійне середовище програмування і продовжують працювати з безліччю мов і фреймворків. На його думку, таким чином, розробники просто витрачають зайвий час.
Кожен програміст повинен знати ці 12 речей
У відповідь автор dgb23 вказав на кількість мов, які використовують не програмісти: скрипти в Excel, засоби для роботи з веб-дизайном та інші. На його думку, у майбутньому різноманітність засобів розробки лише зростатиме. Інший користувач припустив, що мови програмування розколяться на просунуті та простіші.
«Розумні» помічники у розробці
Автор Marc DeRosa припустив, що до 2020 року в інтегрованих середовищах розробки (IDE) з’являться розумні помічники, які зможуть навчатися на проэктах з відкритих репозиторіїв в інтернеті. Така надбудова зможе виводити приклади фрагментів коду та підказувати розробникам, що можна використовувати. Він вважав, що комп’ютер та людина програмуватимуть спільно.
Користувач Junon на Hacker News зазначив, що Marc DeRosa передбачив появу інструменту для автозаповнення коду GitHub Copilot для Visual Studio Code. У відповідь на його коментар кілька людей назвали прогноз випадковістю або ідеєю про думаючого в категоріях математики ІІ, хоча насправді такі алгоритми просто повторюють дії «як папуги».
Деякі з коментаторів запитали, наскільки GutHub Copilot економить час і полегшує роботу програмістів. Користувач byteface написав, що використовує його кожен день і завдяки йому витрачає на роботу вп’ятеро менше часу. Він також порівняв використання інструменту з навичками швидкого пошуку Google.
Користувач moogly зазначив, що аналогічні надбудови існували і раніше. Як приклад він зазначив IntelliCode від Microsoft, Codota та Tabnine.
Нова мова для програмування
Автор Kostas Pramatias в 2012-му назвав англійську мову поганим вибором для програмістів через її негнучкість, неточність та багатослівність, властиві природній мові. Наприклад, якщо випадково перемішати десять слів у реченні, воно з великою ймовірністю втратить сенс.
Як вирішення проблеми він запропонував використовувати грецьку мову або санскрит, тому що їх можна інтегрувати з лямбда-численням. Але на його думку, люди навряд чи будуть готові змінити основу мов програмування і почати говорити неприродною для них мовою раніше 2030 року.
Відвідувач Matt M зазначив, що санскрит досі використовується в деяких частинах Індії та може стати заміною англійської у реактивному програмуванні. Втім, до 2021 року ні санскрит, ні грецька не стали універсальними для програмістів.
Об’єктно-орієнтоване та функціональне програмування
Учасники дискусії на Lambda the Ultimate запитали про подальшу долю об’єктно-орієнтованого програмування: на думку Sean McDirmid, воно мало б залишитися популярним і продовжити розвиватися в майбутньому. Він вказав на відсутність серйозних переваг у функціонального програмування та зазначив, що інструменти для роботи з кодом не точні так само, як і будь-яка природна мова.
Яку мову програмування варто вчити в 2022 році?
У той же час користувач Jon Purdy припустив, що функціональне програмування буде набирати популярності, але Haskell, Scala або Clojure не будуть використовуватися мовами програмування. Замість них з’являться аналоги з потужним інструментарієм та бібліотеками, доступною системою типів та детермінованою поведінкою пам’яті.
Відвідувач форуму Hacker News Shoetp написав, що Joh Purdy в 2012 році передбачив розвиток мови програмування Rust, що поєднує парадигми функцій зального та процедурного програмування з об’єктною системою. З його думкою не погодився brabel і привів як більш відповідний приклад TypeScript.
Загальні висновки
Mike Summers в 2012 році написав, що буде здивований, якщо програмування зміниться до 2020 року, оскільки, на його думку, індустрія не змінюється вже 30 років. Наприклад, він навів написання коду старими мовами PL/1, JCL і асемблера в XEdit, яке «не сильно відрізняється від роботи Java або Ruby в Eclipse».
Учасник обговорення fogus написав, що основним ринком для розробників у найближчі 20 років стануть мобільні платформи. Самі програмісти боротимуться за використання «своїх улюблених» інтегрованих браузерних засобів розробки, а розмови про сімейство текстових редакторів Emacs залишаться лише «божевільним в інтернеті».