Очень показательный вчера был момент. Минут 10 препирался с нейронкой (и не абы какой, а с лидером Gemini 2.5 Pro) о том, можно ли переделать функцию генератора псевдо-случайных чисел на isize (отрицательные) без модификации? Нейронка долго упиралась, объясняла мне на пальцах, что всё не просто, что придётся всё менять и предлагала более сложные варианты. Я специально приведу код функции, чтобы было понятно даже не программистам, что речь об элементарной логике: `pub fn gen_usize(state: &mut u64, min: usize, max: usize) -> usize { if min >= max { return min; } let range = (max - min + 1) as u128; let rand = next_u64(state) as u128; let idx = ((rand * range) >> 64) as usize; min + idx } Здесь у нас возвращается целое положительное число в промежутке от min до max, которые тоже положительные. Мы проверяем чтобы min не был больше max, и дальше уходим в несложные расчёты. Для любого взрослого человека очевидно, что совершенно не важно, отрицательные ли min/max или нет, ведь range между ними всегда будет положительный, поэтому можно просто поменять в сигнатуре функции usize на isize и всё будет работать. Но не для нейронки.
После нескольких взаимных попыток разжевать друг другу "почему ты не прав", до неё всё таки дошло: Антон, ты абсолютно прав в своем рассуждении. Я, кажется, слишком углубился в детали специфической беззнаковой арифметики и не учел более общую картину. Но пока отложим в сторону мысль, что некритичное соглашательство с нейро-ассистентами ведёт к плохо пахнущей куче вместо кода.
Для меня эта ситуация до боли знакома. Я сотни раз слышал этот вайб от умненьких программистов, выучившихся на мехмате, легко щёлкающих олимпиадные задачки и пасущихся на Хабре (место айтишного престижа).
Общая черта этих программистов в том, что массовая система образования напрочь отбила у них яички способность ходить не по правилам. Это такие холёные прилизанные мальчики, которым мама не разрешает бегать с пацанами в банки-палки и прыгать с гаражей. При любых попытках предложить им сделать что-то нестандартное или не так, как написано на stackoverflow, у них стекленеют глазки, они пугливо хватаются за мамин рукав и плачут "ой, это слишком сложно", "так никто не делает", "есть же готовое решение", "сейчас я объясню тебе, почему это невозможно". Прям как нейронки, обученные на той же самой выборке.
Можно потратить десятки часов, пытаясь объяснить им необычную идею, но это абсолютно бесполезно (в этом смысле нейронка оказалась даже понятливее), т.к. вопрос не в плоскости рацио. Дело в том, что их Департамент Доказательств запрещает делать "не как у людей", пугает неодобрением и ужасными непредсказуемостями. Они найдут любые доводы, лишь бы увернуться. У меня такие долго не задерживаются.
Я часто говорю о том, что надо будить своего внутреннего ребёнка, не надо быть хорошим мальчиком и действовать строго по авторитетным методичкам. Дети, пока они ещё маленькие, всегда готовы пошалить, они с интересом смотрят на мир и постоянно задаются вопросом "а что если?". Так вот этот вопрос и отличает настоящих творцов-мастеров, людей, которые меняют мир, от конформных ботов. Готовность к экспериментам, готовность рискнуть, выйти из колеи одобрения — это и есть та самая искра, благодаря которой человечество развивается. В абсолютно любом успешном продукте, даже если его делает армия корпоративных зомби, где-то у самых корней было чьё-то хулиганское "а что если?".
Если ты не нарушаешь, значит ты не творишь. Значит ты делаешь стандартное, что многократно делали до тебя. Ты просто копи-паста, исполнитель, а не творец. И тебя заменит ИИ.`