Как стать автором
Обновить

Комментарии 68

Я прочитал вторую часть по диагонали.
Автор ничего не говорит про бизнесовые требования, по моему. Которые роботы пока не умеют переводить в код. А программисты умеют.
Есть ли движения в эту сторону?
он уделил этому последний абзац. По сути все программирование — это реализация бизнес-требований. Ты делаешь что-то, что придумали люди.
О, действительно.
Но, мало, конечно. И непонятно, насколько оно всё таки перспективно.
Заменят ли роботы программистов?
не раньше, чем появится формальное ТЗ на «робота — программиста»
Смотря каких программистов. Есть «программисты» — белковые версии Automatic solution finding из статьи. Их то вполне могут.
Заменят ли роботы программистов?
Конечно заменят. Но никак не ранее, чем смогут полноценно понимать смысл, изучат человеческую культуру, арифметику, приобретут еще сотни необходимых навыков. То ест пока не появиться полноценный ИИ. По моим ожиданиям это произойдет не ранее чем через 20 лет. А скорее всего лет через 300. Основной сдерживающий фактор — фантазия продавца, вранье мошенника ставшего во главе чего либо. Это когда построения из веревок и палок начинают выдавать за полноценные ИИ решения.
А вообще, как можно всякие тупые генераторы, модификаторы кода работающих в некоторых очень отдельных рутинных местах сравнивать со всем процессом программирования?
Полностью, кажется, нет, но большинство программистких задач выглядят вполне автоматизируемыми, причем на горизонте не 300, а скорее, тех же 20 лет.

Кстати, очень интересно, как изменились "типичные задачи программистов" за последние 20 лет?

Да они особо и не изменялись.
Нейронные сети, в развитии которых сейчас настоящий бум, позволяют снять главную проблему автоматизации работы программиста — необходимость строгой формализации работы. Т.е. то самое «программирование программирования». ИИ при должной интеграции в инфраструктуру уже сегодня может взять значительную часть работы на себя. Допустим, по голосовой команде а-ля «проведи исследование бага #334»- склонировать репозиторий, построить версию софтины, попробовать воспроизвести баг (не всегда, но в большинстве случаев STR все же простые и потенциально хорошо поддающиеся автоматизизации), если получилось, то подготовить дампы с коллстеком, и даже с кратким резюме, вроде «В месте краша нулевой указатель, возможно, объект был удален, — вот вам список мест, где происходит удаление объектов этого типа, брейкпонты в IDE поставлены, в места, где происходит создание-удаление, добавлено расширенное логирование.». Понятно, что это утрирование, и программист все равное будет нужен, но большая часть рутины будет снята, программист сможет быть намного более производительным, и общая потребность в людях снизится.
Да они особо и не изменялись.

Давайте без ИИ ))). Вот сейчас, в основном, мне так кажется, этот транспорт (различные API) и клиент/фронт (рюшечки при взаимодействии с пользователем). Все что в классике программирования есть — уже есть в различных фрэймворках, библиотеках, ORM и т.д. А лет 20-30 назад многое писалось с нуля. И многое даже на Ассемблере. Интересно сколько процентов сейчас пишут на Ассемблере? А 20-30 лет назад?
Так же интересно, сколько в процентах и штуках программистов было 20-30 лет назад и сейчас?

Программистом будет машина, а нынешние программисты станут "операторами программиста".

НЛО прилетело и опубликовало эту надпись здесь

На моей памяти уже лет 20 как с завидной периодичностью поднимается вопрос о том, что труд программиста вот-вот станет ненужным, и даже инструменты для этого появляются. И всё это время спрос на программистов только растёт. Сомневаюсь, что именно следующие 20 лет что-то кардинально изменят…

Не могу не вспомнить классику.

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



За последние десятилетия программисты видели массу инструментов, которые предположительно должны были устранить необходимость программирования. Сначала это были языки третьего поколения, потом — четвертого. Потом — автоматическое программирование. Потом — CASE-средства. Потом — визуальное программирование. Каждое из этих достижений привносило значительные улучшения, и общими усилиями они сделали программирование абсолютно неузнаваемым для тех, кто изучал его до этих нововведений. Но ни одна из этих инноваций не устранила программирования как такового.

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

Нам всегда будут нужны люди, способные заполнить брешь между задачей реального мира, которую нужно решить, и компьютером, предназначенным для решения этой задачи. Эти люди будут называться программистами независимо от того, манипулируют они машинными регистрами на ассемблере или диалоговыми окнами в Microsoft Visual Basic. Пока у нас есть компьютеры, нам будут нужны люди, которые говорят компьютерам, чтó делать, и эта деятельность будет называться программированием.

Когда вы слышите заявления о том, что «новый инструментарий устранит необходимость компьютерного программирования», бегите! Или хотя бы посмейтесь про себя над этим наивным оптимизмом.
— Совершенный код 30:6
Кажется, дело в самом Хабре — написала свой коммент, и тут же половина комментариев куда-то пропала, хотя общее число в статистике отображается верно. Остаётся ждать, пока Хабр разглючит обратно.
Первым и, кажется, самым забавным случаем присвоения этого ярлыка, был язык Fortran. Fortran задумывался как средство, которое даст ученым и инженерам возможность просто набирать формулы и, таким образом, обойтись без помощи программистов.

Матлаб/Маткад? Мы просто перестали замечать как часто и как много уже без программистов. Вот потребовалось бы какому математику визуализировать какой-либо график, лет так 30 назад — как без программиста, а сейчас даже Эксель много чего умеет. Появилась куча других визуальных редакторов, вопрос в том, что задачи усложняются. Думаю что какой-нибудь современный Вордпресс и/или Джумла позволяют сконструировать (собрать) сайт без программирования, и этот сайт будет очень хорош по меркам 10-15-летней давности, но сейчас увы, требования растут. Хотя, для каких-то проектов и сейчас будет не плохо, и того что из коробки будет достаточно.
Например, всем известная бухгалтерия решает задачи десятков, наверное даже сотен тысяч бухгалтеров из коробки, без программистов. Можно настроить и процент НДС, и налоги, и сдать отчетность, и отправить платежку и т.д. и т.п. Конечно есть тысячи бизнесов которым нужна "особенная" бухгалтерия и им без программистов ни как, но сотни тысяч обходятся без программистов — просто делают настройки.

А что, малтаб, джумла и «известная бухгалтерия» появились без участия программистов?
В начале 20 века, чтобы ездить на автомобиле, нужно было обладать навыками автомеханика — уметь автомобиль разобрать, починить и собрать обратно. Сегодня совершенно не обязательно быть автомехаником, чтобы ездить. Значит ли это, что автомеханики сейчас совсем не нужны?

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

пишут программы которые избавляют от необходимости писать программы

Не так. Пишут программы, которые помогают им быстрее и лучше писать другие программы. Практически все примеры из статьи именно про это.
всем известная бухгалтерия решает задачи… без программистов

посмотрел на 1С-ников (вторую по популярности после JS специализацию), посмотрел на ваш комментарий, снова посмотрел на 1С-ников.
Вплоть до того, что я лично знаю компанию, в которой 1С-ников примерно столько же, сколько и бухов.
Еще раз, пожалуйста, без кого там эта программа решает задачи?
Приближаются времена, описанные Олегом Палеком в «реальной виртуальности». GPT-4 сможет написать средних размеров утилиту просто по техзаданию. Вангую появление такого онлайн-сервиса, вроде голосового ввода Гугла… такого же глюкало.
Позвольте спросить, куда делась половина комментариев под этим постом?
Странно, мы никаких комментариев не удаляли. Можете пояснить, что именно имеете в виду?
Какие-то адские глюки сегодня на Хабре, комментарии произвольно исчезают и снова появляются, причём иногда без внесённых правок. Отвечаю по прямой ссылке на другой исчезнувший комментарий. :)
Это уже не первый раз, было такое несколько дней назад, не думал что такое можно не заметить со стороны админов.
P.S. похоже на машину времени, комменты начинают частично появляться в хронологическом порядке.
Комментаторов скоропостижно заменили роботы.
Не помню где, но читал хорошее объяснение по этому поводу:
— программирование скоро исчезнет
— и что будет вместо него?
— надо будет только сделать для ИИ полное и исчерпывающее описание нужной тебе программы и он сам её сделает
— а ты знаешь, как называется создание такого исчерпывающего описания?
— как?
— программирование.
Программирую:
— Джарвис, сколько времени займет создание одного экземпляра автомобиля на, скажем, воде в качестве топлива, со скоростью движения до 150 км\ч и полной массой 2 тонны? Полный привод.
— 12 часов и 46 минут.
— ОК, приступай, и не забудь покрасить красненьким.

Хотя при таком ТЗ можно получить нечто с водяным колесом как у мельницы, с двумя колесами, но ведь всего-лишь надо будет поправить ТЗ…
Это просто очень высокоуровневый ЯП.
В этом и кроется фундаментальная проблема.
Что высокоуровневые инструменты, с которыми смогут работать люди без специальной подготовки, захватят мир?
Главная проблема высокоуровневости — абстракция. Одну и ту же вещь можно интерпретировать несколькими способами. Чем более высокоуровневый язык, тем шире возможна интерпретация для высказываний построенных на этом языке.

«высокоуровневые инструменты, с которыми смогут работать люди без специальной подготовки, захватят мир?» — если назначением таких инструментов являются решение элементарных задач в той или иной области, тогда да.
Для начала, Джарвису кто-то должен понятно объяснить, что такое «автомобиль» со всеми его «типовыми» характеристиками, что такое «топливо», что в себя включает "до 150 км\ч", ну и наконец, что такое «создание» :)
А после этого, надеяться, что всё нужное ему для расчётов есть в свободно опубликованных базах данных.

А то я прямо вижу, через 12 часов получаешь:
— тележка без поворотных колёс, метр на метр (под английское car вполне подходит)
— работающая на баллоне со сжатой водой (на воде же)
— со скоростью 2 км/ч (это до 150)
— свинцовым утяжелителем (массы до 2-х тонн не хватало)
— запасом хода 200 метров (про него в ТЗ не указано)
— в виде просчитанного, готового к изготовлению чертежа

Ловите тестировщика. :-)

Джарвису кто-то должен понятно объяснить

Пусть сам гуглит, его же еще не забанил Гугл. (с) :)

И вообще 12 часов готовности он же должен был откуда-то взять, значит, видимо, уже нагуглил все этапы решения задачи
на баллоне со сжатой водой

Это, мягко скажем, очень неэффективно в принципе и AI должен будет об этом упомянуть. :)

Для развития всегда нужен будет живой человек, ведь робот не сможет создать другого робота, который будет более развит. Л — логика

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

Давайте у роботов и спросим

У GPT3?

Робот не сможет заменить человека до тех пор, пока не научится смеяться над шутками начальства и сваливать свои ошибки на другого робота)))
Заменят ли роботы программистов?

Закон Беттериджа. Ответ — нет.

Атомы, электроны, валентность, молекулы, клетки, хим взаимодействия… ой! Мозг получился! Да мы простейшие автоматы, только создавались миллионы лет, а пытаемся понять, как мы устроены, всего сотню. Конечно человек скоро(?) изучит сам себя и сделает аналог

Полагаю, разговор не серьезен. Роботы не могут заменить даже копирайтеров, генерирующих описания карточек товаров посредством мониторинга описаний на других сайтах. Хотя казалось бы… Так что, пока не появится робот заменяющий дншевого копирайтера, программистам можно не беспокоиться. У них будет только больше робопомощников

Хм… Почитайте про gpt-3, много интересного узнаете

Мне имхуется, что отдельных программистов смогут заменить автоматизированные средства. Но вот разработчиков — нет. Потому что в понятие разработки я включаю больше, чем в понятие программирование: сбор, формализация требований; разработка моделей (сущностей, баз данных, экранов, отчётов, whatever); программирование; сдача заказчику.
Шаг программирования — для типовых задач — может быть автоматизирован в значительной доли.
Роботы и сейчас без особого труда смогут заменить кодировщиков, программистов — только в далеком будущем.
Заменят же, это вообще не вопрос.

Обсуждать можно лишь детали, — как этот процесс будет равернут во времени, и какие у него будут особенности.

И да, конечно же это будет не «через 300 лет, или возможно вообще никогда», это вообще колоссальный уровень непонимания, как устроен Мир. Все это случится гораздо раньше.

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

Ещё 100 лет назад вас бы сожгли на костре за предположение что машина будет ехать сама, и не просто катиться с горы, а ещё и внятно поворачивать. 50 лет назад за «шоб иконки мышкой нажимать» отправили бы на 25 лет строить БАМ без права переписки. Сейчас, конечно, мы малость топчемся на месте, утилизируем мощности в майнинг или в кривонаписанный софт (для работы которого вполне хватало 1 ядра и 1.6ГГц ещё 10 лет назад, а теперь не справляется и 12 ядер по 5ГГц), но процесс идёт.
Очень вероятно что многие процессы не автоматизируют только из расчёта «Куда девать безработных». А в плане конкретно программистов — я вот помню время, когда в грязной спецовке можно было открывать любую дверь ногой и даже самый заблатыканый дядя с кабинетом инкрустированным красным деревом прямо в золотую мебель становился на носочки и любезно предлагал «кофи и хенеси», просто потому что за спиной у тебя табуретка, перфоратор и моток лапши. Всего 20 лет прошло, а на связистов сейчас смотрят как на @вырезанослово@. Примерно та же ситуация через 10 лет случилась с «системными администраторами». Из добродушных свитерастых ребят к которым нужно обращаться только на «балтика7исухарики» всё скатилось в «пускай челядь под столом ползает и мышку втыкает, оно на это там и сидит в обнимку с сервером в подвале». Те кто успел выпрыгнуть из поезда вовремя всё ещё на плаву, но задач к ним добавилось. Так что не за горами тот час когда в сеньёрных вакансиях разработчиков появятся строчки: пайка ВОЛС, прокладка ЛВС\СКС и видеонаблюдение, администрирование делфи, руби, с++ или РНР (код будет писать программа, «разраб» будет следить за процессом).
Да и загадывать на 300 лет горизонт в наше время вообще вещь не благодарная, тут и 10 лет уже как другая эпоха.

У текущих админов, которые теперь уже девопсы зп иногда побольше чем у директора

100 лет назад был XX век с аэропланами, автомобилями и танками. Прежде чем пугать кострами инквизиции стоит хотя бы посмотреть на календарь и в википедию.

Кодингом я занимаюсь процентов 20-30% времени от силы. Остальное — уточнение требований, обсуждение, подумать над архитектурой, метрики, настройка сборки и всё в таком духе. Короче, когда появится сильный ИИ, тогда нас выпнут с работы. Пока — это всё лишь удобные инструменты, снимающие рутину, но не более

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

По вашему скорее выходит, что с появлением ИИ-программиста вы будете вот этим:


уточнение требований, обсуждение, подумать над архитектурой, метрики, настройка сборки и всё в таком духе.

заниматься уже не 70-80% времени, а все 100.

По мне так просто автоматизируется очередной уровень абстракции. И программисты перемещаются на новый, более высокий. К примеру, автоматизируют ООП (только недавно статья вышла, что робот пишет на джаве), мы переместимся в аспектное программирование и придумаем для этого новые инструменты и в конце напишем робота и для него, и так рекурсивно, до архитектуры. А там еще уровней придумают. Это скорее в плюс, сложные решения требуют меньших затрат, а программистам легче живется на высоких уровнях абстракции. И бизнес меньше денег теряет.
Немного не в тему: замена происходит (уже) не на уровне кодинга, а на уровне решения задачи. Не автоматизация вожжей убила гужевой извоз.
Сын работал в датской компании в Британии, занимающейся логистикой судовых перевозок. Так целый отдел программистов закрыли, потому что нейросеть разруливала вопросы лучше, чем программы, которые они писали и непрерывно, под меняющиеся условия, переписывали. Правда, ей 700gb оперативки не всегда хватало :-)
а можно подробнее про этот кейс с нейросетью? Звучит как то, что могло бы быть очень интересной статьей на Хабре! )

(И пока — как то, что стоило бы перенять многим; как некоторая часть нашего будущего (как минимум — одного из его этапов).
Я знаю только в общих чертах, сын пересказывал больше про то, что 700гб оперативки не хватало. Да и не работает он уже там, вскоре начался брекзит, и датская компания перестала быть надёжным местом работы. В целом — оптимизация перевозок, каким судам как и где груз забирать, где и как разгружать. Обычная транспортная задача.

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

Не могу ничего утверждать, по причине отсутствия информации, но похоже, что там очень сильно косякнули с архитектурой.

Замена людей ИИ вообще очень непростой воспрос с точки зрения экономики. При такой замене ИИ не будет получать деньги и не будет их соответственно тратить. Таким образом налицо упадок товарооборота и соответсвенно экономики в целом, а значит и прибылей бизнеса что есть нонсенс при текущем устройстве государств.

А зачем ИИ писать программы? Программы решают задачи/проблемы поставленные людьми. Так вот, зачем ИИ писать программу, если он просто может решить проблему/задачу? типа «Посчитай налоги», «Рассчитай траекторию полета на марс», «Контролируй температуру в доме», «Поиграй со мной в шахматы, но уровне чтобы мне было интересно», «регистрируй звонки и записывай людей на прием, сегодня на человека выделяй 30 минут». Сегодня для всего этого нам надо писать программы, но ИИ то просто будет выполнять задачи.

Есть разные типы задач. Строго формализованные задачи, в которых должен быть четкий порядок сможет написать программист. Именно их вы и перечислили. А вот ИИ насколько мне известно в текущий момент это называется машинное обучение — имеет вероятностную природу. Т.е. вобщем то он для другого нужен, там где надо действовать в условиях неопределенности и находить оптимальное решение. Например строить прогноз рынка, детектировать свойства обьекта на изображении, различать текст в аудио, выявлять аномалии в сигналах датчиков

Строго формализованные задачи

Да на самом деле строго их формализовывать надо чтобы перенести на язык программирования. Но с появлением полноценного ИИ, во что я кстати не верю=), мир кардинально изменится. Программирование сейчас помогает во всех «интелектуальных»(офисный и не очень планктон) областях и помогает заменить 10 бухгалтеров со счетами на 1 с 1С. Если ИИ заменит программистов, то он автоматически заменяет всех всех офисных и не очень работников. Я даже не знаю, что людям то останется. Роботы будут обслуживать сами себя, выполнять всю всю необходимую работу, уставшими приходить домой и заваливаться перед ТВ=) Вобщем как только робот заменит программиста наступит полная автоматизация всего.

А вот ИИ насколько мне известно в текущий момент это называется машинное обучение

Я конечно не о таком ИИ, я не работаю в этой области и может быть могу что-то оценивать не верно, но я бы машинное обучение в текущем виде и ИИ не считал.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий