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

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

Попал в такую же ловушку. Притом сначала тебе нужны формулы и варианты решения, а потом это перерастает в «напиши мне for цикл, я забыл как»

Кстати если у вас несколько параллельных проеков на разных языках, у меня вот было java, c#, js, pl/sql, то немного начинаешь путаться.

Вы пытаетесь заучить синтаксис :)? Зачем ? В этом совершенно нет никакого смысла, кроме случаев какой-нибудь дичи. (значимые пробелы итп).

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

Жуть какая там у вас. А наизусть методы каких-нибудь популярных классов не требуют знать :)? Ну там не знаю... принимает два параметра, но в каком в точности порядке ?

Пойду поплачу, наверное. Выходит у меня нулевой опыт в множестве языков :).

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

Вы путаете причину и следствие. Если человек не дебил и работает с языком — многие вещи он автоматически запомнит.

Что значит заучить? Если вы пишете на чем-то постоянно, то обычно синтаксис знаете, если какой-то язык не основной, то какие-то нюансы конечно забываются.

Проблемы начнутся когда в погоне за эффективностью пересмотрят эстимейт задач с учетом, что в разработке будет использован genAI. И будет вам work-life-balance, когда вы уже растеряли навык самостоятельного написания кода, но сегенерированный код почему то не работает.

Хорошо если он просто не работает, а не с ошибкой к примеру математического характера

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

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

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

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

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

архитектурному мышлению

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

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

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

Попробуйте сменить деятельность? :)

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

Невозможно «архитектурно мыслить», если не писать помногу код. Ну и есть еще эффект низкой компетенции: я просто не стану слушать архитектора, который не умеет сесть и написать MVP по выдуманной им же архитектуре. Нахер пошлю.

ИИ это Китайская комната. Становится жутко осознавать, как быстро он развивается, и что нас ждет еще через 5 лет..

как быстро он развивается

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

С использованием LLM-ассистента, ваш рабочий процесс станет продуктивнее, но этот же рабочий процесс будет делать вас глупее.

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

Использование LLM-ассистента в рабочем процессе лишает этого.

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

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

Вместо радости от самостоятельного решения проблем, теперь нужно просто попросить LLM предложить дополнение кода

Ну и никто не заставляет этого делать :) Можно ведь не использовать LLM и не обращать внимание на секту "вайб кодеров", которая разносит эту концепцию по интернету как единственно верную и новую, революционную, технологичную "парадигму" программирования. Можно также как и раньше продолжать писать код самостоятельно, думая своей головой, решая задачи. Есть куча компаний, которым LLM нафиг не сдался, у них выстроены свои команды, выстроены внутренние механизмы и разработчиков-людей им хватает.

Любят некоторые списывать со счетов "кодинг". Но я думаю, что этим занимаются те, кто программирование не любит совсем и от алгоритмов, внутреннего устройства Linux, амортизационной сложности и прочих "умных штук" их бросает в дрожь... Не будем им мешать жить в иллюзиях, которые для них построили бигтехи во главе с Альтманом, Хуангом, Цукербергом и другими капиталистами, они вскоре сами раскроют этот "обман".

Возможно они занимаются этим только ради денег?

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

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

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

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

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

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

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

можно использовать LLM только как очень хороший справочник информации,

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

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

Так живые люди тоже могут галлюцинировать или врать,

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

Ну дак проверяйте код, написанный одной ЛЛМ, другой ЛЛМ.

Лучше, его проверяет сама жизнь.

Результаты... так себе.

Вот именно, с ллм возможно тотальное покрытие тестами

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

И часто Вы встречали индуцированные общие галлюцинации? А цеховый сговор между профессорами?

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

Там не цеховый сговор, а военная цензура была.

А так-то исследования торсионных полей тоже в какой-то момент пропали из материалов Академии Наук.

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

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

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

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

Программисты и до ИИ писали целиком с нуля крайне редко, обычно ограничиваясь переиспользованием крупных архитектурных систем. Языки высокого уровня, фреймворки, автогенерация кода, автокомплит, конструктуры типа Wordpress/Mediawiki/Joomla служили тому, чтобы поменьше печатать руками, поменьше вникать в неинтересные низкоуровневые вещи и получать желаемый результат как можно быстрее.

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

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

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

писали целиком с нуля крайне редко

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

неинтересные низкоуровневые вещи

Это тут - самое ключевое. Кому-то такие вещи интересны, кому-то нет. Каждому разное нравится. И уж конечно, если человеку не нравится изучать низкоуровневые темы из области программирования - то LLM тут выглядит как неплохой выход, аналогично "прошлым" его "альтернативам" в виде Wordpress/Mediawiki/Joomla. Не осуждаю, но и не одобряю.

получать желаемый результат как можно быстрее

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

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

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

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

Далее идет развилка. Интроверты пыхтят самостоятельно, пытаясь при помощи молотка и напильника подогнать друг к другу несовпадающие части. И тут успех зависит от усидчивости и целеустремленности. А экстраверты идут на Stack Overflow, чтобы спросить: «А почему не работает?» Этим помогают искренняя наглость и другие «софт-скилы».

Другими словами, манки-кодинг во всей красе. А теперь уже AI-VIBE-monkey-coding.

Вот AI-monkey-разработчик А. И. Шимпанзян передает нам привет из 2055 года
Вот AI-monkey-разработчик А. И. Шимпанзян передает нам привет из 2055 года

Тривиальные вещи, которые джун может не знать, на Stackoverflow быстро подсказывали. А сложные, включая «как скомпоновать простые в один проект», всегда встречались в штыки, т. к. это очевидная «работа за автора».

«как скомпоновать простые в один проект», всегда встречались в штыки, т. к. это очевидная «работа за автора».

Согласен. Наверное по этому вокруг Stackoverflow бродило столько обиженных.

Лично я бродил по сошиал.течнет Майкрософта. Брал, а иногда и размещал практически законченные решения... Но не в программистких, а скорее в админских задачах

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

Я писал ответы на SO. И вопросы тоже. Джуновские вопросы и вопросы «на понимание темы» там заходили, а вот что-то более-менее сложное или узкоспециализированное требовало везения (чтобы пришёл тот единственный спец, который шарит). Мне чаще не везло с более специфическими темами, а по базе C# мне, например, ответил сам Эрик Липперт.

Поддержу, у меня с десяток вопросов на Stack Overflow, большинство из них связаны с библиотекой echarts. Это те случаи, когда не хватает документации либо происходят непонятные баги, которые воспроизводятся только у тебя.

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

Вы за свою жизнь хоть одного человека видели который пишет вопросы или ответы на Stack Overflow?

А мы есть!
А мы есть!

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

сразу писать команды ассемблера по памяти в HEX-формате.

012700 040000 012701 040000 0005030 077102, в чём проблема-то? Вы что, не умеете?

Пробовал, фигня получается:))

А что, у Вас есть рабочая БК-шка?

Так вы код ревью к пройдете

В час ночи наткнулся на этот комментарий, и...

  • mov #40000, R0

  • mov #40000, R1

  • xx: clr (R0)+

  • sob R1, xx

За два часа прочитал две книги, чтобы ответить "нет, не умею, но когда-то умел". Разблокировано воспоминание: распаковка нового БК-0011М в 87м году, всей семьёй.

mov #40000, R0
mov #40000, R1
xx: clr (R0)+
sob R1, xx

Ага! Опыт не пропьёшь!

Разблокировано воспоминание:

Я Вам ща ещё тот самый запах разблокирую!

распаковка нового БК-0011М в 87м году, всей семьёй.

0011 — не труЪ!

не труЪ!

Об этом я узнал почти сразу же, т.к. игры от 0010 не хотели запускаться на 0011. ;-)

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

Так в той книжке ценность не Фокал, в той книжке ценность — полное описание ассемблерных команд в последней части, потому она и была величайшей ценностью.

Давеча таки решил стать ВАЙБ кодером. Описал 3 простеньких класса максимально подробно, составил ПРОМПТ, на что ушло несколько часов. (Продумал архитектуру и тп, все результаты работы и эксепшены описал, запустил и....

Как копайлотовский агент на Клод 3.7 не ежился, он не смог нагенерить рабочую программу, а в коде было буквально насрано с 6-7 уровнями вложенности. Хотя мыслил он туда...

Переписал сам, стало в 2 раза короче и читаемее, нашел пробелы в тз. Попросил хотя бы тесты написать, так он и их без правок не написал.

Даже расстроился, мне срочно надо было...

Cursor ai не пробовали? Кстати, я сталкивался с тем, что качество генерации меняется через какое-то время. Я тут переписывал некий скрипт pl/sql на postgresql строк на 500. Ну очень лень было руками. Первый раз что то странное сгенерил. Через полчаса почти тот же промпт дал результат то что надо, он даже разобрался с таблицами системного словаря и подобрал аналоги. Там пришлось конечно кое что поправить, тоже промптами, но это уже мелочи были.

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

Суровым сибирским лесорубам подарили новую японскую бензопилу. Подставили доску:

- Вжик! - сказала японская бензопила.

- Ух! - сказали суровые сибирские лесорубы. Подставили бревно:

- Вжик! - сказала японская бензопила.

- Ух! - сказали суровые сибирские лесорубы. Подставили железный лом:

- Крррр....! - сказала японская бензопила.

- Ага! - сказали суровые сибирские лесорубы.

LLM не делает вас тупым. Она просто убирает иллюзию, что вы были умным.

LLM покажет как глубока кроличья нора

Какой-то запредельно подростковый тейк.

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

Мне возразят: программирование -- это другое. СОГЛАСЕН. Потому что шуруповёрт -- это сила, выносливость, надёжность и аккуратность. С LLM в программировании всё [пока] гораздо хуже: его начинает глючить там, где программистских сил вполне хватает. А там, где начинается серьёзное, ИИ лучше привлекать только для подсобных и типовых работ.

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

Я занялся разработкой ПО, потому что мне нравится что-то создавать и разбираться, как это работает. Это значит, что я получаю удовольствие, кропотливо набирая блоки кода на своей клавиатуре.

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

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

Я уже собрал 3 пет проекта за 5-6 месяцев и еще десяток мелких прототипов. Раньше я бы за них даже не взялся, т.к. это было слишком сложно и долго.

Я уже собрал 3 пет проекта за 5-6 месяцев и еще десяток мелких прототипов

Доказательств, конечно же, не будет.

— А вот соседу 80, и он говорит, что может три раза за ночь!…

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

А я Вам тоже бездоказательно расскажу, что я году так в 1985-м собирал логические элементы, на транзисторах и диодах (если мне не изменяет склероз, НЕ был на П-223Б, а И — на ГТ408), по схемам из журнала.

Какая связь с темой статьи?

Никакой, я отвечал на Вашу претензию о том, что я «не пишу на ассемблере или сам не собираю процессор». Да чёрт с ним, с ассемблером — я прямо в кодах могу. А Вам слабО?

Лучшие инженеры, которых я встречал — люди, которые могут в свой выходной часами просидеть над улучшением ПО или созданием своей тулзы

А shareholder' ы то как бесконечно рады встрече с такими лучшими инженерами и их практически бесплатной работой в кампании)

Назло бабке отморожу уши...

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

А кто будет тогда интеллектуальной элитой, которая развивает общество?

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

Программисты домашней странички да, не были.

А вы кардиостимуляторы или ракеты программируете?

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

Это не троллинг. Разработка в 2025 — ремесло проще дворницкого и интеллекта не требует вовсе.

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

Разработка в 2025 — ремесло проще дворницкого и интеллекта не требует вовсе.

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

Или глубинные познания АСД (абстрактно синтаксического дерева) не требуются для разработки своего собственного языка программирования? Я уж молчу о тоннах математики и алгоритмах, которые нужны для разработки собственного компилятора, интерпретатора или JIT-компилятора (а для него ещё и байт-код нужно собственный написать или использовать существующую платформу). Это тоже не требует интеллекта и проще ремесла "дворницкого"?

Слишком узкопрофильно? Ок, а разве виртуализацию таблиц для размещения огромного количества данных на страницах веб-приложения легко реализовать самостоятельно, да так, чтобы удовлетворяли всем хотелкам дизайнера? Да и про оптимизацию макро- и микро-таск на JavaScript что-нибудь слышали? Бывают ситуации, когда Event Loop иногда просто зависает и нужно кучу страниц проанализировать (иногда по тысячи строк JavaScript-кода) чтобы понять, какая именно таска блочит весь глобальный Loop. Это тоже проще простого и не требует интеллекта?

Да даже анимирование элементов на веб-странице (тем более в веб-приложении) нефига не лёгкая задача, если анимация не какая-нибудь простая, а сложная, с разными вложенными элементами и какими-нибудь математическими вычислениями (тот же популярный нынче эффект "системы частиц" на страницах довольно сложен в реализации). Тоже самое про анимацию в мобильных приложениях можно сказать. Это не требует интеллекта? И я не говорю о каких-то действительно сложных кейсах клиент-серверного взаимодействия или даже механик на странице (те, кто разрабатывает САПР в браузере через Three.js или WebAssembly не дадут соврать).

Я лично использовал интерполяционный многочлен Лагранжа в веб-приложении на React.js, чтобы поддержать анимирование UI-компонентов для браузера Safari (для Mac'ов), просто потому что другой быстрой альтернативы нельзя было подобрать, а CSS-свойства не все этим браузером поддерживаются. И это до сих пор отлично работает без перебоев, но чтобы до этого решения дойти мне пришлось изучить некоторые разделы вычислительной математики.

А уж если о низкоуровневом программировании говорить... там вообще кучу всего нужно знать, понимать и принимать. Тем там куча, как и в графическом программировании под DirectX, Vulkan API или OpenGL.

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

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

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

глубинные познания АСД (абстрактно синтаксического дерева)

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

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

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

Опровержение? Несостоятельность? Вы там белены объелись?

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

А чего Вы, собственно говоря, так на это реагируете? Я глянул на Ваши статьи (кстати, неплохие) и в одной из них увидел во введении вот это:

Я часто говорю, что если язык лишен встроенных средств работы с AST — абстрактным синтаксическим деревом — то этот язык спроектирован не очень умными людьми. Идолопоклонники могут с пеной у рта доказывать, что AST никому не нужно, или что хорошего API к AST — достаточно, или что прикрученное сбоку AST-представление закрывает потребности…

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

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

Я так на это реагирую, потому что «знание и применение» — это про усердие, а не про интеллект. Зайца можно научить курить, а обезьяну — применять теорвер и аффинную геометрию.

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

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

«знание и применение» — это про усердие, а не про интеллект

То есть, знание в само свойство интеллекта не входит? Очень странно. Такое мнение идёт в разрез с современным пониманием того, что такое есть вообще интеллект даже на самом верхнем уровне (достаточно хотя бы термин интеллект почитать). Это многое объясняет.

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

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

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

знание в само свойство интеллекта не входит? 

Не только обученная на коленка ЛЛМ, но и банальная Вики «знает» в тысячи раз больше, чем мы с вами в принципе сможем познать за жизнь. В словарях интеллектом называют способность мыслить, а не знать. Понятия не имею, откуда взялась чушь про «современное понимание». Вы, кажется, путаете интеллект с эрудицией.

возможно Вы в эти «любые области» не углублялись

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

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

называют способность мыслить, а не знать

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

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

Память входит в интеллект, равно как и знание. Без этого никак нельзя узнать есть у человека интеллект или нет. Это уж совсем очевидно.

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

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

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

Впрочем, если отрицаете интеллект и его важность в разработке, и не используете его при программировании - не осуждаю :)

Это уж совсем очевидно.

Одно из неоспоримых обязательных атрибутов интеллекта — стремление к оперированию логикой вместо голословных утверждений «это очевидно».

То, что человека берут на работу ещё не значит, что его кому-то предпочитают. 

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

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

Да Вы крутой :) Если это правда, конечно. Прям уговаривают? Интересно, какой путь нужно было пройти, чтобы стать таким востребованным у СТО со всего мира...

Можно начать с осознания того, что разработка в подавляющем большинстве случаев — ремесло, не требющее какого-то специального приложения интеллекта.

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

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

Разработка в 2025 — ремесло проще дворницкого и интеллекта не требует вовсе.

Это смотря чего. Перекладка джейсонов — то да.

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

Молодому художнику очень нравится процесс рисования очередного портрета, столько нового еще можно попробовать, столько лиц и все разные - восторг. Художнику, 20+ лет рисующему эти лица они уже не кажутся такими уж разными, а очередная новая техника в трехтысячный раз уже не так радует, как в третий. Его больше интересует скорость и эффективность работы, чтобы продать побольше картин за единицу времени. Да и ворк-лайв баланс оказывается не блажь, а очень даже важная метрика. Вот было бы здорово, если бы эта железяка за него делала всю работу, а он бы только самообучением занимался да пробовал новое, до чего руки никак не доходят.

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

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

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

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

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

Я хочу попробовать создать такую модель с чистого листа и постепенно продвигаюсь к этому в рамках свободного домашнего проекта. Пока что освоил обучение кодер-декодерных трансформеров с помощью OpenMNT и декодерных с помощью Pytorch. Как раз сейчас продолжается обучение GPT2 модели, которая будет генерировать произвольные тексты по плану пользователя. После этого этапа я и планирую начать эксперименты с моделью для программирования. Для начала модель будет переводить псевдокод на русском в код на Python. Дальше, то же самое с блок-схемами. Ну а если всё пойдёт хорошо - то текст в произвольном форме в программу.

Предполагаю, что необходим сбалансированный и размерянный сценарий использования AI.

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

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

AI на мой взгляд сродни калькулятору, и все чаще натыкаюсь на подобную аналогию. И тут все зависит от использования - кто то 2 + 2 в голове не может сложить и считает на калькуляторе, а кто то занимаясь высшими науками перекладывает на калькулятор решения больших рутинных вычислений. Вот vibecode на мой взгляд сводит все именно к первому случаю.

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

Задам глупый вопрос - а умение обходится простыми алгоритмами вместо сложных совсем не ценится?

Умение посмотреть на задачу перпендикулярно - дорогого стоит. Знаменитое "А что- так можно было?"

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

«Любая, даже самая сложная, проблема обязательно имеет простое, легкое для понимания, неправильное решение.» — Артур Блох

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

И к стати. Простое - не всегда лёгкое для понимания. Зачастую - наоборот.

Да я согласен с вами, конечно, с самого начала был — просто не мог пропустить такую прекрасную оказию упомянуть красивую цитату.

Цитата красивая, согласен. Я просто про то, что то, что (нагородил то - что:) кажется вам недостатком, кажется недостатком кому-то ещё. Или вообще им является.

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

Любой нормальный разработчик скажет, что тут нет никаких серьёзных препятствий для полноценной работы. Но таких нормальных 10% от силы. Остальные застопорятся на какой-нибудь ерунде в первые же полчаса и не смогут дальше работать.

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

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

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

А в ИИ могут закончиться токены, сервер занят или

...полуостров какой отжали...

Набирание блоков кода - это именно то, что сейчас можно спокойно делегировать ИИ.

Уже который год спокойно делегирую это Ctrl-C/Ctrl-V . Что самое ценное — так это то, что за все эти годы они ни разу не сгаллюцинировали.

А вот у меня копипаст постоянно глючит: нажимаешь Ctrl + V, а вставляется то, что полчаса назад копировал. Или буковка потеряется. Или скопируется перенос строки. А если из таблиц значения копировать, то там что только не прицепится.

А я вот сижу на системе, написанной не ИИ — и у меня такого не происходит.

Повезло. А у меня такое происходит уже больше 20 лет.

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

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

И так:

Паять можно паяльной станцией. А можно паяльником в виде топора, который греют на примусе. Если вы, конечно, знаете, что это такое. Правда-правда, можно. Но для этого нужна квалификация, примерно переводя на уровень программиста - понимание всей архитектуры процессора + архитектуры системы на нём построенной. Вплоть до знания напряжений на разъёме сетевой карты:) И чистый ассемблер. Или коды.

Со временем у вас развивается зависимость от инструментов LLM. Это приведёт к тому, что вам будет трудно работать без AI-помощника.

100% Разводить примус гораздо сложнее,  чем щёлкнуть выключателем паяльной станции.

 Я занялся разработкой ПО, потому что мне нравится что-то создавать и разбираться, как это работает. Это значит, что я получаю удовольствие, кропотливо набирая блоки кода на своей клавиатуре.

Очень здорово смотреть на живое пламя примуса, видеть цвета побежалости на жале паяльника. И уловить момент, когда нагрев надо прекращать. Это истинное удовольствие

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

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

 Со временем я начал забывать базовые конструкции языков, с которыми работаю. Я начал забывать элементы синтаксиса, как использовать основные операторы. 

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

К чему всё это? К тому, что не надо кидается в крайности!

Паять можно паяльной станцией. А можно паяльником в виде топора, который греют на примусе. Если вы, конечно, знаете, что это такое. Правда-правда, можно. Но для этого нужна квалификация

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

Было бы очень интересно увидеть

Ну если вы мне дадите е-маил программиста с описной мной квалификацией (" понимание всей архитектуры процессора + архитектуры системы на нём построенной. Вплоть до знания напряжений на разъёме сетевой карты:) И чистый ассемблер. Или коды. "), то я ему скину :)

И кстати, паяльники в виде топора были очень разные. Весом от килограммов до нескольких десятков грамм (и размером 10х10х50мм примерно). Smd не обещаю, но обыкновенный навесной резистора на двухслойной плате таким перепаяю спокойно. Они, к стати, для ремонта монтажа в полевых условиях и делались. Я так понимаю, вам не приходилось диаметр намоточного провода с точность до 0.1 мм сантиметровой линейкой мерить. Или микросхемы 100-ватным паяльником запаивать. Потому что других в продаже не было. А трюк был простой - на жало плотно наматывалась спираль из тонкой медной проволоки, конец которой затачивался, залуживался и использовался как жало. Это я к тому, что инструмент вторичен, если есть навык. Хотя не отрицаю, что в ряде случаев без специнструмента - никак.

понимание всей архитектуры процессора + архитектуры системы на нём построенной. Вплоть до знания напряжений на разъёме сетевой карты:) И чистый ассемблер. Или коды.

Поскольку Вы не уточнили, какого именно процессора, я подниму руку.

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

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

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

При чём тут примус? Там у Вас уже под Курском дома в руинах, не говоря уж о немножко более отдалённых местах.

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

Ничего страшного, дiд Панас на низком старте. Только таксу он возьмёт не простую, а золотую.

Так проблема не в том, что AI делает тупее. Если человек спрашивает у AI, как что-то сделать, и просто использует результат, не проверяя его (AI далёк от идеала) и не изучая (увеличивая собственные знания) – наверное, этот человек уже не очень умён.

Ну реально: ты не знал, как что-то сделать, тебе показали, ты разобрался, возможно, исправил ошибки в показанном, и стал тупее? Шутить изволите?

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

AI делает тупее того, кто безраздельно доверяет тому коду, что выдает AI. Чтобы понять этот код нужна определенная квалификация в той области программирования, где работаете. Лично я AI использую в оперативной парадигме, когда нужно сгенерить код на клиенте и сэкономить время. Но код полностью анализирую и фильтрую. Если есть непонятные места переспрашиваю что это значит. Нельзя использовать код который ты не понимаешь. Часто код подправляю ибо есть часто в нем ошибки, так как не работает. В архитектурных решениях не использую AI. Это важно, чтобы контролировать проект с использованием ИИ. В SQL не использую AI, так как БД это часть архитектуры и он здесь бесполезен.

Как раз спросить про архитектуру — одно из немногих действительно ценных потенциальных применений LLM (перестаньте уже называть их AI), потому что возможен вариант «свежего взгляда», когда LLM подтолкнет вас к изучению нового подхода, который вам просто не пришел в голову.

Код писать всё равно самому гораздо быстрее, чем промпты, да и LLM тяготеет к «средним по больнице» решениям, в которых наверняка будут три подряд вызова map вместо одного reduce.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации