Pull to refresh

Comments 332

P.S. Картинку для поста сделал через ИИ :-)

На картинке в словосочетании "codde themself" сразу две ошибки. Это ИИ постаралась или промт? В любом случае хорошо характеризует суть возражений к сабжу.

На картинке в словосочетании "codde themself" сразу две ошибки

Это всего лишь мнение белковой формы жизни.

Более того, это мнение устаревшей белковой формы жизни.

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

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

Это вы про Boeing?)

анекдот в тему

Группу профессоров-инженеров пригласили полетать на самолете.
После того как они удобно расселись, их проинформировали, что самолет построили их студенты.
Все, кроме одного, рванули к выходу в панике.
Оставшегося профессора, спокойно сидящего на своем месте, спросили:"Почему вы остались?"
«Я полностью уверен в своих студентах. Зная их, могу вас заверить, что этот кусок дерьма даже не взлетит».

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

Поэтому забавно, что идеальной грамотности требует человек, который пишет "на самолете спроектированнЫм", ведь должно быть "спроектированнОм"

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

Да, я вот тоже не смог запятую добавить.

А это точно не следствие оценок по русскому языку в школе?

Что "это"?

который встречаются

Вы прямо нашли друг друга ))

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

После "самолете" запятой не хватает.

Да что ви такое говорите.
Боюсь, что это уже к окулисту, сэр.
Боюсь, что это уже к окулисту, сэр.

Так даже заголовок написан с ошибками - ни знаков препинания, ни выделения прямой речи.

В первом же предложении пунктуационная ошибка.

Да-а-а. Лучше уж ИИ, чем такие писатели.

Причем, ИИ, который умеет автоматически блокировать публикацию статей.

А промтом я сделал сам текст поста. И попросил ChatGPT сделать картинку, визуализирующую этот пост. На ней было много текста и я попросил полностью убрать текст и добавить в уголок медведя. И вышла указанная картинка.

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

ChatGPT не умеет запятые в тексте расставлять?

Ну дык тренировали ж его на текстах из интернета, ЕВПОЧЯ...

Вот и плохо, что у ChatGPT попросили только сделать картинку, а текст проверить не попросили.

А гендиректор Нвидиа, наверное, крупный специалист в машинном обучении? Или так, нанятый менеджер?

Его не нанимали, он один из основателей NVIDIA. Ко всему прочему, он раньше сам работал инженером.

Гендир Nvidia говорит айтишники скоро будут не нужны

Айтишники говорят, что гендир Nvidia скоро будет не нужен. Его заменят небольшим скриптом.

Сорвали у меня с языка. :)

Ну и пусть заменяют. Когда у тебя 70 млрд собственного капитала, такие мелочи как увольнение особо не волнуют.

Когда у тебя 70 млрд собственного капитала, такие мелочи как увольнение особо не волнуют

... увольнение миллионов людей с последующей массовой безработицей и Великой Депрессией.

А гендиректор Нвидиа, наверное, крупный специалист в машинном обучении?

Прежде всего, ему нужно продать побольше видео карт для машинного обучения.

Ну, побольше карт для майнинга битков он уже продал!

Дженсен Хуанг утверждает, что программистами, при помощи нейронок, должны стать все

"Программирование - вторая грамотность" было сказано много лет назад, как-то поголовного программирования не заметно.

https://habr.com/ru/companies/timeweb/articles/729960/

а самый важный скилл, который нужно приобрести — промпт-инжиниринг.

"Промпт-инжиниринг" - это просто очередной ЯВУ. Стал C++ или SQL "самым важным скиллом"? Стали ли после их появления не нужны программисты на Ассемблере?

Стали ли после их появления не нужны программисты на Ассемблере?

Сколько сейчас в мире программистов, которые хотя-бы половину времени программируют на Ассемблере? Какой это процент от общего числа программистов?

То есть это конечно не так что программисты на Ассемблере вообще больше нигде не нужны. Но если в будущем у нас будет такое же соотношение "обычных программистов" к "промпт-инженерам", то....

Я писал приблизительно то же самое, но догадался обновить страницу - вы все правильно написали раньше. Ассемблер, по моему дилетантскому мнению, в обозримом будущем никуда не денется качественно. А вот количественно, из своей уютной ниши контроллеров (из CPU общего назначения его глобально выдушили намного раньше), его на отлично выдушивают C-подобные языки. Это не значит, что ассемблер не нужен - нет. Это значит, что он нужен редко, в относительно нетипичных случаях, и пользуется ним ничтожное, в процентном отношении, количество специалистов. Ну а чем выше уровень абстракции, тем ниже порог входа - промпт нейросети это очевидно качественно более высокий уровень абстракции, чем любой язык высокого уровня. Игру, которую джва года ждали - где можно набигать и грабить корованы, нейросеть пусть несколько упрощенно, но уже написала. Есть основания предполагать, что дальше будет лучше. А ассемблер останется уделом кучки узких специалистов, работающих ближе к железу в общем и решающих какие-то частные вопросы, включая дизассемблирование. По сути, как и сейчас, только расслоение еще больше усилится.

Мне кажется, авто имел в виду C-подобные языки. Было бы странно писать на C и не понимать, как работает ассемблер.

Было бы странно писать на C и не понимать, как работает ассемблер.

Вполне нормально так делать. Ассемблер - это человекочитаемая запись машинных кодов + немного сахара. С до этого уровня не опускается.

Не очень понимаю, что значит «не опускается до этого уровня». C - это и есть ассемблер, только в более читаемом виде…

Кстати, ассемблер - это не запись машинных кодов. Он потом компилируется в машинные коды, как и многие другие языки.

А как же Forth?

Не могу говорить за Forth, не сталкивался с ним в работе.

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++.

> Эффективнее понимать, что происходит при выходе за пределы массива, и допускать выдачу такого кода, чем "тупо выучить кучу заповедей", но зато писать программы без таких ошибок?

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

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

ИМХО, скорее важно знать хотя бы примерно, как устроена память, регистры и т.д. А также понимать, что такое битовая маска, что деление и умножение на 2 можно сделать сдвигом и т.п. При этом, вовсе не обязательно уметь писать код на ассемблере. Современные компиляторы C/C++ делают весьма эффективный код. Который легко соберется под другой МК в той же Arduino IDE, например.

Если у вас есть все это понимание, то вы уже фактически умеете писать на ассемблере (со справочником). Только названия команд вам нужно будет найти.

Это, скорее, знание архитектуры, а не ассемблера.

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

Именно это я и сказал...

Но если в будущем у нас будет такое же соотношение "обычных программистов" к "промпт-инженерам", то....

... ничего принципиально не изменится :)

BASIC, FoxBase, Ada и ещё целая кучка иже с ними - где программисты на этих языках? А споры про то, что программисты на Java/TypeScript не настоящие программисты? Также и промптщиков будет множество всяких разных. Просто когда-то люди поднялись от Ассемблера к С++, потом к DSL. Теперь к промптам. И вполне возможно, что кончится это всё вообще тем, что промпты повторят судьбу Бейсика, просто выполнив свою определённую историческую роль.

ничего принципиально не изменится :)

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

И ещё раз уточню:я не считаю что он обязательно прав, просто именно ваша аналогия скорее доказывает что он прав.

программистов станет исчезающе мало

Почему?

Даже если большинство из нынешних сможет переквалифицироваться а "промпт-инженеров"

Чем отличается "промт-инженер" от программиста? Ну сменится инструмент и что?

Чем отличается "промт-инженер" от программиста? Ну сменится инструмент и что?

Мечта менеджера: уволить дорогого программиста и посадить на место его дешёвого индуса работающего за еду. Краш-курс: Как менеджерская революция Boeing породила катастрофу 737 MAX

Принципиально изменится то, что программистов станет исчезающе мало.

Инструменты, позволяющие создать сайт без знаний программирования, доступны уже много лет. В самой разной форме. Стало ли исчезающем мало web-разработчиков?

то это всё равно будет означать что товарищ из статьи оказался прав

Не совсем :)

Дело в том, что Вы точно также противопоставляете программистов "в вакууме" и промпт-инженеров "в вакууме". Рассмотрите ситуацию немного шире. Допустим, у нас когда-то давно было 100 программистов на Ассемблере. Потом появился С и 80 из них перешли на него. Стало ли программистов на Ассемблере меньше? Очевидно, да. Изменилось ли общее число программистов от смены инструмента? Говорили ли оставшиеся Ассемблерщики, что Сишники не настоящие программисты? (ещё как говорили :) а уж какие холивары DOS - Win95 были.....)

Инструменты, позволяющие создать сайт без знаний программирования, доступны уже много лет. В самой разной форме. Стало ли исчезающем мало web-разработчиков?

Не-не-не. Вы привели конкретный пример с Ассемблером. Вот у нас появились высокоуровневые ЯП. Стало ли исчезающе мало программистов на Ассемблере? Насколько я вижу стало.

Допустим, у нас когда-то давно было 100 программистов на Ассемблере. Потом появился С и 80 из них перешли на него. Стало ли программистов на Ассемблере меньше? Очевидно, да. Изменилось ли общее число программистов от смены инструмента?

В статье идёт разделение на программистов и "промпт-инженеров". Это не значит что программист не может переучиться и стать этим самым промпт-инженером. Это не значит что у всех промпт-инженеров будут одни и те же инструменты. Это даже не значит что нельзя одновременно быть и программистом и и промпт-инженером. Речь идёт о том что по мнению товарища Хуанга промпт-инженеры будут намного более востребованы чем программисты.

Точно так же как если вернуться к вашей аналогии с Ассемблером, то получается что программисты на высокоуровневых ЯП сейчас более востребованы чем программисты на Ассемблере.

Стало ли исчезающе мало программистов на Ассемблере? Насколько я вижу стало.

Всё верно, ведь ЯВУ и были придуманы для того, чтобы не писать на Ассемблере и машкодах, а SQL - чтобы не писать на ЯВУ типа Си.

В статье идёт разделение на программистов и "промпт-инженеров"

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

Противопоставить sql традиционным яп - это сильно. Я-то думал что это нужно было для отображения реляционной алгебры и всего такого, а тут вон оно что

Противопоставить sql традиционным яп - это сильно

А где Вы увидели противопоставление?

Я-то думал что это нужно было для отображения реляционной алгебры

Никогда не работали с dBase? Не конструировали QBE? Не писали свою СУБД?

https://habr.com/ru/articles/709234/

Посмотрите на схему, если не использовать слой SQL и обращаться к слою "Оператор таблиц", например, вызовами из C, что произойдёт с реляционной алгеброй? Исчезнет из этой Вселенной?

Поэтому Вы правы, когда говорите, что программистов на Ассемблере стало меньше, но стал ли от этого термин "программист" относится только и исключительно к ним?

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

Очень хороший вариант :)

Всё верно, ведь ЯВУ и были придуманы для того, чтобы не писать на Ассемблере и машкодах, а SQL - чтобы не писать на ЯВУ типа Си.

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

Именно так. Но обязаны ли Вы слепо этому следовать?

Причём здесь"слепо следовать"? В статье речь идёт от разграничении между статусом кво(и это назвали "программисты") и следующим уровнем абстракции(а это назвали "промпт-инженеры"). Называть вы их можете как хотите. Смысл то от этого не изменится. И на мой взгляд этот новый уровень абстракции рано или поздно появится. И скорее всего рано или поздно большинство перейдёт на него.

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

Уровень абстракции - это не использовать chatGPT для написания программы, а вообще не зная "что такое программа" обращаться напрямую к chatGPT, вообще не используя других программ, и получать ответ, который мог бы быть получен при помощи специализированной программы. При таком использовании нейросети программисты становятся не нужны, потому что пользователя вообще не знают "что такое программа", и ничего из программ кроме chatGPT не знают, и просто не нуждаются в любой другой программе.

Уровень абстракции 

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

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

Это наивысший на сегодня уровень, пока скорее перспективный, но в целом реалистичный.

(Самый) наивысший уровень абстракции — вот он.

Ну вообще-то повышением уровня абстракции может быть и то и другое. Но даже если вы настаиваете исключительно на вашем варианте, то просто представьте себе что "ответ", который я хочу получить от chatGPT это именно готовая программа, которая удовлетворяет определённым условиям. Или там готовый и задеплоейнный сервис.

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

Как пользователю:

  • если chatGPT получит возможность связи с вашими друзьями, вам больше не будет нужен отдельный мессенджер в виде отдельной программы, а сам chatGPT может нарисовать любой интерфейс мессенджера согласно вашему желанию

  • если chatGPT получит достаточно мощности, чтобы генерить в реальном времени видео на 200 кадров в секунду, вам не нужна будет отдельная игра в виде отдельной программы, а вам будет достаточно описания во что вы хотите поиграть, и chatGPT сама сгенерирует и сценарий и локации, а по ним сгенерит видео игры

Да откуда ж вы, золотые рыбки, берётесь, что за две секунды успеваете забыть, что вам только что показывали???
Самая быстрая команда маляров на Диком Западе!
Самая быстрая команда маляров на Диком Западе!
Перекрасим дом из белого в коричневый за две секунды!
Перекрасим дом из белого в коричневый за две секунды!

Они, похоже, специально такие ролики подбирают, чтобы объекты из виду надолго не пропадали — а иначе фигня получается. Плачущие ангелы, не иначе.

Во первых давайте вы не будете решать за других людей что им нужно или не нужно.

А во вторых это просто примеры. Абсолютно все программы и сервисы ChatGPT не заменит. В самом крайнем случае я могу захотеть чтобы он мне создал другую нейронку.

Называть вы их можете как хотите. Смысл то от этого не изменится.

Именно об этом я и говорю. От того, что по утрам Вы перестали устраивать собрания с коллегами, и деплоите митинг с коворкерами, суть процесса не меняется. И придумывать для него новые термины - занятие спорной полезности.

Причём здесь какие-то собрания и митинги?

Вы считаете что использование нейросетей для написания кода/программ не будет принципиально отличаться от "конвенционального" программирования? И будет требовать точно те же самые навыки и умения?

не будет принципиально отличаться от "конвенционального" программирования?

Что есть "конвенциональное" программирование? Ассемблер + алгоритмические ЯВУ общего назначения: Бейсик, С, Python? Возьмите Forth и попробуйте применить к нему опыт такого конвенционального программирования. Как надоест - SQL, где конвенциональное пошаговое выполнение лучше бы как минимум доставать пореже. А ещё есть функциональное программирование. Оно тоже конвенциональное?

Что есть "конвенциональное" программирование?

Вам хочется демагогией позаниматься? Вы не видите принципиальной разницы между тем как пишут код сейчас и генерацией кода при помощи нейросетей? Тогда это не ко мне. Счастливо оставаться.

Вы не видите принципиальной разницы между тем как пишут код сейчас и генерацией кода при помощи нейросетей?

И в чём именно принципиальная разница между, например, SQL-запросом и запросом к нейросети? В том, что первый Вам не показывает код нижнего уровня, в который он развернулся, а вторые имеют неформализованный синтаксис самого запроса?

вторые имеют неформализованный синтаксис самого запроса?

Именно в этом. Что нет формализации, обозримой человеческим мозгом. Запрос к нейросети, как они сейчас существуют - это заклинание. Который (заглядываем в гримуар-справочник) вроде бы должен делать то, что надо. Но это неточно. И неизвестно, сделает ли он то же самое когда мы, например, железо, на котором нейросетка работает, сменится.

Где-нибудь в недрах кремния после что-нибудь после смены округляться будет чуточку не так - и весь старательно подобранный запрос поедет.

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

Что нет формализации, обозримой человеческим мозгом

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

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

И в чём именно принципиальная разница между, например, SQL-запросом и запросом к нейросети?

Мы всё ещё обсуждаем написание нового кода? Или вас уже куда-то там ещё унесло? SQL запрос не создаёт новый код, а только выдаёт содержимое базы данных в том или ином виде. Или вы серьёзно пишите программы при помощи SQL-запросов? Можете мне тогда так например парсер для ODB++ написать?

То есть я смотрю у вас проблема в том что вы действительно не понимаете в чём разница...

Это не значит что программист не может переучиться и стать этим самым промпт-инженером.

Более того, это не значит, что, переучившись на промпт-инженера, программист ВНЕЗАПНО перестанет быть программистом.

Стало ли исчезающе мало программистов на Ассемблере?

Может, на самом деле их осталось сколько и было. Кто-то же пишет разные низкоуровневые штуки. Просто на фоне фронтендеров/бекендеров/датасатанистов/етц они теряются.

у нас когда-то давно было 100 программистов на Ассемблере. Потом появился С и 80 из них перешли на него. Стало ли программистов на Ассемблере меньше? Очевидно, да.

Эмммм, Вы хотите сказать, что у этих 80 память стёрли? Нет, у Вас осталось 100 программистов на ассемблере, и появилось ещё 80 программистов на Си — просто нельзя использовать все 180 одновременно — надо выбирать.

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

Ну на аде программируют все оракл девелоперы (pl/SQL) :)

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

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

Но я бы сказал что и сейчас большинство программистов его не понимают и это им не особо мешает

...особенно это не мешает им потом удивляться "ой, а как это сервер через мою программу взломали???"

Можно подумать, знание ассемблера гарантирует от непереполнения буфера.

Мне нравится Ваш подход. Как же я люблю необфусцированный код - одно удовольствие с ним работать)

Где вы в моём комментарии увидели что-то про какой-то "мой подход"? Это просто описание статуса кво.

Но если в будущем у нас будет такое же соотношение "обычных программистов" к "промпт-инженерам", то....

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

p.s. Вообще, меня больше интересует другой, более глобальный, и от того более интересный вопрос: если ИИ срежет такой широкий спектр рабочих мест как ожидается (от сравнительно низкооплачиваемых таксистов, до среднего слоя среднего класса типа программистов, не топовых юристов, дизайнеров и медиков), какие ниши они займут? В прошлый раз, высвобождающихся крестьян поглотила промышленность, а куда деваться людям сейчас? Ну и если это снизит их доходы и соответственно потребление, то кому каждый год продавать новый iPhone c ИИ, подписки на беспилотный каршеринг и прочее?

Срaботает оно или не сработает это отдельный вопрос. Речь шла о том что аналогия с Ассемблером скорее подтверждает чем опровергает утверждение из статьи.

Мне кажется, верность аналогии и тезиса будет определяться именно тем, будет ли это работать и как, а на данном этапе непонятно, какая аналогия окажется более верной — станут ли ИИ инструменты "новым С++", который перевернет игру, новой "Тильдой", со своей относительно узкой нишей, или просто еще одним инструментом для программистов, вроде статического анализатора.

В прошлый раз, высвобождающихся крестьян поглотила промышленность, а куда деваться людям сейчас? Ну и если это снизит их доходы и соответственно потребление, то кому каждый год продавать новый iPhone c ИИ, подписки на беспилотный каршеринг и прочее?

Именно, в прошлый раз, во время Великой Депрессии, была Вторая Мировая... :-(

Если быть точным, Вторая мировая началась в 1939, и в это время депрессия уже кончилась, ознаменовавшись колоссальным падением уровня жизни населения, что привело к появлению популистов-диктаторов (Испания, Франция), а то и фашистов с нацистами (Италия, Германия), Англия не могла более напрямую управлять своими колониями и руками Черчиля отпустила их на независимость.

Грандиозность тогдашних, вследствие депрессии, перемен  мы сейчас даже осознать не можем, сравнений нет.

А ведь идет все сейчас к этому. Возможности роста экономики и повышения жизненного уровня населения утрачены вследствие окончания возможностей расширенного воспроизводства капитала, просто закончилось время его жизни, достигнут предел роста. Эмиссия фиатных валют уже не ведет к росту экономики, все уходит на более прибыльный финансовый рынок, а чтобы поглощать такие потоки - активы переоценены (привет Nvidia), старое правило «стоимость компании равно 5-7 годовым оборотам» похерено.

Но это полбеды, если бы был план выхода из этой ситуации. А его нет, либо его не обнародуют. Ведь этот план сто пудов обесценит финансовые активы, а куда всех этих менеджеров фондов, страховых, инвесткомпаний на финансовых рынках девать? Из 100 таких менеджеров и работников останутся дай бог 3-5. Конечно им страшно и они удерживают систему до последнего, постепенно увеличивая риск неконтролируемых процессов падения экономики и, соответственно, уровня жизни населения.

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

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

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

ИИ умеет составлять связный текст и рисовать правдоподобные картинки. Как только найдется способ делать еду, тепло и пр - так и посмотрим.

ИИ умеет составлять связный текст и рисовать правдоподобные картинки

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

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

ИИ умеет составлять связный текст и рисовать правдоподобные картинки. Как только найдется способ делать еду, тепло и пр - так и посмотрим.

Продумать как оптимально где что посадить-вырастить ИИ может и сейчас. Текст и картинки это всего лишь одна из вариаций output. Технически этим output может быть управление сервоприводами комбайна или робота строящего ТЭЦ.

Технически этим 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

и никаких комментариев уже не надо, и десинхронизация уже невозможна.

и никаких комментариев уже не надо

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

ВНЕЗАПНО, пример не идеален, потому что я не собирался тратить два часа времени на выдумывание из головы примера, который будет идеален. А реальные примеры из жизни давать NDA не велит.

Для контекста: комментарий, написанный 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 интернета», он усредняет. А поскольку в Интернете середнячков гораздо больше, чем гениев, результат немного предсказуем.

То есть новых знаний ИИ не добудет

А вы? (С)

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

А вас как с этим?

Вы добываете новые знания вообще, или новые только для вас?

Новые для моей компании — да. Например "почему вот эта хрень в проде сломалась, хотя вчера всё работало".

Мне кажется, такие знания не только ИИ может добывать, а даже я. Например, "потому что у вас в компании доступ к проду имеет рукожоп".

Нет, хохма в том, что наш прод работает со значительным количеством партнёров — а у них вчера был один API, а сегодня — другой.

Секундочку. Был один, а потом стал другой? Или всë-таки за три месяца было уведомление, но см. выше?

за три месяца было уведомление

Размечтался, одноглазый (с)

Уважаемый GPT сделай чтобы игра не тормозила, а то её лепили рукожопы.

Ну например, сегодня новое знание того, что пользователь Хабра SergeyMax не может ответить на вопрос, как у него с мозгом, человеческим мышлением и способностью развиваться познавая мир. И я этим знанием поделился сейчас со всеми. Где-то какой-то ИИ проиндексировал ветку с комментариями и опляля - по запросу студента о написании для него курсовой появится ссылка и суждение о том, что все с никнэймом SergeyMax - боты. Шутка, возможно.

По теме, приведу старое античное греческое рассуждение. Чем свежеопорожненная клепсидра отличается от прошлой наполнившейся, ведь она никак не изменилась? - Тем, что мир вокруг изменился, вот мы узнали вновь и в который раз, что вода в клепсидре не значит ничего, ибо с ней или без неё - наступил новый период и боги даровали нам новое знание о прошлом и новую жизнь, и так каждый раз, хвала им.

Древние греки, что с них взять - считали новым знание о прошедшем тике времени. Вы так же считаете?

А вы? (С)

Ну, у меня хоть шансы есть.

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

Если это дешевле индуса работающего за миску карри, то менеджерам пофиг. :-(

Краш-курс: Как менеджерская революция Boeing породила катастрофу 737 MAX

Какой общий ИИ? Если только в далёком будущем?

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" и т.д. Точно так же будут узкоспециализированные профессионалы, мультиинтсрументалисты и быдлопромптеры.

Я не утверждаю что я хороший учитель (объективно - плохой) или промптер, но я просто прикреплю скрин чата (одна из многих тестовых попыток), последняя версия - не корректная. Предпоследняя корректная, но не то что я хотел.

json в примере - api http://worldtimeapi.org

Использованная программа для запуска LLM - LM Studio (надо отдать должное разработчикам, она на уровне сложности "LLM для домохозяек", всё просто работает)

LLM в примере - Dolphin 2.5 Mixtral 8x7b
Так же есть Deepseek Coder 33B, она справляется чуть лучше, но у неё нет официальной поддержки Swift.
(обе модели обучены для программирования)

Это же сапказм , да..или что такое баги?

Нет, ни разу. Несколько раз встречался в недокументированным поведением инструментов (в данном случае это всё что угодно от пакетного менеджера до IDE), противоречащие документированному поведению. Или просто с крашами, с ошибкой или без. Это вещи, о которых можно узнать только экспериментируя или, быть может, читая исходники.

А программист может самостоятельно прочитать любую документацию и понять ее? Самостоятельно найти баги?

Да последнее веяние генерации документации, полученной из комментариев из кода, это полный пэ.

А ведь бывает, что просто сам код считается самой лучшей документацией.

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

Иногда это объективная реальность. Была (а для кого-то и есть) такая штука - DirectShow. Тем, кто с ней серьёзно работал, известно, что некоторые нюансы без изучения исходников понять невозможно. Отчасти это, конечно, из-за качества документации. Но есть вещи, которые в ней изложить весьма сложно - проще посмотреть реализацию в исходниках и примерах.

Блин, надеюсь, что да. Так хочется игру написать на подобии Ragnarok online в купе с механикой из Pick me up, а в одиночку это лет 5 займёт минимум

Подобного джва года ждут.

Самое главное — это чтобы можно было грабить корованы!

По-моему сейчас главное чтобы не тормозило.

Чтобы не тормозило — купите современный компьютер с 1024 процессорами и 100500 гигабайт памяти! /s

Да что-то тут всего 2 дня ждать готовы.

— Ну cколько уже можно ждать новую Half-Life???
— Ну, ответ как бы вполне чётко прописан в названии!

Если считать со времени выхода первой в 98 году,
то жду уже больше половины жизни (。•́︿•̀。)

Хотя Alyx своим появлением вселила некоторую надежду.

Говорят профессия программист скоро станет неактуальной.

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

А нейросеть для написания кода ты видел? Или идёт речь о генеративной нейронке обученной на куче мала, и даже к глубоко обученной модели которой доступа нет у юзера?

Ну, например, в Visual Studio встроен ИИ-подсказчик. Иногда угадывает, что я напишу дальше, иногда нет. Это считается?

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 мегабаксов в год". Не знаю, насколько это правда...

Безос в год на Blue Orgin из своих денег тратит по миллиарду (не считая прочих расходов).

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

Шутка повторенная дважды, перестает быть смешной. Она начинает пугать.

Everyone is a programmer’ with generative A.I., says Nvidia chief
Published Mon, May 29 2023

https://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

50000 monkey-programmers написали Window10.

Теперь, я надеюсь, мне наконец перестанут задавать вопрос "почему ты всё ещё на Windows 7"?

Тут просили передать:

Возникают вопросы о безопасности такого кода, а также кто будет проверять код, тоже ИИ?

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

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

Пока ИИ не будет автономно стоять у каждого, кто пишет что-то содержащее коммерческую и интеллектуальную тайну - нифига не будет.

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

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

А у нас на хуторе ещё и политикам верят!

Я верю в честность Президента
И в неподкупность постовых ,
В заботу банка о клиентах…
В русалок верю, в домовых.
-- И. Губерман

И тут как солнце из-за туч!..

Я пробовал давать давать спеку разным ИИ. Получившийся код соответствовал спеке, но был нерабочим. Дорабатывать его не имело смысла, я быстрее с нуля напишу. Сейчас вижу два применения ИИ. Он может тренировать стажёров и помогать спецам с других языков быстро делать небольшие задачи на малознакомом языке. Главное, что хочу сказать, ни сегодня, ни завтра ИИ программиста не заменит.

Даже когда код рабочий, видно, что это немного переработанная копия того что нейронка уже "видела", как только вынуждаешь его доработать до чего-то чего нейронка скорее всего "не видела" в обучающей выборке, начинают переть очень глупые ошибки. Удивительно то что даже chatGPT может выдать результаты любого кода, словно в неё в шит интерпретатор, но это не помогает ей избегать тривиальных ошибок в нестандартных ситуациях.

Явно не хватает какого-то ключевого качества. Я много пытался заставить нейронку написать тот или иной участок не сложного кода и у меня даже возникла некоторая "начитанность" результатов, позволяющая точнее понимать с чем она точно не справится.

Хотя, меня это, например избавило от необходимости помнить регулярки. С регулярками нейросети справляются хорошо, а я вот никак запомнить не могу, а если изапоминаю, то быстро забывается. Какое-то конр-интуитивное знание.

когда нейронки, наконец заменять программиста, это будет такой программист, который сможет адаптировать что угодно из того что уже "видел" под нужды промп-инжинера, если править это нужно не сильно. Но что делать с новыми задачами?

Регулярки — это просто ещё один язык программирования. Вот Вам тулзовина в помощь, которая подробно

объясняет, что, к чему и как,
понятным английским языком
понятным английским языком

Спасибо!

А как вам такой аргумент для awk:
awk '/^[.*]$/ {flag=1; next} !flag; /^[/{flag=0}'

А это пояснение, в крадце регулярка выдергивает первую секцию ini-файла:

В этой команде используется флаг flag, который устанавливается в 1, когда awk обнаруживает строку, начинающуюся и заканчивающуюся квадратными скобками.
Когда флаг установлен, awk пропускает все строки до следующей строки, начинающейся с [.

В данной команде используются следующие регулярные выражения:

1. /^\[.*\]$/ - это регулярное выражение ищет строки, которые начинаются и заканчиваются квадратными скобками. Внутри скобок может быть любое количество любых символов (.*).

Здесь ^ обозначает начало строки, \[ и \] - литеральные квадратные скобки (так как обычно они имеют специальное значение), .* - любое количество любых символов, и $ - конец строки.

2. /^\[/ - это регулярное выражение ищет строки, которые начинаются с квадратной скобки. Здесь ^ обозначает начало строки, и \[ - литеральную квадратную скобку.

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

флаг устанавливается в 1 и строка пропускается (next). Если строка не соответствует второму регулярному выражению, она выводится (!flag).

Если строка соответствует второму регулярному выражению, флаг сбрасывается в 0 (flag=0).

Она плохо пишет код, нормально пишет юнит-тесты, не забыв про все известные мне краевые случаи. Один раз даже сама замокала HTTP запрос на два вызова ниже тестируемой функции. И очень хорошо пишет документацию, человеческим языком, особенно если в документированном блоке осмысленные имена переменных.

Извините, но…

— Рабинович, говорят, что доллар падает?
— Да чтоб у меня так стоял, как он падает!

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

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

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

Во-первых, проблема не в написании кода, а в поддержке написанного

Если повезет, как раз тут оно и поможет. Натренеровываешь сеть (нет, не готовую берешь и ей код скармливаешь, а именно весь комплект удовольствий) и потом спрашиваешь "что и где эта куча кода делает?/где искать <описываешь нечто, что (не)должно происходит>"

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

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

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

Интересно нейросеть еще не пробовали натравить на код Cobol'a, чтобы на Jav'у его странслировать?

Программистов пробовали натравить, один из таких проектов заглох в 2010-м (судя по последним новостям на сайте).

https://opencobol2java.sourceforge.net/

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

Что'ж Хуанг умолчал, что это коснётся не только одних программистов, но и всех! В том числе, разорятся мелкие и средние бизнесы из-за отсутствия денег на покупку товаров и услуг.

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

Ленин, 1917г

Как известно, управление государством так и не стало массовым увлечением.

...почему, собственно, то государство и кончилось.

почему, собственно, то государство и кончилось.

...Жаль, у меня еще сколько идей было... (ц)

Нет, то государство кончилось, не потому что им управляли кухарки. А потому, что внуки героев революции - в гробу видали этот коммунизм, им хотелось жить достойно = достойно элиты второй супердержавы мира, а свои партийные дачи и привилегии - они считали "нищебродскими". И вот, после того как СССР не стало - у власти та же самая советская элита, но теперь они могут себе позволить яхты по цене крейсера, и заграничные особняки.

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

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

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

Какой смысл в сравнении капитализации с бюджетом? Ну вот капитализация Nvidia в 32 раза больше бюджета (выручки) самой Nvidia, и что?

Какой смысл в сравнении капитализации с бюджетом?

Очевидно, что бы продемонстрировать уровень остальных высказываний)

Очевидно же - это значит, акционеры верят промптам от гендиректора больше, чем его результатам работы (бухгалтерским балансам). Отсюда следует, что выгоднее делать промпты, а не работу работать - так гендиректор ровно это и сказал, но про себя ему это утверждать, видимо, показалось неудобным, поэтому он высказался о программистах.

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

Да, скоро люди начнут подаваться на другие профессии, но доля программистов эволюционирует во что-то другое.

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

Айтишники, это только кодеры? ИИ видимо и сервера сама будет ставить в стойку и настраивать их?

Чёт походу быть человеком смертным скоро станет неактуальным...

Чего гадать? Давайте спросим сами у chat gpt4 )

Очень интересная тема, спасибо за то, что поделились!

Я согласен с Дженсеном Хуангом в том, что нейросети и искусственный интеллект играют все большую роль в мире технологий и программирования. Это означает, что обучение работы с нейросетями и AI становится все более ценным навыком.

Промпт-инжиниринг - это действительно важный навык, который становится все более востребованным. Он подразумевает способность задавать "правильные" вопросы и формировать запросы таким образом, чтобы получить от системы наиболее полезный ответ. Это требует понимания не только того, как система работает, но и того, как она взаимодействует с информацией.

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

Плюс, обучение программированию также развивает критическое мышление и решение проблем - важные навыки, которые полезны в любой сфере.

Прикольная идея.
Как ни странно с ChatGPT согласен на 100%, а со спорными утверждениями Хуанга только отчасти.

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

А уж от сеошника-то что ожидать? Конечно он будет рассказывать, насколько штука, которую он продаёт, вам нужна, необходима и она вообще всерьёз и надолго. Ровно до выхода новой штуки, которую снова нужно купить, чтобы успеть, успеть, успеть....

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

Мда... И про SQL говорили тоже самое - программисты будут не нужны, менеджеры смогут сами создавать себе отчёты. Прошло N десятилетий - это лишь один из инструментов программиста. И то не всякого)

А вообще, вся проблема в "специализации" людей - ну не сможет условный барбершопер сделать игру даже с ИИ при всем желании. Никак

Работал в 1с франче. 1с - это своего рода ИИ в мире учёта. Даже на простое обучение тыкать в нужные кнопочки уходит несколько месяцев. И даже через год все равно не получится спеца, который сам нагенерит себе нужн