Comments 333
P.S. Картинку для поста сделал через ИИ :-)
На картинке в словосочетании "codde themself" сразу две ошибки. Это ИИ постаралась или промт? В любом случае хорошо характеризует суть возражений к сабжу.
На картинке в словосочетании "codde themself" сразу две ошибки
Это всего лишь мнение белковой формы жизни.
Более того, это мнение устаревшей белковой формы жизни.
Современные белковые формы жизни думают иначе
![В ответ на что я пожелал новой белковой форме жизни полететь в отпуск на самолёте, спроектированным новым инженером, у которого все пятёрки. В ответ на что я пожелал новой белковой форме жизни полететь в отпуск на самолёте, спроектированным новым инженером, у которого все пятёрки.](https://habrastorage.org/getpro/habr/upload_files/af5/7e9/618/af57e9618514da8302ba6da0c2f3be34.png)
В ответ на что я пожелал новой белковой форме жизни полететь в отпуск на самолёте, спроектированным новым инженером, у которого все пятёрки.
Это вы про Boeing?)
анекдот в тему
Группу профессоров-инженеров пригласили полетать на самолете.
После того как они удобно расселись, их проинформировали, что самолет построили их студенты.
Все, кроме одного, рванули к выходу в панике.
Оставшегося профессора, спокойно сидящего на своем месте, спросили:"Почему вы остались?"
«Я полностью уверен в своих студентах. Зная их, могу вас заверить, что этот кусок дерьма даже не взлетит».
Все делают ошибки. Но одно дело - какое-нибудь редкое правило пунктуации, названия которого даже не вспомнишь. И совсем другое - причастный и деепричастный оборот, который встречаются в каждом втором предложении. При этом даже троечник не сделает ошибку "жи-ши" или "чк-чн".
Поэтому забавно, что идеальной грамотности требует человек, который пишет "на самолете спроектированнЫм", ведь должно быть "спроектированнОм"
Вы абсолютно правы. Это, к сожалению, следствие фичи хабра, запрещающего редактирование комментария по прошествии некоего времени. Я его раза три переписывал, и в какой-то раз случайно оставил слово из предыдущей версии, а когда заметил, исправить стало уже невозможно. Так что "бей Чапая, не жалей".
который встречаются
Вы прямо нашли друг друга ))
После "самолете" запятой не хватает. А вообще, была бы встроенная проверка орфографии в форме, в которой комментарий набираешь, это хоть как-то помогло бы. Хотя, не очень в это верится. Тем, для кого "здесь не экзамен по русскому языку", лень будет даже внимание обращать на подчеркнутые красным слова.
Так даже заголовок написан с ошибками - ни знаков препинания, ни выделения прямой речи.
В первом же предложении пунктуационная ошибка.
Да-а-а. Лучше уж ИИ, чем такие писатели.
А промтом я сделал сам текст поста. И попросил ChatGPT сделать картинку, визуализирующую этот пост. На ней было много текста и я попросил полностью убрать текст и добавить в уголок медведя. И вышла указанная картинка.
Собственно самое сложное - это сделать так, чтобы текст он все-таки убрал. В этот раз уже не стал его дальше этим мучать. А то он в нем пока часто ошибки делает и только на англ. языке текст хоть капельку вменяемый выходит. Делал через ChatGPT 4.0.
Это экспромпт.
Добби свободен!
А гендиректор Нвидиа, наверное, крупный специалист в машинном обучении? Или так, нанятый менеджер?
Его не нанимали, он один из основателей NVIDIA. Ко всему прочему, он раньше сам работал инженером.
Гендир Nvidia говорит айтишники скоро будут не нужны
Айтишники говорят, что гендир Nvidia скоро будет не нужен. Его заменят небольшим скриптом.
А гендиректор Нвидиа, наверное, крупный специалист в машинном обучении?
Прежде всего, ему нужно продать побольше видео карт для машинного обучения.
Дженсен Хуанг утверждает, что программистами, при помощи нейронок, должны стать все
"Программирование - вторая грамотность" было сказано много лет назад, как-то поголовного программирования не заметно.
https://habr.com/ru/companies/timeweb/articles/729960/
а самый важный скилл, который нужно приобрести — промпт-инжиниринг.
"Промпт-инжиниринг" - это просто очередной ЯВУ. Стал C++ или SQL "самым важным скиллом"? Стали ли после их появления не нужны программисты на Ассемблере?
Стали ли после их появления не нужны программисты на Ассемблере?
Сколько сейчас в мире программистов, которые хотя-бы половину времени программируют на Ассемблере? Какой это процент от общего числа программистов?
То есть это конечно не так что программисты на Ассемблере вообще больше нигде не нужны. Но если в будущем у нас будет такое же соотношение "обычных программистов" к "промпт-инженерам", то....
Я писал приблизительно то же самое, но догадался обновить страницу - вы все правильно написали раньше. Ассемблер, по моему дилетантскому мнению, в обозримом будущем никуда не денется качественно. А вот количественно, из своей уютной ниши контроллеров (из CPU общего назначения его глобально выдушили намного раньше), его на отлично выдушивают C-подобные языки. Это не значит, что ассемблер не нужен - нет. Это значит, что он нужен редко, в относительно нетипичных случаях, и пользуется ним ничтожное, в процентном отношении, количество специалистов. Ну а чем выше уровень абстракции, тем ниже порог входа - промпт нейросети это очевидно качественно более высокий уровень абстракции, чем любой язык высокого уровня. Игру, которую джва года ждали - где можно набигать и грабить корованы, нейросеть пусть несколько упрощенно, но уже написала. Есть основания предполагать, что дальше будет лучше. А ассемблер останется уделом кучки узких специалистов, работающих ближе к железу в общем и решающих какие-то частные вопросы, включая дизассемблирование. По сути, как и сейчас, только расслоение еще больше усилится.
Мне кажется, авто имел в виду C-подобные языки. Было бы странно писать на C и не понимать, как работает ассемблер.
Было бы странно писать на C и не понимать, как работает ассемблер.
Вполне нормально так делать. Ассемблер - это человекочитаемая запись машинных кодов + немного сахара. С до этого уровня не опускается.
Не очень понимаю, что значит «не опускается до этого уровня». C - это и есть ассемблер, только в более читаемом виде…
Кстати, ассемблер - это не запись машинных кодов. Он потом компилируется в машинные коды, как и многие другие языки.
C - это и есть ассемблер
В ассемблере нет типов — в Си они есть, так что уже по этому параметру он не ассемблер. Если писать на Си с использованием goto, то большинство сишников скажет, что ты ненормальный, а на ассемблере это прямо база. Уж не знаю откуда пошли эти разговоры, возможно со времен всяких PDP-11, когда Си можно было прозрачно в уме "компилировать" в его ассемблер, а потом они поддерживались мнением, что низкоуровневое программирование это круто, но сегодня, с учетом количества архитектур, под которые можно писать на Си, это уже слишком большая натяжка.
Если коротко - зависит от компилятора.
Ну я это и хотел сказать. Причем зависимость от компилятора видна даже в том частном случае, когда программа скомпилирована под старый Интел с флагом -m32 и на простых конструкциях, еще без применения всяких MMX, SSE, AVX. В общем же случае, в современных реалиях результат компиляции будет для программиста не таким уж предсказуемым. Тут правда еще отдельный вопрос насколько ASM код соответствует реально выполняемому коду, но Си от него в любом случае отстоит еще дальше.
C - это и есть ассемблер, только в более читаемом виде…
Все языки немного ассемблер ;) На входе буквы, на выходе исполняемый код. Но если вы написали на ассемблере >2 строчек, то разницу между ассемблером для atmega и x64 вы увидите, а разницу в С можно и не рассмотреть.
C - это и есть ассемблер, только в более читаемом виде…
По общепринятой терминологии ассемблер - это человекочитаемое представление машинных кодов и всякие мелкие удобства компилятора, которые в принципе далеки от обязательных, но повышают производительность труда программиста. Машинные коды это то, что физически делает процессор в арифметико-логическом устройстве, включая но не ограничиваясь битовыми операциями, это регистры, флаги, адресация памяти и тому подобное. Можно писать сразу в машинных кодах, только это неудобно из-за отсутствия человекочитаемости, поэтому и существует ассемблер, плюс компилятор помогает автоматизировать некоторые вещи вроде объявления переменных, расчетов адресов входа в подпрограммы и возврата из них, подключения библиотек. Читать машинные коды так же неудобно, поэтому существует дизассемблер. Трудно сказать, что вы находите общего с этим всем у C, чего достаточно для объявления их тождественными.
Хорошо, зайду с другой стороны. Можно писать на ассемблере, скомпилировать, потом дизассемблировать и получить ровно то же самое, что вы писали - кроме человекочитаемых наименований переменных, конечно, потому что вы их пишете для себя и они очевидно не компилируются. И так сколько угодно раз туда-сюда - результат будет один и тот же. Проделайте то же самое с C.
Программист на C обязан иметь представление о том, как программировать на ассемблере. Это включает в себя понимание как работает процессор, память, стек и т.д. Необязательно уметь написать небольшую программу на ассемблере без справочника. Достаточно лишь один раз в жизни пройти какой-то небольшой вводный курс с написанием нескольких заданий.
Не имея этого понимания гораздо сложнее программировать на С, потому что оно совсем не так далеко ушло от машинного уровня, как вам кажется. Без этих знаний можно очень долго удивлятся, почему при выходе за границу массива у вас портится значение локальной переменной и многим другим приколам поведения ваших программ на C.
Т.е. конечно, можно и так программировать и тупо выучить кучу заповедей, как делать нельзя, но это очень неэффективно и потолок развития у такого программиста весьма ограничен.
Для чего программисту МК, пишущему на C/C++, знать, как работает стек?
почему при выходе за границу массива у вас портится значение
А зачем писать программу так, что в ней допустим выход за пределы массива? Это не прикол поведения, а банальный баг, которые в любом языке не очень-то допустимы.
можно и так программировать и тупо выучить кучу заповедей, как делать нельзя, но это очень неэффективно
Не очень понятна мысль. Эффективнее понимать, что происходит при выходе за пределы массива, и допускать выдачу такого кода, чем "тупо выучить кучу заповедей", но зато писать программы без таких ошибок?
Для чего программисту МК, пишущему на C/C++, знать, как работает стек?
Ручное управление памятью потому что. Какие-то переменные размещаются в стеке, какие-то в куче.. Есть разница. А если для MK, там еще более низкоуровневых приколов хватает.
Для программиста на python это не требуется.
Ручное управление памятью потому что
Ну вот программа, написанная на C/C++, разместила какую-то переменную на стеке. Зачем знать, где эти данные реально находятся? Кто-то вручную лазит в память, где стек находится, и что-то там подменяет? А зачем такое делать? Или о чем речь?
Зачем знать, где эти данные реально находятся?
Ну, чтобы не вернуть указатель на эти данные, например.
ИМХО, это как раз из разряда "надо тупо зазубрить, что нельзя из функции возвращать указатель на локальную переменную, объявленную внутри функции". Но в целом согласен.
надо тупо зазубрить
Можно зазубрить, но лучше все таки понимать. А то следующим шагом можно c_str() вернуть ;)
Тупо зазубрить - это условно. Есть книги с рекомендациями по правильному написанию кода. Они реально помогают.
Справочник с обьемом красных резиновых шариков вещь полезная. Но интегрирование по обьему он не отменяет.
Справочник с обьемом красных резиновых шариков вещь полезная. Но интегрирование по обьему он не отменяет.
Как инженер, я предпочту быструю оценку по справочнику, потому что важно оценить порядковые величины и понимать погрешность оценки - точно помещаемся, точно не помещаемся или нужно считать. Как научный сотрудник, который возможно и пишет эти справочники, я конечно должен рассчитывать объем каждого красного шарика, а также зеленого и синего - у них, в зависимости от цвета, своя отдельная методика расчета. Все ради того, чтобы дать инженерам инструмент для их работы, а не вынуждать их погружаться в прикладную науку. Считайте это моим плюсом вашему комментарию.
Есть разница.
Я бы даже сказал — есть нюанс...
Для чего программисту МК, пишущему на C/C++, знать, как работает стек?
Чтобы не появлялись потом квадратные глаза, когда программа ведет себя вообще странно.
А зачем писать программу так, что в ней допустим выход за пределы массива?
А зачем на машине врезаться в деревья/другие машины (в контексте ремней безопасности)? Вообще странный вопрос. Ошибки при написании программ будут. И понимание как работает стек и все остальное позволяет многие из них легче диагностировать и исправлять. Также это позволяет допускать меньше ошибок. Например, становится очевидно, что не надо возвращать указатель на локальную переменную и без зубрежки всего стандарта C++.
> Эффективнее понимать, что происходит при выходе за пределы массива, и допускать выдачу такого кода, чем "тупо выучить кучу заповедей", но зато писать программы без таких ошибок?
В последнем предложении прошлого абзаца привел пример. Очень много "заповедей" из стандартов напрямую выводятся из поведения процессора. Поэтому можно выучить лишь несколько заповодей и понимать, как работает процессор, вместо выучивания "кучи" заповедей. Это эффективнее.
ИМХО, скорее важно знать хотя бы примерно, как устроена память, регистры и т.д. А также понимать, что такое битовая маска, что деление и умножение на 2 можно сделать сдвигом и т.п. При этом, вовсе не обязательно уметь писать код на ассемблере. Современные компиляторы C/C++ делают весьма эффективный код. Который легко соберется под другой МК в той же Arduino IDE, например.
Если у вас есть все это понимание, то вы уже фактически умеете писать на ассемблере (со справочником). Только названия команд вам нужно будет найти.
важно знать хотя бы примерно, как устроена память, регистры и т.д. А также понимать, что такое битовая маска, что деление и умножение на 2 можно сделать сдвигом и т.п.
Именно это я и сказал...
Но если в будущем у нас будет такое же соотношение "обычных программистов" к "промпт-инженерам", то....
... ничего принципиально не изменится :)
BASIC, FoxBase, Ada и ещё целая кучка иже с ними - где программисты на этих языках? А споры про то, что программисты на Java/TypeScript не настоящие программисты? Также и промптщиков будет множество всяких разных. Просто когда-то люди поднялись от Ассемблера к С++, потом к DSL. Теперь к промптам. И вполне возможно, что кончится это всё вообще тем, что промпты повторят судьбу Бейсика, просто выполнив свою определённую историческую роль.
ничего принципиально не изменится :)
Принципиально изменится то, что программистов станет исчезающе мало. Даже если большинство из нынешних сможет переквалифицироваться а "промпт-инженеров", то это всё равно будет означать что товарищ из статьи оказался прав.
И ещё раз уточню:я не считаю что он обязательно прав, просто именно ваша аналогия скорее доказывает что он прав.
программистов станет исчезающе мало
Почему?
Даже если большинство из нынешних сможет переквалифицироваться а "промпт-инженеров"
Чем отличается "промт-инженер" от программиста? Ну сменится инструмент и что?
Принципиально изменится то, что программистов станет исчезающе мало.
Инструменты, позволяющие создать сайт без знаний программирования, доступны уже много лет. В самой разной форме. Стало ли исчезающем мало web-разработчиков?
то это всё равно будет означать что товарищ из статьи оказался прав
Не совсем :)
Дело в том, что Вы точно также противопоставляете программистов "в вакууме" и промпт-инженеров "в вакууме". Рассмотрите ситуацию немного шире. Допустим, у нас когда-то давно было 100 программистов на Ассемблере. Потом появился С и 80 из них перешли на него. Стало ли программистов на Ассемблере меньше? Очевидно, да. Изменилось ли общее число программистов от смены инструмента? Говорили ли оставшиеся Ассемблерщики, что Сишники не настоящие программисты? (ещё как говорили :) а уж какие холивары DOS - Win95 были.....)
Инструменты, позволяющие создать сайт без знаний программирования, доступны уже много лет. В самой разной форме. Стало ли исчезающем мало web-разработчиков?
Не-не-не. Вы привели конкретный пример с Ассемблером. Вот у нас появились высокоуровневые ЯП. Стало ли исчезающе мало программистов на Ассемблере? Насколько я вижу стало.
Допустим, у нас когда-то давно было 100 программистов на Ассемблере. Потом появился С и 80 из них перешли на него. Стало ли программистов на Ассемблере меньше? Очевидно, да. Изменилось ли общее число программистов от смены инструмента?
В статье идёт разделение на программистов и "промпт-инженеров". Это не значит что программист не может переучиться и стать этим самым промпт-инженером. Это не значит что у всех промпт-инженеров будут одни и те же инструменты. Это даже не значит что нельзя одновременно быть и программистом и и промпт-инженером. Речь идёт о том что по мнению товарища Хуанга промпт-инженеры будут намного более востребованы чем программисты.
Точно так же как если вернуться к вашей аналогии с Ассемблером, то получается что программисты на высокоуровневых ЯП сейчас более востребованы чем программисты на Ассемблере.
Стало ли исчезающе мало программистов на Ассемблере? Насколько я вижу стало.
Всё верно, ведь ЯВУ и были придуманы для того, чтобы не писать на Ассемблере и машкодах, а SQL - чтобы не писать на ЯВУ типа Си.
В статье идёт разделение на программистов и "промпт-инженеров"
Именно так. Но обязаны ли Вы слепо этому следовать? Поэтому Вы правы, когда говорите, что программистов на Ассемблере стало меньше, но стал ли от этого термин "программист" относится только и исключительно к ним?
Противопоставить sql традиционным яп - это сильно. Я-то думал что это нужно было для отображения реляционной алгебры и всего такого, а тут вон оно что
Противопоставить sql традиционным яп - это сильно
А где Вы увидели противопоставление?
Я-то думал что это нужно было для отображения реляционной алгебры
Никогда не работали с dBase? Не конструировали QBE? Не писали свою СУБД?
https://habr.com/ru/articles/709234/
Посмотрите на схему, если не использовать слой SQL и обращаться к слою "Оператор таблиц", например, вызовами из C, что произойдёт с реляционной алгеброй? Исчезнет из этой Вселенной?
Поэтому Вы правы, когда говорите, что программистов на Ассемблере стало меньше, но стал ли от этого термин "программист" относится только и исключительно к ним?
Предлагаю вернуться к этому спору о терминах тогда, когда терминология немного устоится, и под каждым термином почти все будут понимать почти одно и то же. ;)
Всё верно, ведь ЯВУ и были придуманы для того, чтобы не писать на Ассемблере и машкодах, а SQL - чтобы не писать на ЯВУ типа Си.
А нейросети придумывают в том числе и для того чтобы уйти от языков программирования как таковых и перейти на следующий уровень абстракции.
Именно так. Но обязаны ли Вы слепо этому следовать?
Причём здесь"слепо следовать"? В статье речь идёт от разграничении между статусом кво(и это назвали "программисты") и следующим уровнем абстракции(а это назвали "промпт-инженеры"). Называть вы их можете как хотите. Смысл то от этого не изменится. И на мой взгляд этот новый уровень абстракции рано или поздно появится. И скорее всего рано или поздно большинство перейдёт на него.
То есть не знаю как насчёт детей, но для большинства наших внуков скорее всего навыки этого самого "промпт-инжиниринга" действительно будут важнее чем навыки "программирования".
Уровень абстракции
Их несколько. Применительно конкретно к IT есть общепринятые представления о слоях абстракции, я бы придерживался их, если иное не оговорено очевидно и достаточно однозначно. Так-то ваши слова, устная речь, или этот мой пост, состоящие из пикселей символы на вашем экране - тоже абстракция.
не использовать chatGPT для написания программы, а вообще не зная "что такое программа" обращаться напрямую к chatGPT, вообще не используя других программ, и получать ответ, который мог бы быть получен при помощи специализированной программы.
Это наивысший на сегодня уровень, пока скорее перспективный, но в целом реалистичный.
Ну вообще-то повышением уровня абстракции может быть и то и другое. Но даже если вы настаиваете исключительно на вашем варианте, то просто представьте себе что "ответ", который я хочу получить от chatGPT это именно готовая программа, которая удовлетворяет определённым условиям. Или там готовый и задеплоейнный сервис.
Потому что я, как пользователь, например хочу играть в свою собственную игру или там переписываться с друзьями в своём собственном мессенджере.
Да откуда ж вы, золотые рыбки, берётесь, что за две секунды успеваете забыть, что вам только что показывали???
![Самая быстрая команда маляров на Диком Западе! Самая быстрая команда маляров на Диком Западе!](https://habrastorage.org/getpro/habr/upload_files/c54/5f6/248/c545f6248b85c6a7251c99af918e9715.png)
![Перекрасим дом из белого в коричневый за две секунды! Перекрасим дом из белого в коричневый за две секунды!](https://habrastorage.org/getpro/habr/upload_files/7eb/bb4/6b5/7ebbb46b5aca1f2f1b283f7c8556bf5f.png)
Они, похоже, специально такие ролики подбирают, чтобы объекты из виду надолго не пропадали — а иначе фигня получается. Плачущие ангелы, не иначе.
Во первых давайте вы не будете решать за других людей что им нужно или не нужно.
А во вторых это просто примеры. Абсолютно все программы и сервисы ChatGPT не заменит. В самом крайнем случае я могу захотеть чтобы он мне создал другую нейронку.
я могу захотеть чтобы он мне создал другую нейронку.
Только осторожнее — а то вдруг ему понравится?
Называть вы их можете как хотите. Смысл то от этого не изменится.
Именно об этом я и говорю. От того, что по утрам Вы перестали устраивать собрания с коллегами, и деплоите митинг с коворкерами, суть процесса не меняется. И придумывать для него новые термины - занятие спорной полезности.
Причём здесь какие-то собрания и митинги?
Вы считаете что использование нейросетей для написания кода/программ не будет принципиально отличаться от "конвенционального" программирования? И будет требовать точно те же самые навыки и умения?
не будет принципиально отличаться от "конвенционального" программирования?
Что есть "конвенциональное" программирование? Ассемблер + алгоритмические ЯВУ общего назначения: Бейсик, С, Python? Возьмите Forth и попробуйте применить к нему опыт такого конвенционального программирования. Как надоест - SQL, где конвенциональное пошаговое выполнение лучше бы как минимум доставать пореже. А ещё есть функциональное программирование. Оно тоже конвенциональное?
Что есть "конвенциональное" программирование?
Вам хочется демагогией позаниматься? Вы не видите принципиальной разницы между тем как пишут код сейчас и генерацией кода при помощи нейросетей? Тогда это не ко мне. Счастливо оставаться.
Вы не видите принципиальной разницы между тем как пишут код сейчас и генерацией кода при помощи нейросетей?
И в чём именно принципиальная разница между, например, SQL-запросом и запросом к нейросети? В том, что первый Вам не показывает код нижнего уровня, в который он развернулся, а вторые имеют неформализованный синтаксис самого запроса?
вторые имеют неформализованный синтаксис самого запроса?
Именно в этом. Что нет формализации, обозримой человеческим мозгом. Запрос к нейросети, как они сейчас существуют - это заклинание. Который (заглядываем в гримуар-справочник) вроде бы должен делать то, что надо. Но это неточно. И неизвестно, сделает ли он то же самое когда мы, например, железо, на котором нейросетка работает, сменится.
Где-нибудь в недрах кремния после что-нибудь после смены округляться будет чуточку не так - и весь старательно подобранный запрос поедет.
С другой стороны, это эквивалентно смене мастера-человека, каждый из которых делает поставленную задачу чуточку по новому и при смене приходится заново уточнять.
Что нет формализации, обозримой человеческим мозгом
Памятуя о структуре предложений английского языка не могу согласиться на 100%, но в целом я Вас понял. Спасибо, этот момент я в целом упустил, хотя в картинкогенерации специально забавлялся тем, что скармливал одни и те же запросы неоднократно.
И в чём именно принципиальная разница между, например, SQL-запросом и запросом к нейросети?
Мы всё ещё обсуждаем написание нового кода? Или вас уже куда-то там ещё унесло? SQL запрос не создаёт новый код, а только выдаёт содержимое базы данных в том или ином виде. Или вы серьёзно пишите программы при помощи SQL-запросов? Можете мне тогда так например парсер для ODB++ написать?
То есть я смотрю у вас проблема в том что вы действительно не понимаете в чём разница...
Это не значит что программист не может переучиться и стать этим самым промпт-инженером.
Более того, это не значит, что, переучившись на промпт-инженера, программист ВНЕЗАПНО перестанет быть программистом.
Стало ли исчезающе мало программистов на Ассемблере?
Может, на самом деле их осталось сколько и было. Кто-то же пишет разные низкоуровневые штуки. Просто на фоне фронтендеров/бекендеров/датасатанистов/етц они теряются.
у нас когда-то давно было 100 программистов на Ассемблере. Потом появился С и 80 из них перешли на него. Стало ли программистов на Ассемблере меньше? Очевидно, да.
Эмммм, Вы хотите сказать, что у этих 80 память стёрли? Нет, у Вас осталось 100 программистов на ассемблере, и появилось ещё 80 программистов на Си — просто нельзя использовать все 180 одновременно — надо выбирать.
Ну на аде программируют все оракл девелоперы (pl/SQL) :)
Если натянуть ассемблер на будущее, то получится, что не нужно на нём программировать, нужно его понимать. Или будешь сидеть и моргать на не работающий код от нейронки.
Понимать Ассемблер конечно полезно. Но я бы сказал что и сейчас большинство программистов его не понимают и это им не особо мешает. Пожалуй даже подавляющее большинство.
Но если в будущем у нас будет такое же соотношение "обычных программистов" к "промпт-инженерам", то....
Это сработает только если нейросети на самом деле повысят производительность труда, как это сделали ЯВУ, в общем же случае может оказаться так, что доведение нагенерированного кода до того состояния, когда программный продукт будет соответствовать требуемому качеству, потребует больше труда, чем написание этого же кода классическим способом. Хотя конечно все в итоге может свестись к некоторому среднему варианту, когда генератор пишет наиболее шаблонные места, просто помогая при этом программисту, как автопилот помогает пилоту.
p.s. Вообще, меня больше интересует другой, более глобальный, и от того более интересный вопрос: если ИИ срежет такой широкий спектр рабочих мест как ожидается (от сравнительно низкооплачиваемых таксистов, до среднего слоя среднего класса типа программистов, не топовых юристов, дизайнеров и медиков), какие ниши они займут? В прошлый раз, высвобождающихся крестьян поглотила промышленность, а куда деваться людям сейчас? Ну и если это снизит их доходы и соответственно потребление, то кому каждый год продавать новый iPhone c ИИ, подписки на беспилотный каршеринг и прочее?
Срaботает оно или не сработает это отдельный вопрос. Речь шла о том что аналогия с Ассемблером скорее подтверждает чем опровергает утверждение из статьи.
Мне кажется, верность аналогии и тезиса будет определяться именно тем, будет ли это работать и как, а на данном этапе непонятно, какая аналогия окажется более верной — станут ли ИИ инструменты "новым С++", который перевернет игру, новой "Тильдой", со своей относительно узкой нишей, или просто еще одним инструментом для программистов, вроде статического анализатора.
Если быть точным, Вторая мировая началась в 1939, и в это время депрессия уже кончилась, ознаменовавшись колоссальным падением уровня жизни населения, что привело к появлению популистов-диктаторов (Испания, Франция), а то и фашистов с нацистами (Италия, Германия), Англия не могла более напрямую управлять своими колониями и руками Черчиля отпустила их на независимость.
Грандиозность тогдашних, вследствие депрессии, перемен мы сейчас даже осознать не можем, сравнений нет.
А ведь идет все сейчас к этому. Возможности роста экономики и повышения жизненного уровня населения утрачены вследствие окончания возможностей расширенного воспроизводства капитала, просто закончилось время его жизни, достигнут предел роста. Эмиссия фиатных валют уже не ведет к росту экономики, все уходит на более прибыльный финансовый рынок, а чтобы поглощать такие потоки - активы переоценены (привет Nvidia), старое правило «стоимость компании равно 5-7 годовым оборотам» похерено.
Но это полбеды, если бы был план выхода из этой ситуации. А его нет, либо его не обнародуют. Ведь этот план сто пудов обесценит финансовые активы, а куда всех этих менеджеров фондов, страховых, инвесткомпаний на финансовых рынках девать? Из 100 таких менеджеров и работников останутся дай бог 3-5. Конечно им страшно и они удерживают систему до последнего, постепенно увеличивая риск неконтролируемых процессов падения экономики и, соответственно, уровня жизни населения.
Кирдык будет, когда это самое население окончательно поймет, что их нагрели, 30-е годы прошлого столетия покажутся цветочками.
Поэтому все эти цифровые игрушки - это способ привлечь и растворить хотя бы часть эмиссии, ну и попутно на обороте денег наживутся банкиры и прочие элиты финансистов (а представляете как увеличилась скорость оборота в связи с цифровыми технологиями - миллионы сделок в секунду, и с каждой - плата за расчетно кассовое обслуживание).
Если с помощью ИИ будет решена проблема бесплатного обеспечения людей базовой едой, теплом, водой, жильем в полностью автоматизированном виде, то мир очень сильно изменится. Будет интересно посмотреть какое количество людей продолжит хотеть работать, и что будут делать с проблемой огромной рождаемости и роста населения.
ИИ умеет составлять связный текст и рисовать правдоподобные картинки. Как только найдется способ делать еду, тепло и пр - так и посмотрим.
ИИ умеет составлять связный текст и рисовать правдоподобные картинки
"Правдоподобные" они только для невнимательных зрителей.
![Не куплю ни такого кота, ни такой велосипед. Не куплю ни такого кота, ни такой велосипед.](https://habrastorage.org/getpro/habr/upload_files/c1d/944/a61/c1d944a61a013ba8f10fc3a518010baa.png)
ИИ умеет составлять связный текст и рисовать правдоподобные картинки. Как только найдется способ делать еду, тепло и пр - так и посмотрим.
Продумать как оптимально где что посадить-вырастить ИИ может и сейчас. Текст и картинки это всего лишь одна из вариаций output. Технически этим output может быть управление сервоприводами комбайна или робота строящего ТЭЦ.
После появления высокоуровневых языков потребность в программистах на Ассемблере не пропала, но постепенно сократилась и перетекла в потребность в программистах на высокоуровневых языках. С нейронками на мой взгляд похожая тема - постепенно программисты станут в большинстве давать задания и проверять/править за ии (поэтому "в программисты за один день" все равно не будет, понимать предметную область все равно необходимо, поэтому в первую очередь такими "промпт-программистами" станут сами программисты).
Ну а текущий уровень нейронок (chatgpt например) от описанной ситуации на мой взгляд довольно далеко. В задачах сложнее чем "напиши такой-то класс для игры" начинает путаться и выдавать ерунду. Пока что джун через несколько месяцев обучения справляется с задачами лучше chatgpt))
Пока что джун через несколько месяцев обучения справляется с задачами лучше chatgpt))
И код чище, и комментарии лучше пишет, и имена переменным лучше дает? Я не спорю, просто интересуюсь.
джун станет мидлом. А чатбот?
чаще всего написание кода занимает меньшую и финальную часть задачи, если бы задачи писались как готовые промпты к chatgpt то программистов было бы намного меньше)
Ещё неплохо бы сравнить объём кода и объём ТЗ или спецификации...
Вы будете смеяться, но было дело в одной конторе, где были отдельно "проектировщики спецификаций" и отдельно "кодообезьяны" — так там реально объём специфкаций раз в 10 превышал код, потому что проектировщик, утрируя, писал "взять стороны параллелепипеда a, b, c и посчитать его объём, результат распечатать", а кодообезьяна превращал это в код print a * b * c
Комментариев в коде вообще лучше избегать. Сейчас есть IDE с рефакторингом, в которых можно легко делать выразительную структуру кода и давать говорящие имена переменным и функциям.
Просто есть правило: "код описывает, что мы делаем — комментарии описывают, почему мы это делаем". Утрируя:
def some_method
self.some_value = perform_some_calculations()
self.save! # Если в perform_some_more_calculations() произойдёт ошибка,
# то потеряются *все* результаты вычислений — а мы хотим, чтобы
# в базе остались хотя бы результаты perform_some_calculations(),
# чтобы потом не вычислять их ещё раз
self.some_other_value = perform_some_more_calculations()
save!
end
В первый раз слышу о таком правиле, но оно более чем разумно, и, да, оправдывает присутствие комментариев в коде. Более того, в общем не требует усилий по поддержанию актуальности комментариев при изменении сигнатуры методов и структуры программы.
Вообще я обычно комментирую неоднозначную и неочевидную логику, вроде каких-то действий для обхода бага, чтобы будущий программист (возможно даже я) учёл проблему и edge cases при модификации кода.
Иногда даже имеет смысл вставить ссылки на трекер или на описание проблемы в интернете если она распространена.
Я потому и написал - "лучше избегать", а не "недопустимы". Иногда избежать нельзя. Я такие вещи тоже обычно комментирую, и это довольно редкие случаи.
ссылки на трекер или на описание проблемы в интернете
"Описание алгоритма смотри в тетрадке у Чуня"
Одна большая компания по разработке программного обеспечения купила другую компанию со всеми их наработками. Когда стали разбираться в коде новой компании, то выяснилось, что большая часть написана китайцами, а добил их комментарий перед злобной реализацией некого алгоритма на несколько страниц: "описание алгоритма смотри в тетрадке у Чуня". Где тот Чунь было уже неясно...
Потому что комментировать, что мы делаем, бессмысленно: это вполне очевидно из собственно кода:
d = s * 60 # Расстояние, пройденное машиной за минуту
лёгким движением руки превращается в
distance_per_minute = vehicle_speed * 60
и никаких комментариев уже не надо, и десинхронизация уже невозможна.
и никаких комментариев уже не надо
Надо. Например для того, чтобы объяснить, почему мы вычисляем это из скорости а не, скажем, оборотов в минуту колеса.
Для контекста: комментарий, написанный LLM. Без редактирования. Комментарии внутри функции написаны вручную, уже после генерации.
Hidden text
def get_settings_file_path() -> Path:
"""
Returns intended configuration file path for the application.
This function creates a settings directory in the appropriate location for the
system (XDG standard for Linux/macOS or APPDATA for Windows).
If the settings file does not already exist, it is created.
Returns:
Path: The path of the settings file.
Raises:
SystemExit: Failed to create settings directory or retrieve environment
variables.
"""
if os.name == "nt": # On Windows, the home directory is at %APPDATA%\Local
env_name = "APPDATA"
env_data = os.getenv(env_name)
if not env_data:
lg.error("Can not read variable name %s. Aborting.", env_name)
sys.exit(7)
settings_dir = Path(env_data) / "Local"
if os.name == "posix": # On Linux and macOS, use the XDG environment variables
env_data = os.getenv("XDG_CONFIG_HOME")
# This is not hack, this is by XDG standart.
if not env_data:
env_data = Path.home() / ".config"
settings_dir = Path(env_data)
settings_dir = settings_dir / _DEV_NAME / _APPLICATION_NAME
# Create the new directory and all its parent directories if they don't exist
try:
settings_dir.mkdir(parents=True, exist_ok=True)
settings_file = settings_dir / file_name
if not settings_file.is_file():
settings_file.touch(exist_ok=False)
return settings_file
except Exception as e: # pylint: disable=W0718
lg.error("Could not create settings directory(%s): %s", settings_dir, e)
sys.exit(7)
Это так не работает. Нельзя совершить прямую подмену джун <-> чатгпт, или что-то в этом духе. ИИ был, есть и еще очень-очень долго будет оставаться инструментом.
За последние 200 лет человечество не перестало пользоваться металлом, наобот. Но кузнец, как профессия, исчез. Его заменил ряд других профессий, создание которых стало возможным благодаря появлению других инструментов. От станков, до компьютеров. Сейчас есть токари, фрезеровщики, сварщики и тд. Кузнецы тоже остались, делают всякий штучный вау-хенд-мейд.
Современные ии вполне неплохо решают свои задачи уже сейчас: ускоряют написание кода в разы. Ручная ковка кода отходит в прошлое, айти профессии (да и не только айти, все интеллектуальные сферы, где искусственный интеллект может найти применение) видоизменяются. И быстрее, чем это происходило 200 лет назад с другими профессиями.
Необходимость в программистах на ассемблере постепенно сократилась почти до нуля за одно поколение, еще живы те, кто помнит обратную ситуацию ) Это не постепенно, это с чудовищной скоростью. Где-то же должен существовать предел, с которым особь хомо сапиенса может переучиваться.
Стали ли после их появления не нужны программисты на Ассемблере?
До определенной степени - совершенно точно стали. И весьма значительной. Нынче просто уметь писать инструкции на ассемблере недостаточно. Нужно знать особенности архитектуры, работы с кэшем и многое другое.
Написать код на ассемблере более эффективный, чем это сделает компилятор C++, совсем не просто. А еще можно оценить затраты времени на это.
Совершенно некорректный пример. Главная отличительная особенность любого ЯП - формальный синтаксис, код написанный на одном ЯП может быть полностью перенесён на другой с сохранением результатов работы кода. "Запрос" (он же промпт) никак не может быть перенесён на формальный ЯП и более того - его результаты будут отличаться в зависимости от используемой нейронки.
Для того, чтобы нейронка заменила собой ЯП ей нужна формализация, чтобы один и тот же запрос давал один и тот же результат на любой нейронки. Надо ли говорить, что это не то, к чему стремятся фанаты нейронок?
Наиболее корректно сейчас сравнивать нейронки с CMS. CMS существуют уже очень давно и используются активно в разработке. Поменяло ли это хоть что-то? Нет. Вот и с нейронками будет то же самое, просто плюс один инструмент, который иногда полезен.
Надо ли говорить, что это не то, к чему стремятся фанаты нейронок?
Кстати, да, Вы совершенно правы. И из множества комментариев в этой теме это один из немногих, который мне понравился, т.к. он про основную мысль, а не про детали её выражения, спасибо.
результаты будут отличаться в зависимости от используемой нейронки
Вообще, по общим принципам функционирования нейронок они могут отличаться даже у одной и той же нейронки по одному и тому же запросу одного и того же человека в разных сессиях.
По мнению ген.директора Nvidia (а капитализация его компании больше годового бюджета большинства стран мира)
Это когда капитализация влияла на умственные способности директоров? Ну чтобы их мнения возводить в императив?
Да. Бывает ошибаются и директора крупных корпораций и вкладываются миллиардами в Magic Leap, Theranos и другие истории, которые в итоге не взлетают. Но все-таки обычно их уровень знаний, опыта и чуйки выше, чем у большинства людей мира. Так что с точки зрения теории вероятности их мнение имеет вес.
Во что, простите, вкладывается Nvidia? В ИИ что ли? Так они как видеокарты клепали, так и продолжают. Ну есть у них там какой-то департамент, который подобным занимается, но не более того. А чуйка - вещь очень специфическая... Вот у фантастов 19 века была чуйка, что к концу 20 века все небо будет в дирижаблях. Ага!
У Nvidia свой ИИ, который она давно разрабатывает. И собственно благодаря в частности ему, новые видеокарты имеют прирост производительности. Плюс, Nvidia выпускает специальные системы для ускоренного обучения ИИ.
В общем и целом, хайп вокруг нейросетей им только выгоден.
Или как 640 килобайт памяти хватит всем
Хуанг специально разводит хайп, так как именно благодаря хайпу он так разбогател.
По-моему твиттер-формат не подходит для хабра. Думал, здесь минимум будет перевод какого-то интервью с этим Хуангом, в котором тема будет раскрыта, а одно лишь утверждение, даже без ссылки на источник! И опрос. Грустно. Ну хоть рекламы телеграм-канала нет.
Честно говоря первый раз публиковал в раздел ‘новости’. Раньше часто статьи публиковал и там развернуто делал, а новости глянул как у других, тоже такой вот короткий формат, так что сделал по аналогии. В целом лично мне формат твиттера и постов в соцсетях нравится, клиповое мышление и все-такое. Но на Хабр приходят не за этим, а как раз за развернутыми и детально проработанными текстами. Так что больше, наверное, постов данного формата тут делать не буду. Тем не менее как эксперимент интересно. Вдруг Хабр готов к эволюции в клиповый формат, как программирование к переходу в форму промт-инжиниринга.
По-моему, тоже. Но как верно заметил ниже ТС - это новость, а новость не предполагает быть лонг-ридом. Думаю, за размер публикации минусов в панамку и напихали, хотя всё сделано достаточно корректно - событие реальное, аудитории оно интересно, обсуждение идёт, даже опрос добавлен. А минусов - под -20 при 140 проголосовавших. Нет, не готова пока аудитория Хабра к клиповому мышлению.
Это нВидия скоро будет не нужна. Когда пузырь лопнет. И когда это случится, они с ОпенАИ утянут за собой весь рынок в кризис, превосходящий и крах доткомов, и недвижимости. Как говорится, запомните этот твит!
Чепуха несусветная. Какой пузырь? Переоценки компании? Коррекция Теслы была не малой, пузырь лопнул? А все орали - электрокары не нужны, фу. И что теперь? Ничего с рынком не случилось.
А на нейронки будут вешать скоро буквально всё. В разном виде, конечно и с разной степенью интеграции. С чего бы обвал? Есть потолок в использовании нейронок? Модели упёрлись? Чипов хватает всем? Нет. Буквально - кто первый получит общий ИИ - получит преимущество и никакого пузыря тут нет.
ИИ базируется на совокупности знаний, навыков и технологий, придуманных/изобретенных ранее. То есть новых знаний ИИ не добудет, навыки ИИ будет дошлифовывать путем усложнения, изобретение ИИ новых технологий упрётся в отсутствие прорывов в фундаментальной науке. Со временем ИИ просто будет пережевывать один и тот-же код по всякому поводу.
ИИ сможет сейчас или в обозримом будущем написать с нуля базу данных с новыми требованиями, ну например многомерную time-series базу, ведь никто ничего подобного еще не делал и негде найти даже куски кода? Запрос в GPT будет содержать больше строк, чем код самой базы, и все равно не получится.
Застой в чистом виде. А все почему? А потому, что ИИ это тоже технология, и у нее есть свои ограничения и предел роста. Для нового качественного рывка нужны открытия в фундаментальной науке, даже боюсь и не берусь предположить в какой сфере. А так - новая игрушка для зарабатывания денег.
Более того, ИИ — просто «замыленный JPEG интернета», он усредняет. А поскольку в Интернете середнячков гораздо больше, чем гениев, результат немного предсказуем.
То есть новых знаний ИИ не добудет
А вы? (С)
Я добываю новые знания каждый день. Я же человек и головой я не только кушаю, у меня еще мозг есть, многолетние профессиональные навыки и опыт.
А вас как с этим?
Вы добываете новые знания вообще, или новые только для вас?
Новые для моей компании — да. Например "почему вот эта хрень в проде сломалась, хотя вчера всё работало".
Мне кажется, такие знания не только ИИ может добывать, а даже я. Например, "потому что у вас в компании доступ к проду имеет рукожоп".
Ну например, сегодня новое знание того, что пользователь Хабра SergeyMax не может ответить на вопрос, как у него с мозгом, человеческим мышлением и способностью развиваться познавая мир. И я этим знанием поделился сейчас со всеми. Где-то какой-то ИИ проиндексировал ветку с комментариями и опляля - по запросу студента о написании для него курсовой появится ссылка и суждение о том, что все с никнэймом SergeyMax - боты. Шутка, возможно.
По теме, приведу старое античное греческое рассуждение. Чем свежеопорожненная клепсидра отличается от прошлой наполнившейся, ведь она никак не изменилась? - Тем, что мир вокруг изменился, вот мы узнали вновь и в который раз, что вода в клепсидре не значит ничего, ибо с ней или без неё - наступил новый период и боги даровали нам новое знание о прошлом и новую жизнь, и так каждый раз, хвала им.
Древние греки, что с них взять - считали новым знание о прошедшем тике времени. Вы так же считаете?
А вы? (С)
Ну, у меня хоть шансы есть.
Какой общий ИИ? Если только в далёком будущем?
2017 год: Греф заявил, что России больше не нужны IT-специалисты
2024 год: Греф оценил дефицит IT-специалистов в России более чем в 1 млн человек
Об искренности заявлений Грефа хорошо говорит его собственное выступление
Россия до 2022го и после - это две разные России. Все планы, предсказания и проч. обнулились 22.02.22
Тут уже была статья, в которой говорили, что от разрабов избавляются с 50х.
Всё никак избавится не могут.
Конечно кодить будут нейронки. У всех же будут деньги на оборудование и настройку, да? И модели будут знать всё и переписывать легаси лапша-код на лету, да-да. А главное, конечно же, результат всегда будет актуален и нести за него ответственность никому не потребуется. И про промты ещё забавнее - так по скти те же разрабы на промты и пересядут.
Хотя, чо мне парится? Я инфраструктурщик, в нашем деле нейронки скорее полностью провалились
Кхм, ты так пишешь, как-будто буквально масскод с годами не превратился в мусорную кашу (ибо ну а что, ресурсов до кучи у юзеров, зачем писать качественно)
И в стопицотый раз повторю сам себя:
...давным-давно, когда компьютеры были большими, разработчик набирал переключателями на пульте двоичный код, который потом исполнялся процессором. Потом программист стал писать человекочитаемыми буковками код низкого уровня (на ассемблере), который транслировался в машинный код, который исполнялся процессором. Потом разработчик стал писать код на языке высокого уровня (скажем, C — кстати, у сишных ++ и -- ноги растут из DEC-овских операций с авто{ин|де}крементом), который транслировался в код низкого уровня, который транслировался в машинный код, который исполнялся процессором. Теперь разработчик нового уровня будет писать очень-очень подробное техническое задание, которое транслируется в код на языке высокого уровня, который транслируется в код низкого уровня, который транслируется в машинный код, который исполняется процессором...
В тот момент, когда AI сможет: прочитать документацию и понять её, самостоятельно найти edge cases и баги в используемых инcтрументах (что включает в себя активное использование инструмента, а так же по возможности чтение исходников инструмента), понять как это всё можно вместе связать - тогда да, AI сможет заменить программиста. Как и всё остальное человечество в целом.
А пока оно тупо копирует советы из интернета - нет, не сможет, хотя бы потому что эти советы должен кто-то писать.
Ну и из лично моих экспериментов - мне быстрее решить задачу самому, чем объяснить ИИ что я от него хочу. А после - объяснить почему ИИ заблуждается и заставить сделать правильно (а что если я не знаю как правильно?)
Ну и из лично моих экспериментов - мне быстрее решить задачу самому, чем объяснить ИИ что я от него хочу.
Возможно, одна из причин этого в том, Вы решать умеете лучше, чем правильно и доступно объяснять. Вам-то собственное объяснение может казаться исчерпывающим и понятным. Но гляньте, например, на литкодовскую задачу Happy Number и почитайте дискуссию: регулярно появляются комментарии типа "you guys dont explain why n = 2 is not a happy number" или "Can anyone tell me how 7 is a happy number??".
В этом плане я склонен согласиться со словами
самый важный скилл, который нужно приобрести — промпт-инжиниринг.
Но я не думаю, что это принципиально что-то поменяет. Будет такое же разделение на джунов, миддлов, синьоров и т.д. Условно "Middle general purpose AI prompt engineer", "Senior Visualisation AI prompt engineer" и т.д. Точно так же будут узкоспециализированные профессионалы, мультиинтсрументалисты и быдлопромптеры.
Я не утверждаю что я хороший учитель (объективно - плохой) или промптер, но я просто прикреплю скрин чата (одна из многих тестовых попыток), последняя версия - не корректная. Предпоследняя корректная, но не то что я хотел.
![](https://habrastorage.org/getpro/habr/upload_files/8c9/d1c/398/8c9d1c3982bee5934c58c86f80f50686.png)
json в примере - api http://worldtimeapi.org
Использованная программа для запуска LLM - LM Studio (надо отдать должное разработчикам, она на уровне сложности "LLM для домохозяек", всё просто работает)
LLM в примере - Dolphin 2.5 Mixtral 8x7b
Так же есть Deepseek Coder 33B, она справляется чуть лучше, но у неё нет официальной поддержки Swift.
(обе модели обучены для программирования)
Это же сапказм , да..или что такое баги?
Нет, ни разу. Несколько раз встречался в недокументированным поведением инструментов (в данном случае это всё что угодно от пакетного менеджера до IDE), противоречащие документированному поведению. Или просто с крашами, с ошибкой или без. Это вещи, о которых можно узнать только экспериментируя или, быть может, читая исходники.
А программист может самостоятельно прочитать любую документацию и понять ее? Самостоятельно найти баги?
А Вы что, не можете?????? =8-O
Да последнее веяние генерации документации, полученной из комментариев из кода, это полный пэ.
А ведь бывает, что просто сам код считается самой лучшей документацией.
Это тоже глупость. В документации я ожидаю прочитать абзац, а то и два, за что в алгоритме отвечает данный параметр. Если кому-то кажется, что погружаться в дебри чужого кода всем нравится, то я его огорчу.
Иногда это объективная реальность. Была (а для кого-то и есть) такая штука - DirectShow. Тем, кто с ней серьёзно работал, известно, что некоторые нюансы без изучения исходников понять невозможно. Отчасти это, конечно, из-за качества документации. Но есть вещи, которые в ней изложить весьма сложно - проще посмотреть реализацию в исходниках и примерах.
Блин, надеюсь, что да. Так хочется игру написать на подобии Ragnarok online в купе с механикой из Pick me up, а в одиночку это лет 5 займёт минимум
Говорят профессия программист скоро станет неактуальной.
Не верю. Пока не видел рабочего кода от нейросети, который не надо было хотя бы просто перепроверять. Зато высказываний на уровне альтернативных историков, торговцев фуфломицилами и менеджеров корпораций - сколько угодно. Им кажется нужно больше беспокоиться.
А нейросеть для написания кода ты видел? Или идёт речь о генеративной нейронке обученной на куче мала, и даже к глубоко обученной модели которой доступа нет у юзера?
Ну, например, в Visual Studio встроен ИИ-подсказчик. Иногда угадывает, что я напишу дальше, иногда нет. Это считается?
А нейросеть для написания кода ты видел?
https://github.com/deepseek-ai/DeepSeek-Coder
Такой ответ вас устроит?
https://i.imgur.com/WxOCDqY.png
Ещё ни одна модель нормально Security не написала. WebSecurityConfigurerAdapter и устаревшая библиотека jjwt с секрет ключом, который максимум захардкожен.
Но спасибо за картинки и видео им. Надеюсь до конца века увижу ту самую экранизацию, которая у меня была в голове при прочтении, а не то что сняли киношники придумав тупой экшон, там где лучше рассказать предысторию глав. гада.
Хреновенько. Два числа сложить еще может, что-то чуть посложнее - генерирует правдоподобный бред. И джун уже не разбереться, что там не так вообще никак.
Попросил использовать MediaFoundation API, чтобы проверить, не используется ли камера другим приложением - оно выдало не компилирующийся код. При чем это была попытка использовать вообще другое API - direct input:
ответ DeepSeek
#include <mfapi.h>
#include <mfidl.h>
#include <mfreadwrite.h>
#include <mferror.h>
#include <iostream>
#pragma comment(lib, "mf.lib")
#pragma comment(lib, "mfplat.lib")
#pragma comment(lib, "mfreadwrite.lib")
int main()
{
// Initialize COM library
CoInitializeEx(nullptr, COINIT_APARTMENTTHREADED);
// Create a media type for video capture
AM_MEDIA_TYPE mediaType;
ZeroMemory(&mediaType, sizeof(mediaType));
mediaType.majortype = MEDIATYPE_Video;
mediaType.subtype = MEDIASUBTYPE_RGB24;
// Create a capture graph builder
IGraphBuilder* graphBuilder = nullptr;
HRESULT hr = CoCreateInstance(CLSID_FilterGraph, nullptr, CLSCTX_INPROC_SERVER, IID_IGraphBuilder, reinterpret_cast<void**>(&graphBuilder));
if (FAILED(hr))
{
std::cerr << "Failed to create capture graph builder: " << std::hex << hr << std::endl;
return 1;
}
// Create a media control interface
IMediaControl* mediaControl = nullptr;
hr = graphBuilder->QueryInterface(IID_IMediaControl, reinterpret_cast<void**>(&mediaControl));
if (FAILED(hr))
{
std::cerr << "Failed to query media control interface: " << std::hex << hr << std::endl;
return 1;
}
// Create a media event interface
IMediaEvent* mediaEvent = nullptr;
hr = graphBuilder->QueryInterface(IID_IMediaEvent, reinterpret_cast<void**>(&mediaEvent));
if (FAILED(hr))
{
std::cerr << "Failed to query media event interface: " << std::hex << hr << std::endl;
return 1;
}
// Create a media type interface
IEnumMediaTypes* mediaTypeEnum = nullptr;
hr = graphBuilder->EnumMediaTypes(&mediaTypeEnum);
if (FAILED(hr))
{
std::cerr << "Failed to enumerate media types: " << std::hex << hr << std::endl;
return 1;
}
// Create a media type interface
IEnumPins* pinEnum = nullptr;
hr = graphBuilder->EnumPins(&pinEnum);
if (FAILED(hr))
{
std::cerr << "Failed to enumerate pins: " << std::hex << hr << std::endl;
return 1;
}
// Enumerate pins
IPin* pin = nullptr;
while (pinEnum->Next(1, &pin, nullptr) == S_OK)
{
PIN_INFO pinInfo;
pin->QueryPinInfo(&pinInfo);
// Check if the pin is a capture pin
if (pinInfo.direction == PINDIR_INPUT)
{
// Check if the pin supports the media type
hr = pin->QueryInterface(IID_IMediaTypeHandler, reinterpret_cast<void**>(&mediaTypeHandler));
if (FAILED(hr))
{
std::cerr << "Failed to query media type handler interface: " << std::hex << hr << std::endl;
continue;
}
hr = mediaTypeHandler->IsMediaTypeSupported(&mediaType);
if (FAILED(hr))
{
std::cerr << "Failed to check if media type is supported: " << std::hex << hr << std::endl;
continue;
}
// The pin is a capture pin that supports the media type
// You can now check if the pin is being used by some other application
// For example, you can check if the pin is connected to a renderer
// or if the pin is in the running state
}
pin->Release();
}
// Release interfaces
pinEnum->Release();
mediaTypeEnum->Release();
mediaEvent->Release();
mediaControl->Release();
graphBuilder->Release();
// Uninitialize COM library
CoUninitialize();
return 0;
}
Задачки с литкода тоже не решает, если их чуть-чуть по-другому сформулировать. Попросил написать класс, который принимает числа и выдает максимальное среди K последних (Sliding Window Max):
ответ
#include <iostream>
#include <queue>
#include <vector>
class MaxTracker {
private:
std::priority_queue<int> maxHeap;
int k;
public:
MaxTracker(int k) : k(k) {}
void addNumber(int num) {
maxHeap.push(num);
if (maxHeap.size() > k) {
maxHeap.pop();
}
}
int getMax() {
if (maxHeap.empty()) {
return -1;
}
return maxHeap.top();
}
};
Тут даже на какой-то алгоритм похоже. Правда, оно даже медленнее правильного решения. И ищет k-ое минимальное число, а не максимальное среди k последних. Но попробуйте в этом разобраться, если вы промпт-инженер, и эти страшные алгоритмы и структуры данных вам не нужны.
А если ему прямо сформулировать SlidingWindowMax, то оно тоже пишет нерабочий бред (chatgpt, кстати, по ключевым словам с литкода ответ выдает правильный):
ответ
class SlidingWindowMax {
public:
SlidingWindowMax(int k) : k(k) {}
int max_element(int num) {
while (!q.empty() && q.back() < num) {
q.pop_back();
}
q.push_back(num);
if (!q.empty() && q.front() == num - k) {
q.pop_front();
}
return q.front();
}
private:
int k;
std::deque<int> q;
};
Тут оно на ответы с литкода хотя бы похоже, но тут допущен странный баг, который все портит. Заметите его?
Кстати, я не просил писать максимально быстрое решение, оно само стало в алгоритмы уходить.
Ваш результат полностью вписывается в теорию, что LLM не заменят программистов. И при этом это лучшая сетка, что я встретил (и самая медленная на моей машине)
На данный момент лучшее, на что оно годиться - это генерация бойлерплейта.
Более того, я жду не дождусь кода от нейросетей в критических системах. Это ж какое хакеру раздолье! Все фильмы вида "запустил nmap
и получил все секреты Пентагона" реальностью станут!
А что, кстати, мешает встроить внутрь нейросети пессимизатор, который проверяет есть ли в результате-кандидате типовые уязвимости, и если да - то присваивает ему рейтинг около нуля и запускает генерацию кода заново?
"Не, мужик, с таким подходом ты слона нейросеть не продашь!"
Этот пессимизатор - это была бы действительно полезная утилита. И без всякой кодо-генерации, ее полезно было бы запускать на всем коде и проверять, надо ли что исправлять.
Проблема только, что такой магической утилиты еще никто не придумал.
Для sql-инъекций - к примеру sqlmap, если рассматривать код как чёрный ящик, или синтаксические анализаторы c правилом типа v5608 у PVS Studio (OWASP. Possible SQL injection) в случае детального разбора кода скриптом.
Это не универсальное решение. Некоторые виды уязвимостей достаточно легко формализовать, некоторые же будут требовать определённых затрат времени (например, уязвимость к тайм-атакам), третьи уязвимости требуют ручной проверки.
Github Copilot иногда прям методы целиком реализует правильно.
Но в этом и загвоздка - никогда не знаешь, правильно ли сгененрил в этот раз.
Ну будет еще одна чисто интерфейсная надстройка над компиляторами, высокоуровневыми ЯП и продвинутыми IDE. Будет ровно как с автомобилями, например: больше комфорта, больше свистоперделок, больше пользователей за счет околонулевого порога вхождения, и весь этот оверинжиниринг не отменит ни труд автомехаников, ни труд конструкторов.
А учить детей программированию, глядя на нынешний хайп, конечно, не надо, меньше будет верящих в себя вкатышков, типа как бум экономистов в нулевые, биотехнологий в 10-е.
А можно ссылку на источник сего "откровения"?
Ну ладно, допустим) Если нейросеть сможет заменить всех программистов, кто ей мешает заменить и Хуанга?)
Вы немного путаете роль кодящей макаки и человека который:
Jen-Hsun ("Jensen") Huang
Jen-Hsun Huang—who goes by Jensen Huang—owns roughly 1.3 million shares of Nvidia, representing 0.21% of all outstanding shares.2 Huang founded the company in 1993 and serves as president and CEO. He is also a director of Nvidia.
Это примерно как автопилот Теслы уволит Маска.
Нейросети, способной заменить программиста - даже "кодящую макаку" - будет вообще посрать, что там идет после "человека, который". Она любого человека заменит и не поперхнётся, и будет даже умнее.
А автопилот теслы пока даже водителя заменить не может, странное сравнение.
Попробуйте нейросетью заменить члена совета директоров с солидной долей акций во владении. Как вы себе это представляете? Это примерно как нейросеть заменит вас, как владельца вашей квартиры. Каким образом?
Для понятия масштаба:
За день состояние Дженсена Хуанга увеличилось на 8,5 миллиарда долларов – до 68,1 миллиарда. И это позволило ему занять 21 место в рейтинге самых богатых людей на планете Bloomberg Billionaires Index.
Гипотетическая нейросеть-левачек Троцкий будет заниматься экспроприациями в особо крупных размерах с переходом к революционной экономике?
Безотносительно конкретно Хуанга: тридцать лет назад вдвое меньшей суммы хватало для того, чтобы возглавить этот самый список...
Безотносительно Хуанга, и пузыря на рынке около ИИ создающего триллион капитализации за сутки. Сейчас его состояние это примерно стоимость группы компаний Фольксваген со всеми потрохами. Забавно видеть как пролетариат и прекариат планируют как планировочный скрипт его куда-то денет.
Это всё не важно) В какой-то момент, какой-то совет директоров решит поставить ИИ в качестве CEO. И в какой-то момент этот ИИ принесёт больше денег, чем мясной человечек)
После этого уже будет неважно пролетариат ли я или нет)
И в какой-то момент этот ИИ принесёт больше денег, чем мясной человечек)
А в какой-то другой момент - так же эпично профукает.
Веселее будет, если он начнет проворачивать незаконные сделки, а суд потом решит, что раз ИИ модель посадить нельзя, то сесть должно сколько-то человек из совета.
Скорее каких-нибудь стрелочников посадят, которым придется эти незаконные сделки оформлять или еще что-то такое руками делать.
А в какой-то другой момент - так же эпично профукает.
Это будет уже не важно, главное чтобы "в среднем" результат был лучше)
тридцать лет назад вдвое меньшей суммы
"Есть такое слово, сынок — инфляция..."
Это не инфляция... Сколько из своих миллиардов сможет реально вытащить этот Хуанг, когда они ему потребуются? Попадалась статья, в которой говорилось о том, что "исходя из биржевой оценки активов, Безос является самым богатым человеком в мире, но реально располагаемая им сумма денег, которую он может свободно потратить, составляет примерно 500 мегабаксов в год". Не знаю, насколько это правда...
Чтобы заменить Хуанга, достаточно небольшого скрипта!
Шутка повторенная дважды, перестает быть смешной. Она начинает пугать.
Everyone is a programmer’ with generative A.I., says Nvidia chief
Published Mon, May 29 2023https://www.cnbc.com/2023/05/30/everyone-is-a-programmer-with-generative-ai-nvidia-ceo-.html
https://www.cnews.ru/news/top/2023-05-30_teper_kazhdyj_programmist
Everyone is a programmer’
... but not everyone is a good programmer.
but not everyone is a good programmer.
Все верно. Большинство программистов совсем не good-programmers, а обычные monkey-programmers. И ничего, работают как-то. 50000 monkey-programmers написали Window10.
Некоторую часть программистов ИИ заменит без проблем. Питонщиков вынесут первыми.
ChatGPT is making our software engineers dumb
https://futureiq.substack.com/p/chatgpt-is-making-our-software-engineers
![](https://habrastorage.org/getpro/habr/upload_files/37e/cbf/9fa/37ecbf9faa091c43b2f3e88870ed072d.jpg)
Тут просили передать:
![](https://habrastorage.org/getpro/habr/upload_files/522/288/276/522288276845cb1ccbe7b720219cb9d1.jpg)
Возникают вопросы о безопасности такого кода, а также кто будет проверять код, тоже ИИ?
И на каких данных будут тренироваться модели, тоже на коде ИИ? Нужны будут программисты для поддержки ИИ и обновлений. Ну и для себя тоже можно кодить, все равно будут программисты кто против ИИ, да это хороший помощник сейчас, но он не более.
Плюс в будущем возможно будут другие процессоры, технологии и т.д. Создать их ИИ не смогут, хотя это вопрос времени, вдруг к нам придут внеземные технологии.
Возникают вопросы о безопасности такого кода,
"произвести измерение температуры забортной воды не представляется возможным из-за отсутствия таковой" (c)
Пока ИИ не будет автономно стоять у каждого, кто пишет что-то содержащее коммерческую и интеллектуальную тайну - нифига не будет.
Сейчас сколько скандалов на фоне обучения нейронок по чужому коду, так это их еще не пускали на закрытые сервера компаний. Где гарантия, что нейронка не сольет стратегическую инфу куда-то на строну?
Мое мнение, нейронка должна быть автономна, иметь весьма ограниченный доступ к сети и работать очень прозрачно. Ну вот нет доверия к тому, что уже сейчас начинает себя считать умнее человека и мыслит беспристрастно.
Верим бизнесмену всем селом.
Я пробовал давать давать спеку разным ИИ. Получившийся код соответствовал спеке, но был нерабочим. Дорабатывать его не имело смысла, я быстрее с нуля напишу. Сейчас вижу два применения ИИ. Он может тренировать стажёров и помогать спецам с других языков быстро делать небольшие задачи на малознакомом языке. Главное, что хочу сказать, ни сегодня, ни завтра ИИ программиста не заменит.
Даже когда код рабочий, видно, что это немного переработанная копия того что нейронка уже "видела", как только вынуждаешь его доработать до чего-то чего нейронка скорее всего "не видела" в обучающей выборке, начинают переть очень глупые ошибки. Удивительно то что даже chatGPT может выдать результаты любого кода, словно в неё в шит интерпретатор, но это не помогает ей избегать тривиальных ошибок в нестандартных ситуациях.
Явно не хватает какого-то ключевого качества. Я много пытался заставить нейронку написать тот или иной участок не сложного кода и у меня даже возникла некоторая "начитанность" результатов, позволяющая точнее понимать с чем она точно не справится.
Хотя, меня это, например избавило от необходимости помнить регулярки. С регулярками нейросети справляются хорошо, а я вот никак запомнить не могу, а если изапоминаю, то быстро забывается. Какое-то конр-интуитивное знание.
когда нейронки, наконец заменять программиста, это будет такой программист, который сможет адаптировать что угодно из того что уже "видел" под нужды промп-инжинера, если править это нужно не сильно. Но что делать с новыми задачами?
Спасибо!
А как вам такой аргумент для awk:awk '/^[.*]$/ {flag=1; next} !flag; /^[/{flag=0}'
А это пояснение, в крадце регулярка выдергивает первую секцию ini-файла:
В этой команде используется флаг flag
, который устанавливается в 1
, когда awk
обнаруживает строку, начинающуюся и заканчивающуюся квадратными скобками.
Когда флаг установлен, awk
пропускает все строки до следующей строки, начинающейся с [
.
В данной команде используются следующие регулярные выражения:
1. /^\[.*\]$/
- это регулярное выражение ищет строки, которые начинаются и заканчиваются квадратными скобками. Внутри скобок может быть любое количество любых символов (.*).
Здесь ^
обозначает начало строки, \[
и \]
- литеральные квадратные скобки (так как обычно они имеют специальное значение), .*
- любое количество любых символов, и $
- конец строки.
2. /^\[/
- это регулярное выражение ищет строки, которые начинаются с квадратной скобки. Здесь ^
обозначает начало строки, и \[
- литеральную квадратную скобку.
В команде awk
эти регулярные выражения используются для управления флагом, который определяет, будут ли выводиться строки. Если строка соответствует первому регулярному выражению,
флаг устанавливается в 1 и строка пропускается (next
). Если строка не соответствует второму регулярному выражению, она выводится (!flag
).
Если строка соответствует второму регулярному выражению, флаг сбрасывается в 0 (flag=0
).
Она плохо пишет код, нормально пишет юнит-тесты, не забыв про все известные мне краевые случаи. Один раз даже сама замокала HTTP запрос на два вызова ниже тестируемой функции. И очень хорошо пишет документацию, человеческим языком, особенно если в документированном блоке осмысленные имена переменных.
Извините, но…
— Рабинович, говорят, что доллар падает?
— Да чтоб у меня так стоял, как он падает!
Чо уж там мелочиться.
Nobody needs anyone
They don't even just pretend
David Bowie, 1995
Во-первых, проблема не в написании кода, а в поддержке написанного - в расширении, изменении и т.д. Во-вторых, ни одна контора, выпускающая очередную "нейросеть-убийцу программистов", не даст 100% гарантии на корректность выдаваемого машиной кода.
В итоге всё сведётся к тому, что для примитивных (в т.ч. учебных) задач будут использовать сетки, а для серьёзных разработок - людей, чью работку сетки будут местами ускорять, что уже есть.
Ну а мистер Хуанг просто хочет продавать больше железа, потому и выдаёт на гора такие перлы.
Во-первых, проблема не в написании кода, а в поддержке написанного
Если повезет, как раз тут оно и поможет. Натренеровываешь сеть (нет, не готовую берешь и ей код скармливаешь, а именно весь комплект удовольствий) и потом спрашиваешь "что и где эта куча кода делает?/где искать <описываешь нечто, что (не)должно происходит>"
Потому что в голову человека гигабайты кода просто не влазят.
смешно. Давно известно, что нейронки могут неплохо ставить диагнозы. Ну и что, пропали из-за этого врачи? Нет конечно, потому что круг их обязанностей немного шире. Вот и с программистами будет то же самое.
Айтишники не исчезнут, просто работа айтишником перестанет быть престижной, выйдет в тираж, уже вышла, на самом деле. Возможно, повысится эффективность и снизится потребность. Но пока мы даже не вышли на плато - потребности растут.
А вот у директора НВидиа, как мне кажется, головокружение от успехов, ему надо беспокоиться не об айтишниках, а о конкурентах. А то получится как у Интел.
Дiд Панас тихо посмеивается в усы.
Интересно нейросеть еще не пробовали натравить на код Cobol'a, чтобы на Jav'у его странслировать?
По опыту могу сказать, чтоб написать подходящий промпт, нужно потратить столько же времени и объёма ресурсов, в т.ч. размер промпта, сколько и написание самого кода. Порой даже больше. И результат работы не гарантирован.
Мы требуем, чтобы обучение делу государственного управления велось сознательными рабочими и солдатами и чтобы начато было оно немедленно, то есть к обучению этому немедленно начали привлекать всех трудящихся, всю бедноту
Ленин, 1917г
Как известно, управление государством так и не стало массовым увлечением.
...почему, собственно, то государство и кончилось.
почему, собственно, то государство и кончилось.
...Жаль, у меня еще сколько идей было... (ц)
Эммммм, я вообще-то сказал ровно противоположное: то государство кончилось как раз потому, что кухарки перестали изучать управление государством. Человек более-менее образованный вполне себе мог предвидеть, чем всё это кончится, задолго до собственно наступления конца.
Авторы этой боевой картиночки, не изменяя себе, ни дня прожить не могут без пересчитывания денег другой страны.
капитализация его компании больше годового бюджета большинства стран мира
Какой смысл в сравнении капитализации с бюджетом? Ну вот капитализация Nvidia в 32 раза больше бюджета (выручки) самой Nvidia, и что?
Какой смысл в сравнении капитализации с бюджетом?
Очевидно, что бы продемонстрировать уровень остальных высказываний)
Очевидно же - это значит, акционеры верят промптам от гендиректора больше, чем его результатам работы (бухгалтерским балансам). Отсюда следует, что выгоднее делать промпты, а не работу работать - так гендиректор ровно это и сказал, но про себя ему это утверждать, видимо, показалось неудобным, поэтому он высказался о программистах.
Для того, чтобы программистов не стало, нужен менеджмент, который будет ставить чёткие задачи, а этого не будет.
Да, скоро люди начнут подаваться на другие профессии, но доля программистов эволюционирует во что-то другое.
Сейчас так много студентов, которые хотят стать программистами, продолжая слышать хайп последних нескольких лет.
Айтишники, это только кодеры? ИИ видимо и сервера сама будет ставить в стойку и настраивать их?
Чёт походу быть человеком смертным скоро станет неактуальным...
Чего гадать? Давайте спросим сами у chat gpt4 )
Очень интересная тема, спасибо за то, что поделились!
Я согласен с Дженсеном Хуангом в том, что нейросети и искусственный интеллект играют все большую роль в мире технологий и программирования. Это означает, что обучение работы с нейросетями и AI становится все более ценным навыком.
Промпт-инжиниринг - это действительно важный навык, который становится все более востребованным. Он подразумевает способность задавать "правильные" вопросы и формировать запросы таким образом, чтобы получить от системы наиболее полезный ответ. Это требует понимания не только того, как система работает, но и того, как она взаимодействует с информацией.
Однако, я бы не сказал, что нет смысла учить детей основам программирования. В любом случае, базовое понимание того, как работает код, всегда будет полезным, несмотря на развитие искусственного интеллекта и технологий.
Плюс, обучение программированию также развивает критическое мышление и решение проблем - важные навыки, которые полезны в любой сфере.
И блокчейн нужен был прямо везде и всем, любой домохозяйке. Так говорили всё, кто пытался на хайпе бабла поднять. И где теперь блокчейн? Где-то есть, но тренд явно прошел. Вероятно, вместе со спросом на видюхи со стороны майнеров.
А уж от сеошника-то что ожидать? Конечно он будет рассказывать, насколько штука, которую он продаёт, вам нужна, необходима и она вообще всерьёз и надолго. Ровно до выхода новой штуки, которую снова нужно купить, чтобы успеть, успеть, успеть....
это, конечно же, большая чушь. ни разу не слышал, чтобы хоть у одного программиста когда то возникла проблема непосредственно с написанием кода. вот одуплить кривое ТЗ, продумать архитектуру, посекситься с окружениями, всё свести и завести так, чтобы работало и падало пореже - вот это да, это постоянные проблемы и это и есть работа программиста. скорость получения сайтов-визиток сократится до трех милисекунд, это да, но кто в здравом уме отдаст нейросетке высоконагруженную систему делать где минуты простоя это сотни и тысячи и миллионы денег - загадка
Мда... И про SQL говорили тоже самое - программисты будут не нужны, менеджеры смогут сами создавать себе отчёты. Прошло N десятилетий - это лишь один из инструментов программиста. И то не всякого)
А вообще, вся проблема в "специализации" людей - ну не сможет условный барбершопер сделать игру даже с ИИ при всем желании. Никак
Работал в 1с франче. 1с - это своего рода ИИ в мире учёта. Даже на простое обучение тыкать в нужные кнопочки уходит несколько месяцев. И даже через год все равно не получится спеца, который сам нагенерит себе нужный отчёт. А ведь это просто
По поводу нейронок - нередко его ответы отдают дежавю, некоторые прямые копипасты со стэковерфлоу
Единственное, с чем неплохо ИИ справляется - подправить нейминги полей/методов. Понять проблему, решить бизнес-задачу - и близко нет
ИИ займёт какую-то нишу, да. Как конструкторы сайтов заняли бюджетный сегмент рынка создания сайтов, а средние и серьёзные проекты до сих пор пишутся HTML и CSS кодом. Вообще, я считаю, что программирование — это самая последняя профессия, которую «убьёт» ИИ.
Как профессия, по моему мнению, программисты никуда не денутся. Нейросети будут им в помощь, но чтобы написать промпт, по которому нейросети напишут программу, нужно быть в теме.
Не знаю как в будущем, но сейчас ведь нейросети не могут создать ничего принципиально нового, в отличие от человека. Да, скорее всего нейросети смогут создавать довольно сложное ПО, но из того что уже сделано.
И может даже быть, что смогут создавать и без ошибок. Хотя насчет ошибок у меня нет уверенности. И даже не столько в коде, сколько в алгоритмах.
Айтишники считают, что Хуанг не нужен.
Чат,
Вайл not crashed or количество попыток<100000 сажай лунный модуль на луну.
Интересно, а писали ли всякие далбоящеры подобные статьи лет так 25 назад, когда появлялись поисковые сети? Вам теперь ничего знать не надо, пиши себе запрос в гугл и все будет хорошо ?
Jensen Huang говорит несколько о другом, а именно:
![](https://habrastorage.org/getpro/habr/upload_files/c8d/1ae/06b/c8d1ae06b757446e9d01aa305835d55f.jpg)
Один из вариантов перевода понятия "программист" - это coder, человек, пишущий код, выдуманный мозголомный язык, служащий для того, чтобы перевести мысли и конструкции с человеческого языка в понятную для машины форму.
Даже самый крутой кодер не мыслит кодами, все мыслят обычным человеческим языком, а потом переводят свои мысли, придуманные алгоритмы и абстракции в машинопонятную форму при помощи абракадабры, называемой языком программирования.
Искусство владения заклинаниями ЯП и считается кодированием в современном понимании.
Чтобы ахинея была понятнее, её комментируют.
Если комментировать развернуто, то получатся ДВЕ ПРОГРАММЫ, одна, "слева" на ЯП. Другая, "справа", через двойной слэш, на обычном человеческом языке для того, чтобы даже избранные не заблудились в выдуманных ими же самими словах.
Суть новости в том, что постепенно, шаг за шагом, о скорости продвижения можно спорить, "программы" будут дрейфовать, трансформироваться от "кодирования" на выдуманных языках, к программированию промптами, по сути комментами.
Не надо думать, что юзеры не смогут, ха-ха-ха, они сами не знают чего хотят, гы-гы-гы...
Кто-то всерьез полагает, что кодер 1С знает как составлять отчетность лучше, чем главбух?
Программист КонсультантПлюс разбирается в законах лучше профессиональных юристов?
Технологи плутают в процессах производства и чтобы выразить свои убогие жалкие мыслишки, не запутавшись в матах и междометиях, им край как нужен человек, умеющий расставить все скобочки и закрыть строчки точками с запятой, покрыв потом это дело тестами?
Новость о том, что закрыватели скобочек и гуру синтаксиса постепенно превратятся в промптописателей, а так оно и будет.
Даже самый крутой кодер не мыслит кодами
Вы сейчас говорите как самый крутой кодер, который мыслит регулярками или выражаетесь за всех крутых кодеров, которые сначала пишут в уме код, потом компилируют его там же в исполняемый файл, обрабатывают и только после этого изрекают "время пить чай" на простом человеческом языке?
айтишники скоро будут не нужны
Шо, опять? :)
https://habr.com/ru/companies/alfa/articles/790206/
Программисты всё вымирают и вымирают.
Аж со времён Фортрана и Кобола (которые для своего времени, по сравнению в машинными кодами и ассемблером - были реально огромным шагом вперёд)
:)
Т.е. "Нейронки" со временем не будут улучшаться? И по прежнему будут нужны заумные и эмпирически подобранные "промпты".
Или же ИИ поумнеет настолько, что оценив личность просящего программировать, например, по соцсетям, перепискам или считав мозговую активность, сам себе задачу и поставит. Накодит махом пару тройку, а то и десяток приложений и интерфейсов, быстренько, по "слюноотделднию" или количеству эндорфинов проведёт A/B/C тестирование и в продакшн.
И с таким ИИ, надо ли будет что то кодить? Парадигма использования ПО перевернётся, что будет одно единственное приложение.. и сразу с мозг
Они расхайпили тему нейронок чтоб продавать видюхи. Чтоб покупали и не такие сказки сочинят.
Если бы ИИ действительно был так силен, то первыми запаниковали бы разработчики графических и видео-редакторов. Однако они спокойны. Более того, они охотно адаптируют API своих графических программ, чтобы управлять ими через трансформеры. Зачем использовать ИИ для управления графическими программами, если ИИ и так превосходно рисует сам?
Залог успеха статьи на Хабре: написать что айтишники не нужны и в комментариях соберутся айтишники, чтобы убедить тебя в обратном.
Коллеги не переживайте. Этому хрену мэнеджеру просто нужно создать условия, чтобы в будущем было мало квалифицированных программистов. Тогда бизнес будет просто вынужден большую часть задач перекладывать на AI (и покупать для этого больше AI процессоров у Nvidia). AI всегда будет решать задачи хуже чем хороший программист, намного хуже !
Ну вот индусов и прочих свитчеров то как раз AI и заменит. Уже сейчас наблюдается тенденция, что джуны никому не нужны. Дальше (и во многом благодаря AI) это будет только усиливаться. Образуется огромный порог входа в IT, и деды синьйоры будут до последнего держать на своих плечах мир IT. А после их смерти наступит хаос (эта тема очень хорошо раскрыта в фильме Идиократия).
Ну да, что, что неопытные никому не нужны, а умелых все хотят сразу и никто не хочет добровольно вкладываться в их выращивание (а вдруг вложишься - и уйдут к другому) - это серьёзное противоречие. В индустриальную эпоху оно лучше всего было решено в Германии в 19 веке путём скидывания задачи выращивания на госбюджет, т.е. изобретения социального государства с сильной системой массового образования, здравоохранения и пенсионного обеспечения.
Как аналитик, который иногда пишет прототип или демку хочу отметить, что GPT бустит мою разработку в разы и упираюсь я часто в качество своих промтов. Проверить гипотезу или потестировать задачу с разными структурами данных можно за 1-2 часа. Да, не на всех языках умеет. Python 4.5 SQL,C++ на 3. Но тешу себя мыслью, что научится понемногу.
Программисты конечно останутся, но новый навык им освоить придётся.
Так IT'шники будут не нужны или прогеры?! А то какое-то обобщение непонятное...
Или тут из разряда микроволновку ченить умеешь?! Ты же IT'шник :))))
Самая востребованная профессия будет архитектор мк систем, так как без счёт не чего писать. Задачи нет, и соответственно решения нет. И зачем тогда программист?! Г@в#окодить?!
Это очевидно произойдёт. Но вот когда - это большой вопрос.
Каюры превратились в таксистов, но не вымерли.
Полностью согласен с Хуангом, ребят (желательно миллионы ребят), пора менять специализацию и искать другую работу, ну а я так уж и быть побуду тут в IT без вас, возьму эту жертву и потенциально низкую ЗП на себя...
Даже не надо замещать людей полностью. При беспрецендентном скачке эффективности программистов в разы по законам рынка в разы могут упасть зарплаты. С учетом этого, действительно перспективы профессии не ясны.
Уважаемый автор, не расстраивайтесь из-за минусов.
Это не показатель качества вашего материала, это лишь показатель того, что на Хабре существует некая группочка персонажей, считающих себя элитариями, считающих, что только они знаю все, что им должны платить $100500 в секунду, а остальные должны ползать перед ними на брюхе.
Недавно столкнулся с интересной мыслью комментариях к другой статье, которая подтверждает моё высказывание (см. скриншот ниже).
![](https://habrastorage.org/getpro/habr/upload_files/d0c/8d4/c64/d0c8d4c641277c81ea3153ad55f713c1.png)
Они готовы докопаться до чего угодно, даже до лишней буквы на изображении, сгенерированном нейросетью (через Copilot на www.bing.com/ правильно угадал???)
Можно, конечно, дать совет потереть лишнюю букву в Фотошопе или любимом мной Photoimpact, но это уже ваше дело - вникать в этот процесс глубже или не вникать.
С уважением к вам!
Через ChatGPT 4.0
Добавил под картинку, какой был промт.
Собственно то, что там ошибка - это хорошо. Это визуализирует текущие возможности и проблемы ИИ, что как раз в тему новости и опроса.
Спасибо :-)
Профессию программиста хоронят давно, в том числе и апеллируя ко всяким системам типа "программирование-без-программирования" на Clarion и новейших zero-code systems. Всякий раз это упиралось в такие скрытые от "магистрального" взгляда вещи, как 1) поиск и устранение ошибок и 2) обновление кода при добавления новой требуемой функциональности. Точнее, это - требование "гладкости" и инкрементальности этого обновления чтобы избежать переписывания кода каждый раз с нуля и связанных с этим рисков 2.1) кратного умножения трудозатрат и 2.2) появления ошибок в старой функциональности, которую из-за такого риска необходимо перетестировать.
Если нейросетка заменит также и тестировщика (о чём не говорят!), то риск (2.2) отпадает. Если нейросеть будет выдавать результат мгновенно и будет неподвержена ошибкам, то отпадают препятствия (1) и (2.1).
То есть да, от кодинга в принципе можно будет избавиться. Но не будут ли "новые" промпты по сложности и объёму сравнимы со "старыми" программами? И, если их объём будет большой, то встанет задача верификации соответствия промптов с ТЗ.
Копипаст из ChatGpt в редактор кода - это называется работа программиста? Ну тогда программист - это любой, кто умеет пользоваться гуглом. Гугл существует с 1998 года, а нас до сих пор не сокращают
Интересно, сколько людей послушают его мнение и передумают идти в программирование? И как это скажется на дефиците специалистов в итоге? :)
помнится, он же говорил, что хочет сидеть на своей должности еще 30-40 лет(а сейчас ему 60), а потом стать роботом....
Мне кажется, и в этом выступлении, и в бурном его обсуждении здесь главную роль играет "абберация причастности": и господин Хуанг, и мы сами причастны к миру IT, поэтому мы фокусируемся исключительно на том, как дальнейшее развитие ИИ отразится на нашей области и на нас как на IT специалистах. Однако, в словах Хуанга слово "программирование" (хотя на самом деле он говорит о computer science) можно заменить буквально чем угодно: нет смысла учить иностранные языки, т.к. каждый теперь сам себе переводчик; нет смысла заниматься искусством, т.к. каждый теперь сам себе художник, видеомейкер, композитор и т.д.; нет смысла изучать юриспунденцию и законы, т.к. каждый теперь сам себе юрист с ChatGPT и так далее, и тому подобное. Можно даже пойти дальше: зачем вообще кому-либо в наше время получать образование за рамками умения читать и писать? Ведь любой ребенок справится с общением с ИИ в формате диалога, а уж ИИ знает и может все, причем намного лучше, чем человек!
Что я хочу показать этим аналогиями, так это не то чтобы даже абсурдность этого высказывания Хуанга, а скорее очень сильный bias, который, судя по острой реакции сообщества, есть и у нас с вами. Именно из-за этого bias-а его прогноз воспринимается так пугающе реальнистично. А на практике - ну что они, вообще всех, кроме чернорабочих заменят ИИ (да, you will own nothing and be happy)? Нет, конечно, а если и да, то в таком новом дивном мире потеря работы программистами будет явно наименьшей из бед.
Мир меняется, ленивых формошлепов на JS наверняка потеснит ИИ, и нужно следить за трендами и повышать квалификацию, но спрос на умных и творческих людей был, есть и будет всегда. А если так, то зачем волноваться?
Гендиректору Nvidia нужно поддерживать ИИ-хайп, потому что именно на нём и выросли его акции. Обычно после таких слов идут распродавать свои акции хомячкам, на самом деле предполагая разочарование в технологии и крах котировок.
Ксаверий, или языковые модели против кодировщиков
На сегодняшний день определенной является лишь одна тенденция: всякий раз при увеличении производительности труда программистов необходимость в них только возрастала.
Повторю ту свой ответ выше
Пожалуйста, не надо.
Ну или хотя бы без картинок.
Не совсем понятно, к чему относится сгенерированный текст комментария (что характерно)
На всякий случай спрошу, динамика состояния банковского счета, с которого идет оплата услуг гоп-чата, тоже будет генерироваться по желанию пользователя?
пользователю не нужны любые другие программы, если нейросеть сможет генерить в реальном времени и с обратной связью видео эмулирующее работу этих программ.
Щито?! Т.е. если нейросеть по запросу "вскипяти воду" нарисует мне видео в котором включается чайник и закипает, то мне не нужна программа, которая на самом деле дистанционно включит чайник и вскипятит воду?
По мнению ген.директора Nvidia (а капитализация его компании больше годового бюджета большинства стран мира), в ближайшем будущем кодить будут только нейросети, а детей уже сейчас нет смысла учить программированию.
Ну такое. Конечно человек, который заработал много денег, имеет право высказывать свое мнение, и наверное его надо слушать. Но также надо понимать, что есть куча компаний, который тоже зарабодали овер дофига, а потом их не стало. Т.е. не каждый успешный владелец бизнеса сейчас - обязательно визионер будущего.
Момент два - а смысл учить детей программированию? Единственное, кто на этом зарабатывает - огранизаторы курсов, все.
Про промт-инжинииринг ... ну такое. Как всегда вспонимается вечное - в хорошем вопросе половина ответа. Я, скажу често, далек от этой области, но что-то мне подсказывает, что там ничего феерического нет. Но знание "половинки ответа" скорее всего требуется полюбому. А вот тут вопрос - как она выглядит
Ну и ... про кодить ТОЛЬКО нейросети/инопланетяне - все ж просто. Кодить в конечном итоге значит выйти на 100% completed level. И часто 98% куда ближе к 0% чем к 100%, потому что эти 2% по закону подлости (и не только) как раз важны.
Для наглядности берем аналогию с управлением машиной. Ну покрывает робот 99.999% времени. Ура, супер достижение. А потом настал 0.001% (что на большом количестве кейсов может оначать чуть чаще чем раз в секунду) и робот передает управление человеку. А тот спит, есть, читает, ... И все. ДТП, трупы и все такое. А главный прикол, что чем меньше вовлеченность человека, тем менее он способен управлять машиной, так как нет практики. В мультике Волли хороший пример деградации капитана, обязанности которого свелись к утреннему приветствию. Но там мультик, все должно закончится хорошо. А в реале нет
Поэтому есть банальный ШИРОКИЙ порог, который надо ПЕРЕПРЫГНУТЬ. Так как до него робот только помощник, а после него - наступило это будущее. Но посередине - пропасть, которую если не пройти быстро - все, кабзда. И итеративно идти - дорога в один конец, так как эксперты в лице кожанных мешков закончатся и все. Ни туда, ни сюда.
И получается, что либо технология заходит и быстро становится полноценной заменой, как авто заменило лошадь, либо сорян - это останется хайпом либо нишевым решением. И ответ на вопрос лежит не в плоскости "ура, мы решаем 80% задач" (на что упирают нечистоплотные товарищи, точнее почти все), и именно в 20%, которые и формируют эту "пропасть", которую надо перелететь.
Поэтому пока не будет решения этих 20% - это пока обычный хайп, за которым, в случае игроков такого уровня вполне может скрываться личный интерес. Но не в том, чтобы достичь будущего, а в том, чтобы хайпанув - достичь своей локальной цели
Программист - это не тот, кто может написать программу. Даже не тот, у кого программа скомпилируется и отработает на первый взгляд как надо (на второй+ взгляд порой нужно слишком много времени). Программист - это тот, кто может нести ответственность за код. А вот тут уже начинаются нюансы. Это похоже на ситуацию с внедрением беспилотных автомобилей.
Программист - это тот, кто может нести ответственность за код
Можете привести пример лицензионного соглашения, в котором такая ответственность была бы прописана?
Можете привести пример лицензионного соглашения, в котором такая ответственность была бы прописана?
Если очень сильно упрощенно, то в любом лицензионном соглашении прописана ответственность программиста, совершенно открыто и явно - как нулевая.
Ответственность чисто дисциплинарная, в рамках компании, часто просто на словах, но она есть.
Все зациклились на программистах, но за деревьями леса не видят. Не нужны будут не программисты, а не нужны будут программы. Условный бухгалтер будет не в условный 1С тыкать, а спрашивать условный 1СGPT: "Вот тебе наша база проводок, сделайка мне отчёт по N-ой форме за последний квартал". Как скоро это будет и сколько это будет стоить - вопрос открытый. Но однозначно что софт и программисты это промежуточное звено, поэтому утилизации будет подлежать оно полностью, а не их внутренняя кухня. Всего 30 лет назад бухгалтерия вообще без компьютеров успешно велась.
условный бухгалтер будет не в условный 1С тыкать, а спрашивать условный 1СGPT: "Вот тебе наша база проводок, сделайка мне отчёт по N-ой форме за последний квартал".
А потом условный бухгалтер будет условно писать условному 1СGPT "у меня условно не сошёлся условный баланс!", а условный 1СGPT в ответ "Извиняюсь за ошибку. Да, конечно, Вы правы. Извините, баланс по счёту 89123456 должен быть не 500, а 100500 руб" — и условный бухгалтер получит условный срок, а условный программист, посмеиваясь в условные усы, выкатит за свои услуги по unfucking-у вот этого вот всего совершенно не условный, а весьма реально конский ценник. "Запомните этот твит" (c)
Как-то так;
![](https://habrastorage.org/getpro/habr/upload_files/2f5/f9b/92e/2f5f9b92edc045d5060043ffc2675226.png)
Генеральный директор NVIDIA Дженсен Хуанг высказал мнение, что каждый сможет стать программистом с помощью ИИ