IT-инфраструктура для бизнеса и творчества
Разработка
Илья Склюев

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

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

ITC.ua

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

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

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

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

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

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

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

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

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

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

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

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

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

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

В 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 останутся лишь «сумасшедшим в интернете».

(function () { let cdnUrl = `https://specialsf378ef5-a.akamaihd.net/SelectelBranding/images/` let previousArticleNumber = null let currentArticleNumber = 0 let platform = 'Desktop' let articles = [ { name: 'camera', url: `${cdnUrl}CameraCat`, text: 'умную камеру для\u00A0наблюдения за\u00A0котиками', link: 'https://vc.ru/selectel/306690', num: 3 }, { name: 'chill', url: `${cdnUrl}ChillCat`, text: 'трекер, который подскажет, когда пора отдохнуть', link: 'https://vc.ru/promo/288561-eye-tracker', num: 1 }, { name: 'cloud', url: `${cdnUrl}CloudCat`, text: 'котика: даёшь ему «пять», а\u00A0он делает бэкап в облако', link: 'https://vc.ru/dev/294799-maneki-neko', num: 2 } ] let buttonCycle = document.querySelector('.button--cycle') let buttonChoose = document.querySelector('.button--choose') let buttonMobile = document.querySelector('.button--mobile') let textField = document.querySelector('.selectel-footer-subtitle') let imageAgent = document.querySelector('.image--agent') let banner = document.querySelector('.selectel-footer') buttonCycle.addEventListener('click', cycleClick) buttonChoose.addEventListener('click', () => sendEvent(`Promo ${articles[currentArticleNumber].num} Left`, 'Click')) buttonMobile.addEventListener('click', () => sendEvent(`Promo ${articles[currentArticleNumber].num} Left`, 'Click')) let media = window.matchMedia("(max-width: 570px)") media.addEventListener('change', matchMedia) function matchMedia() { if (media.matches) { platform = 'Mobile' } else { platform = 'Desktop' } update() } matchMedia() function cycleClick(event) { sendEvent(`Promo ${articles[currentArticleNumber].num} Right`, 'Click') if (event) { event.preventDefault() event.stopPropagation() } window.open('https://vc.ru/tag/selectelDIY', '_blank') //cycle(event) } function cycle(event) { // incrementArticleNumber() textField.innerHTML = generatedText() imageAgent.src = articles[currentArticleNumber].url + platform + '.svg?3' imageAgent.setAttribute("class", "") imageAgent.classList.add('image--agent', articles[currentArticleNumber].name) banner.href = articles[currentArticleNumber].link } function update() { banner.href = articles[currentArticleNumber].link imageAgent.src = articles[currentArticleNumber].url + platform + '.svg' textField.innerHTML = generatedText() } function incrementArticleNumber() { previousArticleNumber = currentArticleNumber if (currentArticleNumber >= articles.length - 1) { currentArticleNumber = 0 } else { currentArticleNumber++ } } const sendEvent = (label, action = 'Click') => { const value = `SelectelDIY — loc: Footer — ${label} — ${action}`; if (window.dataLayer !== undefined) { window.dataLayer.push({ event: 'data_event', data_description: value, }); } }; function generatedText() { let defaultText if (platform === 'Desktop') { defaultText = `Мы тут собрали %text%. Хотите научим?` } else { defaultText = `Мы тут собрали %text%.` } return defaultText.replace('%text%', articles[currentArticleNumber].text) } function getRandom(min, max) { min = Math.ceil(min) max = Math.floor(max) return Math.floor(Math.random() * (max - min + 1)) + min } (function create() { currentArticleNumber = getRandom(0, articles.length - 1) cycle() let page = document.querySelector('.page--entry') if (page) { function insertAfter() { let parents = page.querySelectorAll('[data-id="7"]') let referenceNode = parents[0] referenceNode.parentNode.insertBefore(banner, referenceNode.nextSibling); loaded() } setTimeout(() => insertAfter(), 0) } }()) function loaded() { banner.classList.add('loaded') } loadImages([ `${cdnUrl}CameraCatDesktop.svg`, `${cdnUrl}ChillCatDesktop.svg`, `${cdnUrl}CloudCatDesktop.svg`, `${cdnUrl}CameraCatMobile.svg`, `${cdnUrl}ChillCatMobile.svg`, `${cdnUrl}CloudCatMobile.svg?3`, ]) function loadImages(urls) { return Promise.all(urls.map(function (url) { return new Promise(function (resolve) { var img = document.createElement('img'); img.onload = resolve; img.onerror = resolve; img.src = url; }); })); } }())
0
36 комментариев
Популярные
По порядку
Написать комментарий...

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

17

Это же православный 1С

27

вы использовали два синонима в одном предложении

14

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

16

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

0

Тут вопрос не в том, а пытался ли кто-то родить лучше. Вопрос в качестве исполнения. От крупнейшего мирового разработчика ПО ожидаешь увидеть другого уровня. Обещали, что в Teams 2 будет лучше, поглядим. А сколько по времени ждали появления банального Reply? И вообще нужен ли большинству такой тормозной и неповоротливой комбайн (в моем многочисленном окружении обычные юзеры стараются его вообще избегать, "потому что медленно и неудобно"). Сижу в нем лишь потому, что многое завязано на майкрософтовский стэк и облако. Хотя для меня (и других моих коллег) на практике лучшей связкой является Telegram + Zoom|Google Meet.

2

Zoom это худшее, что может быть. Какая-то дико китайская реплика скайпа с убогим UIUX, отсутствием нормального чата, ограничением конфы по времени (40мин,да?)00))
и всё это при (относительно) крутом живом скайпе. ред.

7

Согласен, то же самое было со Skype For Busines, простые чаты, приложение могло отожрать по 2 ГБ RAM... Позорище для Microsoft.

0

ожидаешь увидеть другого уровня

А теперь быстро побежал удалять свои недовольства по поводу 2-ой рекламы Ютуба, дизайна Фейсбука, странной политики блокирования пользователей в других Соц. сетях и многие другие "исполнения". Иначе это выглядит как обычный "перво-месячный синдром после крупного обновления" РАНЬШЕ БЫЛО ЛУЧШЕ ТАК СКАЗАТЬ.
Zoom|Google Meet

Вот так вот невольно и понимаешь откуда появилась эта каста говорящих про отупение после Коронавируса/вакцины против Коронавируса.

0

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

6

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

6

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

1

нихйя

0

Извините, пожалуйста, я не смог посчитать, сколько ошибок у вас в одном слове. Не подскажете, сколько именно? Ещё раз извините за беспокойство. ред.

1

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

0

Вообще статья не очень интересная как по мне. Ничего кардинально не поменялось.

Было бы интереснее почитать более старые предсказания (из начала 2000-х), и не только в сфере программирования.

6

скорее автор не затронул то , что поменялось.

Облачные технологии, применение блокчена в транзакциях, Многопоточное программирование, DS. хотя бы.

5

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

0

предсказал появление инструмента для автозаполнения кода GitHub Copilot для Visual Studio Code. В ответ на его комментарий несколько людей назвали прогноз случайностью или идеей о думающем в категориях математики ИИ,

хотя в реальности такие алгоритмы просто повторяют действия «как попугаи».

3

Это всё чему можно обучить нейросеть на джаваскриптовых репозиториях 😄

5

какой-то js головного мозга)00

2

В будущем программистов не будет, будет ИИ и дизайнеры.

0

Ничего не изменится. Просто работа и дизайнеров, и программистов упростится.

Как сейчас, например, упростилась работа системных администраторов (я не про тех, кто настраивает оборудование и т.д.). Точнее их уже активно заменяют DevOps-процессами.

4

DevOps сам себя не поднимет. Это как раз развитие для сисадмина.

6

А кто будет писать ИИ?

1

сам себя

0

а вы дизайнер, простите?

0

Прощаю. Я прогер.

0

чтож мы делать то будем?
пора переквалифицироваться походу емае блин…..

0

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

1

И двое так печально смотрят на дверь )))

0

В 2012м всё так и было ж

0

.

0

JAVASCRIPT, JAVASCRIPT, JAVASCRIPT 🤭

0

счас бы в 2007 а не вот это вот все

0
Читать все 36 комментариев
Лайфхак в подборе: как ATS-системы помогают экономить время и бюджет рекрутеров

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

История о том, как я привез в Россию самые продвинутые детские клюшки для хоккея. И чем они такие продвинутые

Привет! Меня зовут Александр Тягалов, очень рад нашему «заочному» знакомству. Расскажу вам о создании особенного бизнеса. Три года назад мы с Владимиром Тронько привезли в Россию и продаем (с каждым годом все успешнее) детские клюшки финской марки VIKKELA. У этих клюшек нет аналогов на Российском и Европейском хоккейном рынке, так что, с одной…

«Хочу супер-пупер мега продукт, начинайте штормить». Разбираемся, как гроуз-хакинг помогает бизнесу расти

Подкаст «Бизнес, роботы мечты» — это клуб предпринимателей, где помогут, если что-то идёт не так; покажут новую цель, если застопорился.

На сайтах с эквайрингом от ПСБ появился Yandex Pay

Покупатели с аккаунтом «Яндекса» смогут оплачивать покупки, не вводя данные карты.

Это Элви Рэй Смит: он мечтал создать анимационный фильм на компьютере, соосновал Pixar, но ушёл из компании из-за Джобса Статьи редакции

Смит создал альфа-канал, который используется в Photoshop и других редакторах, работал в Xerox и LucasFilm и убеждал всех, что за компьютерной графикой будущее, однако всерьез его никто не воспринимал – кроме Стива Джобса.

Что если новый дом вам не нравится? Советы тем, кто переезжает в другую страну, и их менеджерам

Меня зовут Татьяна Карачевцева, в свое время я переехала из Харькова и Киев, а оттуда перебралась в Софию. Здесь уже как HR-менеджер помогла многим коллегам адаптироваться к жизни и работе в Болгарии. Совместив личный и профессиональный опыт, я попробовала собрать подсказки для обеих сторон, вовлеченных в процесс релокации. Какие стадии адаптации…

Штраф 10 тысяч рублей за утерю терминала, который банк забрал сам

Здравствуйте! Пишу про СберБизнес.

Сервис аренды электросамокатов Whoosh начнёт работать в Португалии в феврале 2022 года и вложит в запуск $20 млн Статьи редакции

На старте в Лиссабоне будет работать 2500 самокатов.

Whoosh
Минэкономразвития РФ приняло предложения РСПП по совершенствованию рынка интеллектуальной собственности

На актуализации плана дорожной карты ТДК (трансформация делового климата) «Интеллектуальная собственность» в соответствии с пожеланиями бизнес-сообщества настоял первый заместитель председателя правительства Андрей Белоусов.

Медитация — это Prosto: история самого прибыльного сервиса для заботы о ментальном здоровье
Главная страница приложения Prosto: Медитации и Сон
Эксперимент: оформляем банковские карты без бумажных документов

Оформление затянулось, но проект все равно продолжили развивать.

null