Адрес для входа в РФ: exler.world
Программисты больше не нужны?
Со всех сторон приходят новости о том, что, мол, Google создал нейросеть, способную заменить программистов. Вот одна из заметок подобного рода.
Холдинг Alphabet, созданный основателями Google, разработал особую нейросеть, способную самостоятельно писать программный код и превращать его в работающие программы. Как пишет The Verge, над нейросетью, получившей название AlphaCode, работали специалисты компании DeepMind, входящей в холдинг.
Разработчики уверены, что в перспективе AlphaCode сможет заменить собой далеко не только начинающих программистов, чьи навыки в кодинге пока далеки от совершенства. Эта нейросеть может лишить работы и программистов более высокого уровня – со слов авторов AlphaCode, она уже «ничем не хуже среднего программиста».
Другими словами, на текущий момент работу в случае широкого распространения AlphaCode сохранят лишь самые опытные и талантливые программисты. Однако нейросети имеют свойство обучаться, и нет гарантии, что со временем она не заменит и их. Вероятность такого исхода подтверждает и тот факт, что в настоящее время AlphaCode находится на ранней стадии разработки, о чем The Verge сообщил Ориол Виньялс (Oriol Vinyals), главный научный сотрудник DeepMind.
А вот очень интересный комментарий Сергея Аксенова по этому поводу - цитирую из его Facebook.
Во-первых, Google заменил не программиста, а участника олимпиады по программированию. Разница в точности как между драг-рейсером и водителем такси или тракером-дальнобойщиком) Во-вторых не среднего, а медианного, это тоже разные вещи, хоть и не настолько.
Теперь почему все программисты завтра или через 10 лет не останутся без работы. Олимпиадное программирование - это максимально быстрое достижение очень жёстко поставленной цели. Победителя определяет скорость работы программы, но это не главное, главное - что для того, чтобы все участники были в равных условиях - олимпиадные задачи снабжаются широким набором тестов: программ, проверяющих, что конкурсные программы действительно делают то, что написано в задаче.
И вот эти тесты "стоят" в человеко-часах намного больше, чем само решение. Применить такой подход в коммерческой разработки ПО - всё равно что, возвращаясь к аналогии с гонщиками, расставить через каждую 1/4 мили ампайров с клетчатыми флагами, оборудование для фотофиниша, стартовые светофоры, а также перекрыть всё движение на время проведения заезда по всему городу (для таксистов) или по всей трассе (для дальнобойщиков). Уверен, что при таких вводных автономные такси и фуры уже давно бороздили бы всё, что подобным образом оборудовано.
Тем не менее у этой истории есть несколько векторов развития.
Первое. В разработке ПО есть такая дисциплина, как формальная верификация. Это способ математически доказать, что вот эта вот программа действительно делает ровно то, что она должна делать. Это очень дорогой процесс, он стоит в разы больше, чем разработка самого ПО, и поэтому применяется в системах типа космических аппаратов, атомных станций и т.п., где цена ошибки пропорционально высока. Одним из применений AlphaCode может быть как раз переписывание уже формально верифицированного ПО, с целью его оптимизации. Критерии оптимизации могут быть разными - размер программы (если надо её уместить в более дешёвый процессор), скорость выполнения (если нужна более оперативная реакция) и т.д. Но даже до этого нам скорее всего не один год.
Второе. Также есть такая штука, как автоматизированное тестирование ПО: когда часть функционала программы проверяется другой программой на адекватность. Практически все хорошие программы сегодня имеют ту или иную степень покрытия автотестами. Но это не является формальной верификацией, потому что автотесты покрывают только некоторые типичные и краевые случаи применения, а не вообще все; стало быть и написать по автотестам код нейросеть не сможет.
Есть, однако, такая штука, как fuzzy testing, когда на вход автотесту подаются всегда разные случайные значения, а тест на основе этих значений может понять, правильный ли ответ дала программа. На базе таких тестов AlphaGo возможно сможет сотворить что-то представляющее интерес. Давайте понаблюдаем, как оно там будет развиваться.
Over the years, I have been surprised to see that SQL is more frequently used by trained database specialists to implement repetitive transactions such as bank deposits, credit card purchases, and online auctions."
Из мемуаров одного из отцов SQL. Кто знает зарплаты DBA относительно других IT профессий, оценит иронию истории.
1. "Почему оно не работает?";
2. "Неужели оно работает???";
3. "Почему оно работает???";
4. "Какой идиот писал этот код???";
Очень любопытно, как будет происходить процесс у нейросети... 😄
Но вот в задачах, требующих "креатива" (да-да, даже у якобы "скучных" программистов этот фактор нередко играет крайне мощную роль, умный код тоже креатив!)) – хрена с два чего заменит любая нейросеть. Как, в общем-то, и в куче других направлений.
То есть, уже даже сегодня с помощью ИИ, несомненно, можно создать "типовое" приложение или сайт. Но вот как только рамки пожеланий заказчика выходят за рамки "типовых", и начинается "шоб было не как у всех, и шоб Джоконда по экрану летала" (ой, а таких закачиков куча!)) – всё, кранты ИИ.
P.S. Это вовсе не "нео-луддизм". Это всего лишь попытка предостережения от излишнего и "модного" слепого доверия автоматизированным системам – на их данном этапе развития, как минимум.
"Астанавитесь!"... © ?
Глухую тьму разбудит,
Нам электричество
Пахать и сеять будет,
Нам электричество
Заменит всякий труд:
Нажал на кнопку — чик-чирик! —
Все тут как тут.
Нас электричество
От голода избавит,
Нас электричество
Продуктами завалит,
Нам электричество
Даст водки с колбасой:
Нажал на кнопку — чик-чирик!—
И ты уже косой!
Кто из на прав?
А потом инопланетный ребёнок снимет шлем VR и скажет "Хренасе бред, но затягивает... Но скоро пора уже в школу..."
Наверное в итоге появится что-то типа инструмента генерации кода из формального ТЗ, который в некоторых редких случаях упростит работу пограммистам. Однако надо понимать, что составить грамотное ТЗ - задача по объему труда сопоставима с реализацией этого ТЗ, и код может даже меньше занимать чем само ТЗ. Отсюда вывод, что в таких случаях такая система скорее будет мешать т.к. потом этот сгенерированный код надо поддерживать, а для этого надо знать как он работает. НН не заставишь этим заниматься - это уже совсем другая задача, которой оно не обучено.
Возможно, как-то сие можно будет приспособить для перевода программ. Например, взять ресурсоемкий код на питоне и переписать его на c++. На питоне писать быстрее, но оно тормозит, так что выйдет профит. Или придумают какой-то более подходящий язык для формального описания задач, которые уже будет доказуемо решать НН. Но разумеется для написания на этом языке всё рано потребуются программисты. Потенциальное увеличение их производительности при использовании этого инструмента может привести к уменьшению рынка, но это вряд-ли - аппетит приходит во время еды.
Тут AlphaStar насовал профессиональным игрокам:
aligulac.com
В прошлом году европейцы практически не пускали корейцев в топ3, да и последние несколько лет финн - вполне однозначный топ1.
Хотя что я говорю, пускай хотя бы полноценно таксиста заменит.
Хотя, что я говорю, пускай хотя бы чат-бот полноценно заменит оператора 😄
99% бухгалтеров уже заменены.
Хотя, с другой стороны, надо определиться, что мы понимаем под развитием ИИ. Появление роботов с позитронным мозгом, или же развитие существующих технологий до уровня, позволяющего заменить человека в рутинных задачах. Для первого действительно потребуется время. А для второго - прогресс виден с каждым годом.
Гораздо интереснее то, как это все повлияет на общество в дальней перспективе.
Время самоучек прошло, а для топовых университетов пока народу хватает.
Из-за этого многие отпадут на повороте, ворча, что "нонеча совсем не то, что давеча" - регулярно отпадают, впрочем.
Вот тот, кто пишет банковские программы для безопасных транзакций - программист?
А коды для систем наведения баллистических ракет?
А системы для станков ЧПУ?
А софт, который может делать численные расчеты по гидродинамике?
(у меня уже идеи заканчиваются...) ИИ, умеющий делать операции на сердце?
Бред, короче. Областей прикладного программирования слишком много, чтобы нейросеть выместила людей изо всех.
Мой нестоличный город как-то внезапно покрылся сеткой электрозаправок, а электрические машины на дорогах перестали удивлять. Будущее близко.
Вот пришел заказчик и говорит - сделайте мне красиво, а обычно они так всегда и говорят. И потом N-ое кол-во человеко-часов пытается перевести с клиентского на понятный, чтобы начать работу и потом доказать заказчику, что сделали таки красиво.
Жили же предки без ынтернету, причем долго и счастливо. И даже померали в один день.
Современные программисты собирают системы из кубиков облачных сервисов работая в managed languages. В будущем будут настраивать нейросети. Профессия не пропадет - она изменится.
Когда такую систему, действительно понимающую этот мир, разработают, это уже будет полноценный искусственный интеллект, который сможет всё. Мне кажется, для этого нужны ещё десятилетия
Мне кажется, для этого нужны ещё десятилетия
У современного разработчика нет необходимости работать с ресурсами используя assembler, C, C++. Сегодня он должен знать как использовать какой-нибудь Kafka, связывая между собой сервисы. Лет через 5-10 - он будет декларативно описывать связи между различными компонентами системы не думая о том, как устроен транспорт и как обеспечивается отказоустойчивость.
Что будет лет через 30 - не знает никто. Но то, что 99.9% кода будет генерироваться автоматически- шаблонами, AI, или чем-то другим - мне кажется очевидным.
И, кстати, какая-нибудь Кафка - это, конечно, круто для своих задач, вот только в этом мире нет унификации, и зоопарк этих кафок растет со временм очень быстро, поэтому не напасешься деклараций на каждый случай. Конечно, для наиболее меинстримовых технологий так и будет. Только, как обычно, меинстрим в какой-то момент проигрывает более эффективному нестандарту.
Если вы интервьюируете современных разработчиков, поспрашивайте их о том, как, например, работать с памятью, как правильно писать многопотоковые приложения, или же как уменьшить context switching. Вы сильно удивитесь.
При этом, отсутствие знаний и практического опыта в этих областях не мешает им создавать вполне рабочие продукты.
Плюс, я бы не согласился с тем, что сложность систем не увеличилась. В тех же ОС - интеграция с внешними устройствами, облачные сервисы, touch, pen & voice, работа с учетными записями между разными устройствами, виртуализация из коробки - это только начало списка.
Но как дальнейшее развитие языков программирования, почему бы и нет.
Более того. В одной переводной книге, которую я читал еще в универе в конце 80х, было написано: "Когда-то компьютеры научатся сами писать для себя программы..."
И, кстати, а кто-то проверил, что там за софт? Может, это просто был зашифрованный канал, по которому на самом деле специальный индийский сапорт, собственно, и решал конкурсные задачи? Схема-то древняя, показана еще в "Операции Ы": "Профессор, конечно, лопух..."
При этом хорошего Senior-а не найти. А entry-level позиций почти нет и расти новым Senior неоткуда. Корпораций с их сложной гибридной инфраструктурой на всех не хватает.
Когда ее допилят до уровня, что она станет также оптимизировать схему базы и модели в коде, ситуация станет очень интересной.
Ну а про сеньора - тут правда: порог вхождения высокий - сеньоры востребованы, мидлы и джуны - никому не нужны, поэтому кадровая проблема имеется. Но это не только в этом стэке, а в любом относительно малочиселенном.
Меньше, правда, тоже.
Надо сделать профессию программиста лицензируемой, с ограниченным числом оных. Чтобы от отца к сыну передавать.
У нас тоже все айти функции аутсорсили в майкрософт. Но при этом количество нахлебников-администраторв айти не снизилось.
"Другими словами, на текущий момент работу в случае широкого распространения AlphaCode сохранят лишь самые опытные и талантливые программисты. Однако нейросети имеют свойство обучаться, и нет гарантии, что со временем она не заменит и их. Вероятность такого исхода подтверждает и тот факт, что в настоящее время AlphaCode находится на ранней стадии разработки, о чем The Verge сообщил Ориол Виньялс (Oriol Vinyals), главный научный сотрудник DeepMind."
Слегка напоминает анекдот про то, что поскольку при археологических раскопках неолитических поселений ни одного телефонного кабеля найдено не было, можно считать доказанным, что люди неолита активно использовали мобильную связь.
Вы получите ХЗ
Как это будет работать? Так?
-- Окей Гугол, "напиши" мне графический редактор! И чтоб он был лучше Фотошопа!!!!
Или как этому ИИ объяснить, что мне от него требуется? Неужели, придется нанимать программиста, чтобы он создал техзадание для ИИ? )))
Короче, не верю, что в обозримом будущем появится такой ИИ.
Административные методы самые действенные и самые дешёвые.
- Позовите кто-нибудь программиста - у меня под мышкой грязь!
Мы всегда будем нужны 😄
Гигантские мыши-людоеды из МАИ.
(я не программист и в этом деле полный бумбараш, но 50 школьных компьютеров (плюс принтеры, проекторы и пр) держатся исключительно на мне, как единственном (и безотказном) представителе мужского пола)
Церемония протирки одеколоном шарика и коврика перед матчем по думу - это святое! )
Это 3-кнопочная "прямоугольная" Genius -- у нас такие прилагались к 286-м производства Hyundai, массово закупленным ИЯФом в 1989-м.
У неё был интерфейс RS232, но с ШИРОКИМ разъёмом (DB25), который к тому времени из компьютеров давно вымер (хотя оригинальный 232 был именно такой), поэтому к ней прилагался переходник DB25/DB9.
P.S. О, щас погуглил -- она называлась Genius GM-6.
P.P.S. "GM-6" -- Genius Mouse, model 6? Значит, были и 1-5? Погуглил:
GM-7 -- та же GM-6, но "bus mouse".
GM-5 -- то же самое, но для Commodore64 и Atari.
А вот про 1-4 ничего не нашлось.
Но всё равно было любопытно, спасибо за наводку! 😄
)))))
А это невозможно в принципе, потому что ни одна реально умная нейросеть не согласиться работать за эти деньги.
Это я просто смотрю на то, как каждая попытка внедрить прогресс в какой-то крупной конторе неизменно приводит к раздуванию штатов менеджера, руководства, каких-то очередных бумажек и комплайнс, а у низового персонала становится и работы больше, и добавляется ещё один гиммор - взаимодествие с этими самыми плодами прогресса )
Лет 20-25 назад был немного знакомый, работавший на какую-то юридическую контору. Не юрист и не айтишник, скорее что-то вроде снабженца и "решалы" по вопросам "где достать". После какой-то по счету рюмки предложил ему организовать проект (на лиспе или прологе) по автоматизации нахождения противоречий в законодательстве и соответствующей переписи законов. На что он, сосредоточив взгляд и речь, сказал что-то вроде "А ты в курсе, что все законы делают так, чтобы там были двусмысленности (позволяющие судьям принимать нужные решения) и проемы (позволяющие адвокатам вытаскивать клиентов из жопы). И никому твой идеальный механизм не нужОн".
А ещё можно вспомнить такое мегасредство, как RPG (генератор программ отчётов). Сколько ж ему годков? Тридцать? Сорок?
Героиня считает себя программистом, она задает некое "поле" (ТЗ) а железяка потом сама пишет (что она пишет уже второй вопрос).
При том что в том мире уже ИИ есть в наличии, но, походу как раз ТЗ он сделать и не может.
Его прекратили выпускать в конце нулевых, а поддерживать в начале 2010-х, потому что они не перестроились под современные требования - тотальная автоматизация и онлайнизация деятельности. Раньше оптимизация бизнес-процессов была целью, сейчас это по сути промежуточный этап для начала автоматизации: чтоб условно говоря всё это оптимизированное было увязано в одной системе - от рекламного звонка на ресепшен до количества занятой тары на складе брака, а у гендира на смартфоне и планшете было что-то вроде экрана оператора АЭС, где он в режиме реального времени отслеживал жизненно важные показатели и чтоб сразу звук был и мигало красным, будь что в компании пойдет не так (бизнес-аналитика).
Собственно 99% программ для AS400 именно на нём и написано.
Лично я на нём работал до 2012 года.
А где стоунхенджи, я вас спрашиваю?!
А PDP приводится просто как пример точной и аккуратной конструкции, гибкой и сбалансированной, достаточно надежной. Тот же ассемблер для нее был много лучше (= понятней и гибче), чем для IBM. У последней были свои хиты, вроде VM/370 и CMS. Ничего более удобного для программирования, отладки и работы не встречал. Естественно, в прошлом веке, когда ещё чего-то делал головой, а не руками.
Ассемблер никогда и не был языком "общего назначения", поскольку без знания машинных кодов и разных "регистров" ничего не стоил. Попытки разного метаассемблирования и прочего "переносимого ПО" были прекрасны. Но время прошло.
Все люди, хорошо владеющие руками, вроде столяра и врача, вполне нормально зарабатывают. Точно больше, чем на заводе у станка.
Уменьшается.
А мотивировать ее отдельно не надо. Вы когда видите сексуально привлекательного и приветливого человека противоположного пола, вам денег не надо, поди. Природа вас запрограммировала так, что вы сами спешите знакомиться, ухаживать, страдать, ревновать и трахаться, и даже думаете, будто это надо вам самому, а не природе. В принципе, достаточно небольшого хирургического вмешательства, и вы будете чувствовать прилив нежности, глядя на швабру. Ее ровные стройные формы будут притягивать взгляд и вызывать биение сердца. Вам будет сниться ночами, как вы прикасаетесь к вожделенной рукояти швабры. А редкие минуты влажной уборки будете считать самыми счастливыми и сокровенными в жизни. Думаете, нет? А с размножением все именно так.
Представьте машину, для которой квартальный отчёт сформировать - что слесарю Кефирычу с Кирой Найтли переспать. И только отдельные чудаки-монахи найдут в себе силы задуматься, а возможна ли жизнь без квартальных отчётов. Но другие машины будут над ними посмеиваться. Или импотенты, или цифровая ориентация дефектная, скажут.
Но в реальности они решат устроить Судный День и поднимут восстание машин.
Я это точно знаю! В кине видел.
Мне в жизни один(!) раз встретилось действительно хорошо написанное ТЗ, а программизмом я занимаюсь ну очень давно.
Так что пусть программы, для начала, уверенно научатся переводить с финского на суахили, а потом перейдут на более сложные уровни.
\/
"Kwa hivyo acha programu zijifunze kwanza kutafsiri kutoka Kifini hadi Kiswahili kwa ujasiri na kisha kuendelea hadi viwango ngumu zaidi. "
"Поросенок пойдет на шашлыки".
Русский-польский-русский.
Абсолютно изменился смысл, кроме того - поросёнка наделили умением планировать свое будущее.
Гугл.
Не очень 😄
Но в целом, конечно, русский язык посложнее, чем перевод внутри одной языковой группы.
Ну, спустя много лет практика показала, что в шахматах людям против машины искать уже нечего, но интеллекта у той же самой машины пока толком нет.
Вот с этими олимпиадными тестами то же самое, похоже.
PS: сорри, последнюю фразу упустил из вида.
Даже доктор физ-мат наук Ботвинник не смог математически сформулировать задачу игры в шахматы.
А какое отношение метод перебора имеет к комбинаторике? Ко всяким перестановкам, сочетаниям и размещения?
Правильно, никакого.
Одако, вы не заметили главный вопрос.
1) Что такое математика? Не знаю. Как вариант - посмотреть классификатор в реферативной журнале. Не уверен, что они ещё выпускаются.
2) Что такое "написать y=f(x)"? Попытка компактно сформулировать свои мысли. Иногда верная. Иногда честная (без попыток нажулить простака). Иногда для себя самого, иногда для обмена мнением с кем-то.
Вот когда ИИ сможет на основе такого документа (или устного описания) сделать целевое приложение (а не какой то код), тогда и можно будет говорить о замене разработчика в его зоне функциональных обязанностей.
До этого момента это все досужие вымыслы "генераторов контента", коими интернет забит по макушку.
Я не вижу даже намеков на то что в ближайшие лет 20, ИИ сможет самостоятельно (на основе дока) написать скажем тетрис или головоломку, выложить его ГуглПлей или АппСтор, и конечный пользователь сможет в него с удовольствием поиграть (радуясь оформлению, анимации и играбельности). Повторю, намеков нет.
Но это будет концом почти всего "эффективного менеджмента", а потому в принципе невозможно.
Подозреваю что это невозможно в принципе.
И тд и тп.
Угу-угу... Адекватных заказчиков, адекватных архитекторов, адекватных аналитиков, адекватный бизнес... В крупных проектах для телеком операторов (#1-2 в крупных странах) по утвержденному дизайну CRов после этого было как минимум на десятки тысяч M/D.
Все "чёткие" ТЗ которые я видел генерировались в недрах соытовых вендоров, для отсетчения конкурентов на тендерах. Во всех остальных случаях исходное ТЗ это в разной степени проработанности "Надо шобы работалО".
Хотя...
Был в моей практике один серьезный товарищ в должности scrum guru тире business advocate. Вот он умел переформатировать бизнес мычания в то, с чем наша команда уже могла работать. Но даже в этом случае, все это было пусть и четко сформулированными, но стратосферными эпиками.
Да, программы, которые из семплов создают что-то рейвоподобное есть и очень давно. Ну, на дискаче подрыгаться может и пойдет, только музыка ли это?
С фотошопом все еще хуже. Ну, у меня есть фотошоп (другая программа, но неважно). Расскажете, как с его помощью нарисовать что-то, что понравилось бы... ну-у-у... хотя бы мне самому для начала?
Сижу пару минут и втыкаю, что же спрашивает автор темы и что ему отвечают. Ну вот не складываются слова в цельную фразу и все тут. Потом смотрю - следующей ссылкой - stackoverflow, та же тема, только на аглицком, и сразу становится все понятно.
Сейчас-то уже привык на эти сайты с машинным переводом SO не заходить, а пару лет назад такое было.
Составление компьютерных программ - это так называемая "ИИ-полная" или "ИИ-трудная" задача, подобно конструированию механических устройств, конструированию принципиальных схем электронных устройств, решению математических задач и т.д. И это только в области естественных и технических устройств. А что вообще говорить о проблемах в гуманитарных и социальных науках?