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

Ну, "вайб-переводчики" уже есть. Жена профессионально много лет занимается техническим переводом. И в какой-то момент количество заказов упало - все стали говорить "а мы переведем с помощью ИИ". А в последнее время появились заказы типа "мы перевели с помощью ИИ, статью не приняли в журнал, сказали что какая-то бессмыслица, поправь пожалуйста".
И начинается - попытка поправить что-то локальное приводит к тому, что разваливается вообще все. Статья становится похожей на коллективное письмо из Простоквашино - абсолютно непонятно "кто на ком стоял". Т.е. просто русская статья переписанная английскими буквами.
И надо просто все выкидывать и переводить заново (с кодом, кстати, бывают похожие ситуации - приходит что-то на доработку, смотришь, и понимаешь, что просто доработать тут не получится - нужно все переписывать заново иначе получишь дикое количество костылей).
Переводчик переводит не слова и не фразы. Он переводит смысл. Т.е. надо прочитать и понять о чем речь на исходном языке и сформулировать все это на целевом. А в техническом переводе еще терминологию выдержать, которая на разных языках в разных областях может отличаться.
все стали говорить "а мы переведем с помощью ИИ"
А раньше они же переводили с помощью google translate.
Пытались, но там вообще не было шансов.
До них просто быстрее доходило, что тут профессионал нужен.
Как говорится,
Вам не повезло. Специалист, который лечит, в отъезде, но есть второй — не хуже.
Лучше договориться лично. Хотя можно и по направлению.
У нас только по пропускам. Хотя можно пройти и так.
Лечение стоит дорого, но можно и не платить.
Нянечкам, сёстрам обычно платят, но они ухаживают и так.
Поэтому я вам советую подождать специалиста, договориться с нянечкой и заплатить.
Но можно этого и не делать. Если вас не интересует результат.
А еще раньше с помощью magic-goody и promt...
Может быть у вас вопрос в специфике терминов. Но вообще я часто перевожу чатботом с английского на испанский статьи с большим количеством "legal" терминов и причем скармливаю ему сырой HTML и прошу сохранить разметку - выходит вполне себе неплохо. Потом переводчику остаётся только проверить и местами поправить, но не прям таки переписывать с нуля.
Речь о переводе научной статьи с русского на английский для публикации в англоязычном журнале. А там ее вычитывают редакторы и могут просто завернуть если плохо переведено. Так вот что переведено ИИ обычно заворачивают.
Речь не о переводе "для себя", речь о переводе для публикации в рейтинговых журналах. А там достаточно жесткие правила к качеству перевода.
Ну и английский-испанский относятся к одной группе языков. Там проще немного в плане терминологии и языковых конструкций. Русский и английский очень сильно отличаются структурно (если можно так выразится). Там слово-в-слово не перевести. Совершенно разные строения фразы. Плюс русская терминология в той же оргхимии (оргсинтез), к примеру, может сильно отличаться от западной.
Речь о переводе научной статьи с русского на английский для публикации в англоязычном журнале.
Тут не просто переводчик, тут нужен специалист в конкретной научной сфере, который ПОНИМАЕТ что написано в статье и который при этом хорошо знает иностранный язык.
Потому как обычный переводчик в научной статье по не гуманитарному направлению таких перлов налепит, что мрак будет - нельзя адекватно переводить то, что не понимаешь.
Потому как обычный переводчик в научной статье по не гуманитарному направлению таких перлов налепит, что мрак будет...
С улыбкой вспоминаю Promt и его знаменитый прямой и обратный перевод фразы "как пить дать - how to drink to give - как пить чтобы дать"... сейчас таких уже не делают :-)
английский-испанский относятся к одной группе языков
к разным.
Германо-романские языки – это группа языков, включающая германские и романские языки.
Западногерманские:
Английский, немецкий, нидерландский (голландский), африкаанс, фризский, идиш.
Иберо-романские:
Испанский, португальский, каталанский, галисийский, арагонский, астурийский, сефардский.
Германские и романские языки — это вообще таксоны разного уровня. Германские — это ветвь, входящая в индоевропейскую семью, а романские — это группа, входящая в италийскую ветвь индоевропейской семьи.
Ну если смотреть исторически, то английский содержит много латинских корней. Там некая смесь кельтских языков и латыни (последствия присутствия римской империи на британских островах).
Так что это не совсем германский язык, а некая смесь.
Много корней — это да, влияние католиков, норманнов, французской гегемонии 18 века (как в русском языке) и современной научной терминологии огромно. Но принадлежность ветви/группе определяется происхождением, синтаксисом и базовой лексикой, а они там германские.
Там некая смесь кельтских языков и латыни (последствия присутствия римской империи на британских островах).
Кельтское влияние в английском околонулевое, и в основном ограничено топонимами. И когда англосаксы завоёвывали Британию, они гораздо больше латинизмов принесли с собой, чем унаследовали у кельтского субстрата.
Но принадлежность ветви/группе определяется происхождением, синтаксисом и базовой лексикой, а они там германские.
Они там характерные для пиджинов, т.е. сильно упростившаяся грамматика и фонетика (исчезли германские падежи, двойственное число, сократились число спряжений глаголов и количество звуков).
Т.е. это изначально просто пограничный, креольский язык в проходном месте, где между собой контактировали множество представителей разных языковых семей с сильно отличающимся синтаксисом, который в итоге неизбежно упростился до общего среднего, чтобы они друг друга понимали.
Германские и романские языки — это вообще таксоны разного уровня.
Вы разве не видите — предыдущему дяденьке гопота натрындела...
С научными статьями есть такой момент, что они по сути своей должны быть в формате облегчающем автоматический перевод. Структурированы. Написаны как можно более однозначно понимаемыми формулировками и с использованием более менее однозначно понимаемой терминологии.
Русский и английский очень сильно отличаются структурно (если можно так выразится). Там слово-в-слово не перевести. Совершенно разные строения фразы.
Да вот хрен там. Сейчас все подряд уже пишут не каноническое инвертированное написание, обозначающее не утверждение, а вопрос, и в конце ставят знак вопроса.
Я раньше думал, что это такая фишка ненейтивов, но потом понял, что это прям массово в англоязычных странах.
Да там наверное через гигачат переводили)
Переводы для публикации, или отчетности компаний - то есть где требуется точный перевод - да, надо текст допиливать руками после ИИ. Но всё меньше и меньше.
А для чтения статей, и понимания "о чем в целом говорит иностранец" - даже текущего ИИ более чем достаточно.
Для понимания и гуглоперевода достаточно было.
А вот в технических статьях, а уж тем более в юридических документах - только руками.
Хорошие технические переводчики получаются из людей с высшим техническим образованием. Способных понять что именно они переводят.
Жена вот берет переводы только по физике или химии (образование соответствующее) или связанные с интеллектуальной собственностью и патентным правом (большой опыт работы не переводчиком в этой области - тут надо понимать особенности нашего и не нашего законодательства в этой области). И никогда не берет математику, биологию, медицину или общую юриспруденцию.
оценка профпереводчика в настоящий момент почти наверняка замешана в том числе на эмоциях. Отрицательных, поскольку, как Вы сами пишите, количество заказов снизилось. В любом случае, качество перевода, в том числе профильного текста ( статьи, диссеры, отчеты) это вопрос небольшого времени. Основываясь на собственном опыте перевода научных статей по спектроскопии, могу сказать, что никакое профильное образование почти не может помочь, поскольку в актуальных научных статьях описываются новые, пока широко не известные вещи.
Ну жена за заказами уже не гонится, занимается этим больше для удовольствия, а не ради денег (это не основная ее деятельность). Так что ту эмоции только оттого, что приносят "мы тут ИИ перевели, статью не приняли, поправь пожалуйста". И эмоции не положительные т.к. править там нечего, нужно все делать заново (то, что она переводит проходит без проблем в любые рейтинговые журналы).
И речь не о том, что описывается новое - это слишком узкий подход. Речь о том, способен человек понять вообще о чем речь или нет. И правильно передать смысл (а не просто переписать английскими буквами русскую статью) с учетом принятой терминологии. А иногда еще и "с автором работать" приходится на тему - "что вот тут имелось ввиду".
Вот вы говорите что переводите статьи по спектрометрии. И, видимо, в этой спектрометрии что-то понимаете. Терминологию, принципы как это работает.
А теперь представьте что вам дали статью в области, где не понимаете вообще ничего. Ну, скажем, какая-нибудь палеонтология. Или медицина какая-то специфическая. Или фармакология... Вряд ли вы сможете ее качественно перевести без подготовки. Невозможно качественно перевести текст, не понимая его смысла.
Кстати, про эмоции.
Электронному болвану можно мозг выносить бесконечно, задавая очень глупые вопросы о конкретных формулировках и терминах.
Но для этого надо на каком-то уровне языком владеть.
Для понимания о чем в целом говорит иностранец, я не нанимал отдельного переводчика. А если кто-то нанимал в формате командировки или личной встречи - он всё ещё будет нанимать, по я думаю понятным причинам.
Смотря какой формат. Если деловые переговоры на серьезном уровне где речь о больших деньгах, то нанимают даже зная язык. Причем, там еще каждый своего - свой переводчик переводит на язык своего заказчика.
А в последнее время появились заказы типа "мы перевели с помощью ИИ, статью не приняли в журнал, сказали что какая-то бессмыслица, поправь пожалуйста".
Профессия будущего:
Vibe code cleanup specialist

мы же сейчас о технической литературе а не о художественной ?
ИМХО, с технической литературой как раз проблем нет, ИИ хорошо справляется. Ну а если там вода, то да, нужен переводчик.
ну вот, еще один пророк, которому этот мир абсолютно понятен, пытается внушить нам свои субъективные откровения, замешанные на смутных поверхностных аналогиях и сугубо индивидуальной интерпретации вокабулярной семантики.
"ну" стоящее в начале надо писать в большой буквы, а в остальном плюс-минус верно.
Тоже мне, учитель правописания, нашелся 😂. Научился бы сперва сам деепричастные обороты запятыми отделять, а потом бы уже строил из себя грамотея "в большой буквы". И чё за народ пошёл, бревна в каждом глазу, а всё туда же...
Мне кажется, что в своём желании поспорить, Вы неправильно поняли написанный мной комментарий.
Мне кажется, в своём желании выглядеть всегда правым вы готовы во всём усматривать неправильное понимание, особенно, если это касается альтернативных точек зрения на ваши субъективные верования.
А как в эту Вашу концепцию укладывается тот факт, что я с Вам согласился?
Согласился, это когда принял явно, полностью и без оговорок. А вы начали своё якобы "согласие" с неуместных нравоучений и закончили невнятным "плюс-минус". Какое же это согласие? Манипулятивная имитация, с целью последующих формальных ссылок на неё, для того чтобы при любом раскладе иметь возможность так или иначе "подтвердить" свою неустойчивую неуловимую "правоту", в которой вы так отчаянно нуждаетесь.
Согласился, это когда принял явно, полностью и без оговорок. А вы начали своё якобы "согласие" с неуместных нравоучений и закончили невнятным "плюс-минус". Какое же это согласие?
Это не нравоучение, а усиление.
Возможно, Вам стоит подумать о том, насколько Вы соответствуете вот этому описанию.
Усиление чего, простите? Амплитуды колебаний вашей демагогии? 🥺
Усиление согласия, когда я говорю что согласен с Вами по сути и усиливаю это несогласием с чем-то не имеющим отношения к сути.
Ну-ну. "Усиление согласия несогласием". Какая-то вайб-логика у вас. Впрочем, на ней и статейка ваша построена.
Почитал ветку - вы либо троль, либо у вас какие то проблемы, токсичность нездоровая абсолютно
А бывает здоровая токсичность, доктор? Ваша, например, токсичность, она здоровая что ли? Или вы мистер Трамп? 😂 Вы бы по веткам меньше лазили, может быть более точные диагнозы тогда бы ставили. Да и вообще, шли бы вы на свою ветку, не мешайте нам с коллегой развлекаться, а то я своих позову.
Минус вайб какой-то
Ну или у вас инверсия восприятия. Похоже, вы свою токсичность не замечаете из-за этого. Своё говно - не воняет 😂. Вот чё влез в разговор, а теперь вам придется строить свою теорию и обоснования выдвигать. У меня в этой ветке 35 плюсов, у вас всего три. Так что счёт пока в мою пользу 😁
Лайки лайками, но плюс вайб у вас все не получается
у вас всего три
ну и на момент ответа у меня всего 2 лайка)
Ну я же интуитивно экстраполировал динамику наших лайков. 😜 А плюс вайб, минус вайб, да хоть градиент мнимых вайбов в скалярном поле комплексных вайбов, - какая мне разница? Всё это от систем отсчёта сильно зависит, от индивидуальных точек зрения. Так что развлекаемся дальше. 🥂 Да и вообще, я без очков писал, наверное спутал вас со сламмером, у которого уже 6. Но у меня то уже 39 😜
Ваша игра в глоссарий создаёт занятный когнитивный диссонанс. С одной стороны — фрактальное усложнение синтаксических конструкций, с другой — редукция самого предмета спора до бинарной оппозиции "я прав / вы нет". Не находите, что эта попытка компенсировать дефицит тезисной базы избыточностью лексического аппарата является сама по себе перформативным противоречием, которое вы так любите находить у других? 😉
Не следует так серьёзно, аж до когнитивного диссонанса, воспринимать мои невинные забавы. Ваш словесный мусор, который вы тут щедро набросали, безуспешно пытаясь поверхностно подражать моему способу самовыражения, выдаёт в вас лишь невнятное агрессивное умничание, вместо продуцирования хоть какого-нибудь смысла. Так пусть же ваше бессодержательное лексическое шоу останется эпическим гимном паталогическому словоблудию, до тех пор, пока вы не научитесь более ясно выражать свои мысли, если у вас таковые когда-нибудь появятся.
Показательно, что вы не уловили не только смысла моего комментария, но и его иронии, при этом тут же прибегнув к тем же приёмам, в которых пытались меня уличить и над которыми я как раз иронизирую.
Спасибо кэп. Вы слишком серьёзно относитесь к своей иронии и страстно увлечены фильтрацией воспринимаемых вами сигналов и их произвольной интерпретацией в рамках вашей фальшивой теории, построенной на фэйковых постулатах вашей слепой веры в вашу непревзойденную правоту и исключительную непогрешимость, при этом не можете себе представить, что кто-то, имея вполне обоснованную иную точку зрения вправе противопоставлять её вашей священной умудрённости. Ещё раз спасибо, поржал от души над вашими искрометными потугами сыграть серьезную роль в этом балагане высокомерия и надменности зажравшихся манией собственного величия снобов, беснующихся от иррационального гнева на тех, кто посмел разворошить это осиное гнездо связанных круговой порукой бездарных графоманов и подвергнуть сомнению их творческие таланты 🤣🤣🤣.
У меня сложилось впечатление, что данный персонаж - из лагеря ИИ-фанатов, которые переоценивают перспективы развития ИИ в наше время и очень болезненно реагируют на любую критику в адрес ИИ
Ребят, вам делать нечего?
Смысл твоего коммента : Я испытываю потребность вставить пять копеек из-за желания самоутвердиться, но сказать по существу мне нечего, так что доебусь до заглавной буквы, а потом ещё потролю.
Все знают что предложение начинается с заглавной буквы. Все понимают кто ты и что, ты не дофига тонкий тролль. Старайся лучше, я хочу смеяться с интернет клоунов, а не испытывать желание уйти из комментариев раз и навсегда.
А с чего вы решили, что вас здесь кто-то обязан развлекать?)
Естественное ожидание когда видишь на человеке клоунский нос.
Причастные, невежда. Как и все ничтожества, кому хватило мозгов поставить плюс.
"ну" стоящее в начале надо писать в большой буквы
И снова вы плодите логические рекурсии))
ну вот, еще один пророк
Да никакой он не пророк, он рассказывает очевиднейшие вещи, которые ИИ-фанатики упорно не хотят понимать и принимать.
Хайп вокруг ИИ оказался обычным пузырём.
Как мне нравится аргументация уровня "очевиднейшие вещи"))
Контраргумент в виде "сам дурак" считается достаточно весомым?
Контраргумент в виде "сам дурак" считается достаточно весомым?
Никто и не говорил такое, это уже вы додумали.
Как мне нравится аргументация уровня "очевиднейшие вещи"))
Да уже куча статей и новостей выходила о том, что ИИ сильно переоценили. Что он привносит в код свои уязвимости. Причём с фактом из последней статьи я сталкивался лично - ИИ сгенерировала мне нерабочий код с методом, который не существует в библиотеке, к примеру.
Я не знаю, в каком изолированном информационном пространстве вы находитесь, чтобы для вас статья звучала как "неведомое пророчество от шиза, которого и слушать не нужно", а не как выводы на основании последних новостей и фактов про ИИ, чем она по факту и является.
Никто и не говорил такое, это уже вы додумали.
А я и не утверждал, что кто-то такое говорил. Я просто продолжил ваш уровень аргументации "очевиднейшие вещи". Но вы аналогию, по всей видимости, не оценили - очевиднейшими они могут являться только для вас. Зачем тогда вы это постулируете как некую Истину?
Да уже куча статей и новостей выходила о том, что ИИ сильно переоценили. Что он привносит в код свои уязвимости. Причём с фактом из последней статьи я сталкивался лично - ИИ сгенерировала мне нерабочий код с методом, который не существует в библиотеке, к примеру.
Мне вообще плевать на подобный научпоп - они всё небо уже пальцами истыкали. Я могу вам набрать пул статей с ровно противоположными выводами.
Вы лично сталкивались с галлюционированием ИИ? И что? Вы ожидали иного?)) Вы только подумайте - код с глюками ему разок сгенерировали... Если бы вы плотно поработали с ними, то поняли бы что "борьба с глюками" - основной трудозатратный фактор. Я порой на разные лады переформулирую задачи, максимально абстрагирую и упрощаю их и т.п. И все равно тону в багах. Но с помощью тех же нейросетей постепенно из них можно выбраться. И знаете что? Для многих задач это все равно в разы эффективнее "самостоятельной работы". Нужно просто применять подходящие инструменты и с умом ;)
Я вот вообще заявлю - что нейросети (вот вы их ИИ обзываете - уже как будто не понимаете их принцип) пока что сильно недооценены. Настоящий хайп пойдёт чуть позже ;)
Так что похоже что в "изолированном пространстве" находитесь пока именно вы ;)
«борьба с глюками» — основной трудозатратный фактор.
..и в конце концов выходит, что «лучше бы сам написал».
P.S.
Сейчас в порядке эксперимента OCRю при помощи LLM десяток страниц сплошных цифр, а потом вычитываю результат глазами. (Ускорение происходит за счёт того, что читать быстрее, чем печатать больными руками). За примерно 500 запусков 20 разных моделей идеальный OCR без единой ошибки получился 3 (три) раза.
P.P.S. Некоторые модели вообще требовали «сделай мне картинку получше, нифига не вижу». Хотя я — вполне себе вижу.
..и в конце концов выходит, что «лучше бы сам написал».
Не всегда. Иногда просто идею может годную подкинуть. Уже профит.
Сейчас в порядке эксперимента OCRю при помощи LLM десяток страниц сплошных цифр, а потом вычитываю результат глазами. (Ускорение происходит за счёт того, что читать быстрее, чем печатать больными руками). За примерно 500 запусков 20 разных моделей идеальный OCR без единой ошибки получился 3 (три) раза.
Ну опять-таки - вообще не удивили)) За точностью - это вообще не к ним! Я за ними орфографические ошибки так-то исправляю ;)

Хайп вокруг интернета тоже оказался обычным пузырём, если кто забыл.
Скоро вайбкодинг превратиться в воуккодинг, а программистов-натуралов начнут притеснять
Да, в идеале отказаться от фреймворков, стаковерфлоу, ide. Пишем код в блокноте и сверяемся с официальной книжкой-документацией. Если кто-то действительно так думает - то вы больной человек к сожалению.
Не всем стать вами, кто наверняка наизусть знает устройство всех технологий и процессов. Нужны и люди вроде меня, кто за пару тысяч долларов типовые задачи в ИИ загружает. Извините
В ответ на какие именно мои слова Вы это написали?
Хм, судя по тону комментария - вы на что-то обиделись, но на что?
Ну вот я пишу (не в блокноте, конечно - в vim), и сверяюсь не с книжкой, а с man funcname|libname. Это несложно, когда знаешь чего хочешь и как это сделать.
А надо было просто какого-то левого кода на SO набрать, авось подойдет?
Непонятно...
Пишем код в блокноте и сверяемся с официальной книжкой-документацией.
Это чересчур вайбово. Предлагаю сразу вернуться к программированию в машинных кодах и пробиванию перфокарт гвоздём. )
Да, в идеале отказаться от фреймворков, стаковерфлоу, ide. Пишем код в блокноте и сверяемся с официальной книжкой-документацией.
умение писать код в блокноте по документации - это как бы и есть признак профессионализма. Такая необходимость периодически случается, особенно когда задача редкая.
Было у меня как-то писал код для китайского принтера штрих-кодов на внутреннем языке (по счастью, он был не с китайским синтаксисом), по которому нашелся только один мануал - тупо справочник, единственный пример кода, найденный в интернете, относился вообще к другой модели и отказался работать. Все маркетплейсы были полны этих принтеров, была куча информации по различных настройкам, но по коду не было ничего, кроме достаточно левого мануала (какой-то индус на коленке записал список операторов языка). Почему пришлось так? Потому что стандартными настройками нужного результата получить не удалось, надо было написать шаблон на встроенном языке. Не всегда бывают решения задач "где-то в интернетах", которые смог прожевать ИИ (и еще не набредить при этом). Документацию надо читать, а код уметь писать и без IDE, это вообще без разговоров.
Рассчитывать на то, что в идеальном мире всегда будет хотя бы интернет, в свете недавних событий немного глупо - очебурашится российский интернет, и некоторые вещи даже будет негде спросить.
Рассчитывать на то, что в идеальном мире всегда будет хотя бы интернет, в свете недавних событий немного глупо - очебурашится российский интернет, и некоторые вещи даже будет негде спросить.
Не поверите, но когда "вкатывался в IT" в 89-90гг, именно так все и было. Никакого интернета, никакого гугла и ничего такого не было.
Одной из первых задач была написать программу управления настенным табло. Которое купили где-то "срук", без никакой документации, только демо программка к нему.
Цеплялось оно к COM порту. Пришлось заниматься реверс-инжинирингом - гонять демку под QA (Quaid Analyzer) и сопоставлять - что выводим в демке, что она пишет в порт, что появляется на табло и т.п. Благо там протокол примитивный оказался, сильно много времени не заняло.
И в целом такого, что приходилось постигать методом "а если сделать вот так, что будет?" было предостаточно.
Помним, помним, распечатки заголовочных .h файлов от runtime library, потому что других материалов по С как бы и нет.
Не надо такое желать )
Ну там еще были распечатки досовских прерываний, как помню... Хотя не всех. Описания прерывания RTC (номер не помню, оно 1024 раза в секунду "тикало") я так нигде и не нашел тогда. Пришлось методом тыка доходить до того, что оно однократное - флаг разрешения прерывания там сбрасывался автоматически и нужно было его каждый раз в обработчике выставлять заново если хочешь чтобы оно в очередной раз "тикнуло".
Но допер и что-то на нем делал даже...
Совсем ничего полезного, кроме вырезки речи экс-директора. Одно имхо. LLM это просто инструмент, и только.
Совсем ничего полезного, кроме вырезки речи экс-директора
А что в ней полезного?
Образец блескучего маркетинга.
Вай-вай-вай! Какая эра наступила! Ничего делать мозгом не надо! Почувствовал бабочек в животе вибрации, пригубил из бокала с вдохновением, сбацал промт и куришь бамбук, наблюдая, как на экране появляются сияющие строчки божественного кода, который даже править не надо - если что, Великий ИИ поправит сам (блин, ошибку ему всё равно придётся руками скормить, на да ладно).
Макконнелл и Мартин растащены на подставки под кофе (Кнут, он толстый, используется вместо отвалившейся ножки стола тимлида). Слова "паттерн", "алгоритм" и "рефакторинг" теперь считаются ругательными. Прод наполняется со скоростью Ниагары. Новые заказы падают стремительным домкратом. По офису бегают розовые пони и срут радугами.
Круче только речь Остапа-Сулейман-Берта-Мария-Бендер-бея перед Нью-Васюкинскими любителями шахмат. "Из Васюков полетят сигналы на Марс, Юпитер и Нептун. Сообщение с Венерой сделается таким же легким, как переезд из Рыбинска в Ярославль. А там, как знать, может быть, лет через восемь в Васюках состоится первый в истории мироздания междупланетный шахматный турнир!"
Копайте глубже.
Вайб-кодинг появился в 1947 году с изобретением ассемблера, который позволил не вбивать цифрами машинные коды, а писать на языке, напоминающим естественный - буквально отдавая машине команды сложить числа, записать их в стек или вызвать процедуру. Программисты ликовали, так как это экономило им тысячи часов времени, потраченных на программирование и исправление ошибок в потоке цифр!😍
Тогда 1С - программеры - это вайб-кодеры в чистом виде )
В случае 1С, вайб-кодерами являются бухгалтеры, продажники и пр.
Я сдержался и не стал писать в статье о том, что истинным вайбкодером является начальство/заказчик программиста, который в форме простой беседы выссказывает свои пожелания, а потом получает непонятный ему код, который хз как работает. :)
А вот эту простую мысль, похоже, многие просто не думают.
Человек, который просит LLMку написать "вот такое и вот такое" - это и есть тот самый Заказчик, который ставит задачу Исполнителю.
И чем больше Заказчик понимает, чего просит - тем успешнее будет результат.
И если мы примем сходность этих процессов, то окажется, что Заказчику стратегически выгодней довольствоваться тем результатом, который Исполнитель сделал исходя из своих внутренних установок, чем ломать Исполнителя через колено, принуждая того делать то, что он делать не умеет.
Вот, например, те же картинки. Чем сложнее промпт, чем детальней, тем больше в нём будет нестыковок и противоречий. А простой промпт даёт не совсем то что нужно, но оно гармонично и внутренне целостно.
Ну, либо заморачиваться очень сложным проптом, но это отдельная сложная работа, которую не все осилят.
Согласен с вашим видением вайбкодинга. В обозримом будущем из программистов останется один директор, вообще не кодер, который человечнским языком простым коротким промптом пояснит Железному Дровосеку свои желания.
Почему простым? Да потому, что робот после 100500-го написания ну совершенно уникального приложения под вот ужас прям какой новационный бизнес будет знать все хотелки клиента еще до того как тот закроет рот.
Местная публика не согласна и заплевывает, но фавт есть факт, кодер -это переводчик с человечьего на машинный, а теперь робот сам понимает по-нашенски. Вайбкодинг
Заказчик очень редко понимает, а ещё реже может объяснить точно, чего он хочет, пока исполнитель не задаст ему правильные вопросы.
Адекватные (да, ниже это адекватные) заказчики в массе своей, бывают трёх типов
Я хочу машину времени. Бесплатно. Вчера. Красную, но черно-белую. Да, я прекрасно понимаю чего хочу, что за глупый вопрос? Ладно...где мне уступить?
Я мог бы сделать то что и ты - но я начальник, и у меня есть своя работа. Так что - Аутсорсеры/подчинённые - общий сбор!
Я стартапер/бизнесмен/неразводила - я мог бы разобраться...а может и не мог бы - сделай как-нибудь, мой проект все равно развалится через полгода / не будет нуждаться в поддержке ближайшие лет 200.
Я полагаю, что вакансии со всякими шабашками действительно под угрозой (и это крупная и прибыльная часть рынка) То что тимлиды, менеджеры и прочие - действительно пойдут совокупляться с ботами в жизни не поверю - хотя там очевидно тоже потребуется меньше людей для работы. А вот то что условный дядя гриша, которому нужен сайт его шашлычной, пойдет не то что к ботам, а даже на специальный сервис конструктор - Это уже фэнтези которое я даже как фикшн не смог бы принять.
Практически всё вышеописанное в дистиллированном виде: семь красных линий
Как говорится, «мы опытным путём установили, что если клиент сначала попытается обойтись своими силами, то наш средний чек прилично повышается!»
Практически всё вышеописанное в дистиллированном виде: семь красных линий
Перечитал. Ещё раз убедился в том, что в тексте нет указания ни на то, что перпендикулярные линии должны быть ПРЯМЫМИ, ни на то что они должны пересекаться все в одной точке.
в тексте нет указания ни на то, что перпендикулярные линии должны быть ПРЯМЫМИ ни на то что они должны пересекаться все в одной точке.
Даже несмотря на это, в трёхмерном евклидовом пространстве невозможно, чтобы «каждая из линий была перпендикулярна всем остальным» для
Но самое главное — нет указания, что пространство обязано быть евклидовым.
Даже несмотря на это, в трёхмерном евклидовом пространстве невозможно, чтобы «каждая из
линий была перпендикулярна всем остальным» для
![]()

Во-первых, у меня, конечно, описка вышла, следует читать "в -мерном евклидовом пространстве невозможно, чтобы «каждая из
линий была перпендикулярна всем остальным» для
А во-вторых, перпендикулярность таки не определена для произвольных линий.
Из заказчиков вайб-кодеры, честно говоря, так себе, заказчик (и не только в IT-сфере) зачастую очень плохо представляет, чего он хочет.
Должно быть весело, все бы двигалось и звучала неземная музыка.
Тогда ступаем ниже, замена физических перемычек на машинный код это уже вайбкодинг.
Кстати, черновик статьи назывался "Вайб-кодинга не существует". Как раз потому, что невозможно отличить якобы вайб-кодин от якобы не вайб-кодинга.
Не согласен. Вайбкодинг существовал и до LLM, по сути это методология написания работающего говнокода, не важно как, главное чтобы работало сейчас, какие там вермишели на выходе - никого не волнует. Просто это не инженерный подход. Для маленьких сайтиков и приложух сойдет и то на время. Ассемблер, IDE и т.д. - это набор инструментов для инженера. LLM - это мультитул-дерьмогенератор для вайбкодера.
Не согласен. Вайбкодинг существовал и до LLM,
Ну об этом и речь. У терминов есть две критически важные свойства и задачи:
- показать что точно является частью определяемого явления
- показать что точно не является частью определяемого явления
И в данном случае, если мы попытается выделить из всего "программирования" хоть сколь либо ограниченное явление "вайб-программирование", то мы не сможем, потому что указанным свойствам будут соответствовать явления как внутри, так и вовне предполагаемому "вайб-программированию". То есть, за этим термином не будет стоять какого-то отдельного НОВОГО явления.
Мысли у вас скачуть, сложно вас понять. Определение есть: вайбкодинг - процесс написания кода пр вайбу, а не в рамках инженерного подхода. LLM - новый инструмент для вайбкодинга
Определение есть: вайбкодинг - процесс написания кода пр вайбу
А как Вы определили, что человек скопировавший год со Стэковерфлоу, действует не по вайбу?
Да вроде не сложно, критерий простой. Если просто закинул в проект, не глядя, не вникая в суть, и заработало - вот он, вайбкодер. Если осмыслил, переработал, сделал задел на будующее, в общем, интегрировал в свой проект - не вайбкодер. Тут смысл простой - если не хочешь вникать в код, будешь вайбкодером и твой проект будет похож на ласкутное одеяло, а в последствии на вермишели. Видал не мало таких франкинштейнов. Если вникаешь, то пытаешься по максимуму сделать разумно и понятно. Работоспособность, отказоустойчивость, расширяемость и т.д. оставим в сторонке, как и сложность проекта.
А кому-то удавалось решить какую-то прикладную задачу скопировав код с стековерфлоу ?
Так вообще бывает? Я вот сколько не бился - не выходит каменный цветок. Пока мозгами не начнешь думать ничего не работает сколько не копируй.
Да кто же в таком признается то.
Односторочники на BASH
Бойлерплейт код к графическием тулкитам (PyQt, tkinter)
Конструкции SQL-запросов
А кому-то удавалось решить какую-то прикладную задачу скопировав код с стековерфлоу ?
Конечно, удавалось! Я не программист, а физик - поэтому у меня нет угрызений совести по этому поводу, и признаваться не стыдно :) конечно, у этого метода ограниченный спектр применения. Он хорошо срабатывает, когда понятно, что надо сделать, но лень копаться в синтаксисе языка (повторюсь, я физик, а не программист).
Конечно, удавалось! Я не программист, а физик
Так и запишем: квалификацией, достаточной, чтобы понять, какая ерунда в итоге получилась, не обладаете.
Работает, результат выдаёт нужный а не рандомный - значит цель минимум достигнута
Так о том и речь: откуда Вы знаете, что результат правильный? Ах, Вы сами посчитали — и совпало? Минуточку, но если Вы смогли сами посчитать — то зачем в этой картине LLM?
Стиральная машина нужна не потому, что я сам не могу постирать.
Стало быть программист знает что результат правильный?))) Передаю привет всем программистам у которых их творения стабильно запускаются без ошибок и багов).
На самом деле, правильно было бы сказать - программист имеет теорию о том как должен работать его сегмент кода. Но вообще....
.
Я пользуюсь таким определением, потому что оно честное:
Правильным, является такое решение, в коем пока что не было найдено критических недочетов. И с этой перспективы, решения физика вполне себе верные...Другое дело, что когда у человека есть теория как должно все работать - все вроде как понадежнее.
Много раз помогало
В какой момент стаковерфлоу стал тоже вайбкодингом? Прежде чем скопировать со стаковерфлоу человек прочитал то что копирует и понял что вроде подходит - это уже противоречит определению вайбкодинга суть которого в полном абстрагировании от кода
А почему по умолчанию считают, что, если скопировал со Stack Overflow, то "прочитал то, что копирует, и понял, что вроде подходит", а если скопировал с LLM, то сразу "вайбкодил и вставлял без разбора и тд, и тп"?
И там, и там есть те, кто копирует вдумчиво, и те, кто просто берёт первое попавшееся и пытается его пропихнуть.
это уже противоречит определению вайбкодинга суть которого в полном абстрагировании от кода
Там написано " Код выходит за рамки моего обычного понимания, мне приходится действительно читать его некоторое время."
То есть, он имеет дело с кодом.
Как раз в том то и дело, что описанное "скопировал вроде бы похожий код и он вроде бы сработал", это тот самый копипаст из интернета.
Эм нет, тот же вопрос: Вы пользовались стаковерфлоу для написания кода? Чтобы вот так просто сравнивать с агентным программированием не говоря уже о вайбкодинге
Чтобы вот так просто сравнивать с агентным программированием не говоря уже о вайбкодинге
Я сравниваю по конкретным критериям:
- использование клавиатуры
- работа непосредственно с кодом
- работа с кодом написанным самим
- работа с чужим кодом, который не очень понимаешь
- использование чужого кода в режиме "щас запустим и начнём ошибки отлавливать"
Вы не ответили на вопрос
ответил в соседней ветке.
Про стаковерфлоу нет там ответа.
Давайте упростим ситуацию
Вы говорите с чем именно в тексте статьи не согласны и мы вместе идём смотреть, есть там это или нет.
Положение статьи: всю историю люди вводили абстракции одну над другой чтобы упростить себе жизнь и вайбкодинг на самом деле просто ещё одна абстракция сверху.
С этим не согласен: вайбкодинг не скрывает какие-то сложности на уровне ниже, он в принципе абстрагирует пользователя от того что делает программист. Простой пример: я могу открыть replit и написав ТЗ и потом откорректировав его уточняющими сообщениями получить рабочий сайт. При этом вообще не видя ни одной строчки кода и не имея понятия как делают сайты.
Ранее ни одна абстракция не позволяла полностью абстрагироваться от предметной части. И именно знание предметной части на определенном уровне абстракции отличало программиста от не программиста.
В статье совершенно не указан один момент, который я считаю пока ещё важным в программировании и сложно выполнимыми в вайб кодинге: написание ясного, чистого кода, в понятной архитектуре/структуре (с возможностью ручного изменения/поддержки).
Чем плох вайбкодинг большого объёма для программиста - разобраться и привести в "правильный" вид нагенеренный результат стоит немалых усилий. А без этого внесение ручных изменений очень затратно, и без них пока никак.
Да, можно подискутировать, что такое "правильный" и почему бы сразу в промт не заложить такие условия, но по моему опыту заклинания ллм: либо шашечки, либо ехать.
Наверняка со временем эти недостатки буду устранены, либо люди перестанут смотреть в исходники, так же как в машинные коды, но пока оно ещё не пришло.
По идее, финальный исходник вайбкодинга - это упорядоченный набор годных промптов, проверенных и отлаженных, так, чтобы при их повторном использовании получались воспроизводимые результаты, желательно на разных моделях, но это уже будет лютый полиморфизм. ))
В статье совершенно не указан один момент, который я считаю пока ещё важным в программировании и сложно выполнимыми в вайб кодинге: написание ясного, чистого кода, в понятной архитектуре/структуре (с возможностью ручного изменения/поддержки).
Дык, я говорю не о том, что вайбкодинг это неправильно и как должно быть правильно. Я говорю, что в принципе это не сильно отличается от того, к чему отрасль пришла.
Просто набросать на коленке прототип из говна и палок, который, если что, будет переписан, сейчас рассматривается как вполне приемлемый вариант.
Тогда ступаем ниже, замена физических перемычек на машинный код это уже вайбкодинг.
We need to go deeper (с): вайбкодинг начался где-то между 2700 и 2300 гг до н. э. в Месопотамии с изобретения абака. А т.к. нейронные сети и в головах тогдашних сапиенсов обладали способностью галлюцинировать (особенно, под веществами), то и результаты не всегда были детерминированными.
Хотя... We need to go deeper! Вайбкодинг появился с появлением сознания, лишённого прямого управления физиологическими процессами, когда программирование рабочего дня стало осуществляться маловразумительными инструкциями типа "сначала точим палку, потом идём искать мамонта, потом тыкаем в мамонта палкой - и профит!". Или не профит, т.к. результат на любом этапе был совершенно не гарантирован. :)
Жозеф Мари Жаккард одобряет этот комментарий. )
Если бы ассемблер на каждый перезапуск генерировал бы разный машинный код, временами еще и неработающий - я бы с вами согласился, пожалуй.
Если я в Makefile вставлю промпт к чатжпт - какие шансы что сегодняшний и завтрашний билды будуть иметь хоть что-то общее?
Нет. Основное отличие современного "вайб-кодинга" от всех прежних попыток - недетерминированность.
Ассемблер, С, языки высокого уровня, да даже графический интерфейс "мышкой натягал блоков" - всё это детерменировано. Ты формулируешь приказы на чётко определённом, однозначном языке - и получаешь результат.
Когда ты пишешь код с помощью генеративного ИИ - результат не детерминирован.
Основное отличие современного "вайб-кодинга" от всех прежних попыток - недетерминированность.
На атомарном уровне, да.
Однако, по мере развития отрасли, увеличения числа и сложности инструментов, размеров и сложности продуктов, ДЕТЕРМИНИРОВАННОСТЬ пропала.
Даже если мы отдадим чёткий приказ, то нет никакой гарантии того, что его исполнят так же как в прошлый раз:
- изменилась версия языка программирования
- изменилась библиотека
- изменились настройки или дефолты операционной системы
- изменился удалённый сервис обработки данных (формат апи, логика, айпиадрес)
На бытовом уровне это проявляется особенно ярко, когда софт и сервисы меняют своё дефолтное поведение и поведение существующих кнопок.
На уровне разработки софта, это проблема с зависимостями, когда твой однозначно трактуемый код может перестать работать из-за изменения не твоего кода.
Собственно говоря, на уровне продукта детерминированности не было в принципе, именно для этого нужно было тестирование и валидация софта.
Semver и Lock-файлы: ну да, ну да, пошли мы нахрен...
Semver и Lock-файлы: ну да, ну да, пошли мы нахрен...
Наличие средств борьбы с недетерминированностью поведения софта, возникающей в следствии изменения поведения сторонних библиотек, является подтверждением наличия той самой недетерминированности.
Вы совершенно прелестно путаете недетерминированность и недостаток данных.
В софте всё детерминировано кроме железных глюков.
Изменение поведения вашего софта от апдейта либы тоже строго детерминировано. Просто вы не утруждаете себя выяснением подробностей (в случае opensource), или данные от вас скрыты (closed source). Как и сам факт обновы может быть на авось, вообще на фоне; а может быть под присмотром строгого CI/CD.
Из недетерминированного в вашем компьютере только видеовход вебки и прочие аппаратные (читай -- физические) шумы и гсч. Не употребляйте этот термин к <<"стохастически">> переехавшей кнопке из-за скачки какого-то апдейта. Это слишком вольно и демагогично.
Из недетерминированного в вашем компьютере только видеовход вебки и прочие аппаратные (читай -- физические) шумы и
То есть, результат работы LLM тоже детерминирован?
гсч
Там нет "гсч", там "гпсч" - псведо-случайных чисел.
Там нет "гсч", там "гпсч" - псведо-случайных чисел.
Остановите этот поток лажи. Именно гсч -- генератор истинно случайных чисел из накопленной процессором энтропии. Псевдо-случайные числа -- это из другой оперы.
Стесняюсь спросить, а откуда Вы знаете с какого компьютера я сейчас сижу, чтобы делать вывод о том, что у него в процессоре есть, а чего нет? :)
А зачем вы разбрасываетесь такими громкими заявлениями, да ещё и обвиняете оппонента в "лаже"???
У вас есть примеры генераторов истинно случайных чисел? И "копенгагенской интерпретацией" от меня вы уже не отмахнётесь - это всего лишь постулат, причём не единственный такого рода ;)
Вот придумалось забавное упражнение. Давайте проверим ваше понимание случайности и (не)детерминированности.
Какова вероятность, что в завтрашней газете будет чётное число букв? 50%, 0%, 100%, иной ответ?
(со звёздочкой) А во вчерашней?
Нам нужны ответы на упражнения. 50% и 50%?
50% и 50%?
Мадам, динозавра встречаете? /s
Я всерьёз, мадам, ваше мнение? Навскидку 50 и 50. Но у меня знания тер. вер. и математики в целом ниже уровня плинтуса.
50 в обоих случаях. Нечётное число тут ничуть не приоритетнее.
А "звёздочка" - это отсылка к коту Шрёдингера. Но до того как мы провели измерение.
Теоретически, могут сделдать газету из одних фото, и даже заголовок выдать из фото/картинок "буквообразных" объектов, а-ля Мурзилка или парковые украшения.
Выйдет 0.
Частные, явно аномальные случаи, в задачах такого вида обычно не подразумеваются. Так-то я тоже в уме могу держать тот факт, что газета завтра может вообще не выйти, значит число букв - чётное. Т.е. вероятность чутка выше 50%.
К риторической задачке про динозавров, например, можно добавить допущение "выйдя на улицу 250 миллионов лет назад" - и вуаля...
Так-то я тоже в уме могу держать тот факт, что газета завтра может вообще не выйти, значит число букв - чётное.
Нет.
Даже если забыть о профиле ресурса, на котором идёт это обсуждение, и сказать "раз не газета не вышла, значит в ней НОЛЬ букв", то чётность нуля это дискуссионный вопрос.
А учитывая профиль Хабра, количество букв в невышедшей газете будет NaN , NULL , FALSE , (пустая строка) и т.п., в зависимости от реализации, а там чётность возникает из-за принудительного приравнивания "ничего" к нулю, которое конвенционально ПРИЗНАЮТ чётным..
Нет.
Ну как нет, если "да"? Давайте разбираться ;)
то чётность нуля это дискуссионный вопрос
Ну допустим. Я готов признать эту неоднозначность, но вы, почему-то даже не пытаясь разобраться в этом вопросе, сразу кричите "нет."...
Теперь по поводу чётности. Чётное число - то, которое делится на 2 без остатка. 0 делится на 2 без остатка. Т.е. формально математика однозначно трактует 0 - как чётное число! Парируйте ;)
А учитывая профиль Хабра
Вот этот шедевр мне больше всего нравится)) Какие чертоги разума вас вывели на этот тезис?
Вы всегда при проверке ответа на математическую задачу, сопоставляете корректность ответа к социальному профилю отвечающего? Я тогда протестую - почему мнение служителей религиозных культов во внимание не принимается?
количество букв в невышедшей газете будет NaN , NULL , FALSE , (пустая строка) и т.п., в зависимости от реализации
Ну и теперь сопоставьте эти допущения с исходным условием? Которое (по своей математической природе) полагает только два варианта - чётное и нечётное.
И я, кажется, начинаю догадываться, что вы хотели ответить изначально, но постеснялись - undefined ;)
Т.е. формально математика однозначно трактует 0 - как чётное число! Парируйте ;)
Не трактует, а волевым решением назначает. :)
Допустим, у нас есть равенство a/b=c , которое может быть представлено в другом виде, например a/c=b .
По сути, это одно и то же равенство, просто записанное в разном виде.
И если мы скажем, что a=0 , то обнаружим, что и c=0 , из чего вытекает запрещённость записи исходного выражения в виде a/c=b .
То есть, для того, чтобы применить к нулю метод проверки "делится на 2 без остатка", нам придётся отказаться от принципа записи исходного равенства в других видах, а на этом вся математика держится.
Поэтому, мы конвенционально признаём число 0 за чётное, просто потому что иначе придётся заморачиваться с объяснениями и введением новых сущностей, но доказать чётность нуля мы не можем.
Давайте так - не трогайте математику! А то у меня просто кровь из глаз... У вас какая-то каша в голове.
"Конвенциальное назначение нуля" - это про принадлежность его к ряду натуральных чисел. А вот его чётность доказывается совершенно однозначно!
А ваши спекулятивные "доказательства обратного" отсылают скорее к "плоскоземельщикам")) Таким макаром можно "доказывать" любые манипуляции с нулём , например: "на ноль умножать нельзя! потому что из a*0=b следует b/0=a". Всё, вы завязываете с операциями умножения на ноль? ;)
но доказать чётность нуля мы не можем
Я вам выше привёл строжайшее доказательство этого!
Я вам выше привёл строжайшее доказательство этого!
То что Вы называете "строжайшим доказательством" , является аномалией, которую невозможно проверить.
Из свойства чётности числа следуют свойства того, как это число соотносится с другими числами, через это можно проверить то, верно ли мы определили факт чётности.
Например, если число чётное, то должно существовать другое целое число, при делении на которое получается 2.
А в случае с нулём такая проверка невозможно, и в итоге получаем ситуацию, когда надо оговаривать исключение "для всех чётных чисел, кроме нуля", из чего возникает дискуссионный вопрос о том, а действительно ли ноль является чётным, если для (него и только него) надо оговаривать исключения из общей закономерности чётных чисел.
И, конечно же, если надо оговаривать исключение, то это не строгое доказательство
То что Вы называете "строжайшим доказательством" , является аномалией, которую невозможно проверить.
Какая ещё аномалия? Есть определение чётного числа. Всё. Если вам нужна какая-то "другая чётность" - ну так и сформулируйте её соответственно. Физики, вон, формулируют по своему. Проблема в том, что изначальная задача оперировала именно математической чётностью, т.е. "делением на 2".
Например, если число чётное, то должно существовать другое целое число, при делении на которое получается 2.
Откуда вы это "должно" постоянно берёте? Почему вы постоянно пытаетесь смешивать два разных по существу вопроса: проблему деления на ноль и проверку делимости нуля на два?
и в итоге получаем ситуацию, когда надо оговаривать исключение "для всех чётных чисел, кроме нуля"
В чём проблема? В "практической математике" постоянно надо подобное оговаривать - для этого даже специальные сокращение придумали - о принадлежности допустимых данных к тем или иным подмножествам... Сама математика оперирует максимально универсальными категориями (даже мнимая единица, вон есть, и даже на практике сгодилась в итоге).
Вы же вдруг предлагает резать основные математические определения только потому, что у вас в какой-то практически задаче нулём не получается оперировать. Ну так просто вводные для этой задачи конкретизируйте, а саму математику, пожалуйста, не трогайте ;) Это не её проблемы!
ЯПы и с плавающей запятой плохо работают, что же теперь - убирать из математики понятие дробных чисел?
если число чётное, то должно существовать
Что-то Вам постоянно все что-то должны. Вы не из BLM случайно?
Вы всегда при проверке ответа на математическую задачу, сопоставляете корректность ответа к социальному профилю отвечающего?
Давайте не будем ограничивать себя узкими рамками "математическая задача" и просто скажем "всегда".
Потому что "социальный профиль" это:
- профдеформация и привычные способы решения задач
- конкретная аксиоматика с допущениями и упрощениями
- конкретный инструментарий решения поставленной задачи
И в случае с Хабром, решение задачи о вероятности чётности букв в завтрашней газете, скорее всего, будет реализовано в какой-то программной среде, имеющей свои особенности обработки варианта "газеты не было".
Давайте не будем ограничивать себя узкими рамками "математическая задача" и просто скажем "всегда".
А давайте будем! И заодно, сразу будем определять границы и применимость этих рамок. Иначе легко скатиться в "натягивание сов на глобус" со всякого рода терминологическими неопределённостями:
скорее всего, будет реализовано в какой-то программной среде
Вот это "скорее всего" у меня сразу искреннее непонимание вызывает. Осталось только начать спамить аргументацией "ну это очевидно"))
Вот вы почему мою ремарку про священников проигнорировали? Вот вам конкретный "инструментарий" в таком контексте - "На всё воля Божья!" ;)
Вот это "скорее всего" у меня сразу искреннее непонимание вызывает.
Это непонимание легко устранить.
Достаточно посмотреть статьи и комментарии и убедиться в том, что задачи по вычислению числового результата тут предпочитают решать именно с помощью численных методов посредством различных компьютерных программ.
Такова уж специфика ресурса.
чётность нуля это дискуссионный вопрос.
Чего тут дискуссионного? «На 2 без остатка делится?» И на этом конец дикуссии.
"выйдя на улицу 250 миллионов лет назад"
Не выйдет: Вы ешё не родились.
Semver и Lock-файлы: ну да, ну да, пошли мы нахрен...
Процессор: Ну тогда я тоже с вами, вместе с чипсетом и системой команд!
Даже если мы отдадим чёткий приказ, то нет никакой гарантии того, что его исполнят так же как в прошлый раз
Так вам никто не мешает получить эти гарантии - зафиксировать версии и читать изменения в языке/библиотеке при смене версии.
Но не в этом ключевое различие. Вот ключевое различие.
От того самого вайб-кодинга это отличается лишь голосовым управлением на естественном языке, но это переход не от «много и упорно своими руками стучал по клавиатуре» , а от «лениво потыкал мышкой в кнопки и дропдауны»
Это не просто переход на другой язык. Это переход на принципиально другой язык. По сути, это замена исходников на формализованном языке на исходники на многозначном сильно изменчивом языке. Таким образом вы перекладываете бремя формализации инструкций, которые должна выполнять программа на, по сути, вероятностный генератор текста.
Собственно говоря, на уровне продукта детерминированности не было в принципе, именно для этого нужно было тестирование и валидация софта.
Разве? Это вы про автоматическое тестирование? Так это ведь такой же софт. Они ведь, по вашей логике, тоже недетерминированные должны быть.
Да, здесь у аффтара полёт генерализации уже вышел за орбиту здравого смысла.
Так вам никто не мешает получить эти гарантии - зафиксировать версии и читать изменения в языке/библиотеке при смене версии.
А в реальности, массовый программист так и делает?
Речь же не о том, что можно делать в идеале, а в том что есть по факту.
По сути, это замена исходников на формализованном языке на исходники на многозначном сильно изменчивом языке.
На том, на котором гуглят, да?
Таким образом вы перекладываете бремя формализации инструкций, которые должна выполнять программа на, по сути, вероятностный генератор текста.
А при гугленье и копирование кода, Вы перекладываете бремя на какого-то другого человека, который выступил в роли генератора текста.
> Собственно говоря, на уровне продукта детерминированности не было в принципе, именно для этого нужно было тестирование и валидация софта.
Разве? Это вы про автоматическое тестирование? Так это ведь такой же софт. Они ведь, по вашей логике, тоже недетерминированные должны быть.
И?
И в чём, по-вашему тогда смысл тестирования? Если тесты недетерминированны, то не могут дать никаких гарантий. Следовательно, в них нет смысла.
По факту же тесты в норме детерминированные (иные называются flaky и исправляются). И нужны они для гарантии сохранения функционала при изменении кода. И контроля того, что программист правильно реализовал задачу.
А в реальности, массовый программист так и делает?
Речь же не о том, что можно делать в идеале, а в том что есть по факту.
Массовый это какой? Где вы проводите границу? По факту можно только гадать. Малоопытные, наверное, так не делают, опытные - наверняка делают. Но в большинстве случаев софт работает предсказуемо.
На том, на котором гуглят, да?
Не важно, работают же потом с исходниками на формализованном. В них можно найти ошибку и исправить, что бы она больше не возникала. С БЯМ же у вас принципиально нет шансов предсказать как будут интерпретированы ваши инструкции. И нет шансов гарантированно избежать ошибок правкой инструкций. В этом недетерминированность.
А при гугленье и копирование кода, Вы перекладываете бремя на какого-то другого человека, который выступил в роли генератора текста.
Осмысленного генератора, если уж на то пошло. Для таких аналогий, следовало бы сперва доказать тождественность БЯМ человеку. А то получается что-то вроде "грецкий орех похож на мозг, значит улучшает работу мозга".
И в чём, по-вашему тогда смысл тестирования?
В том, что авторы кода не уверены в детерминированности его поведения и что он сработает так как они предполагали.
Но в большинстве случаев софт работает предсказуемо.
Это если не читать новости "после обновления операционной системы перестало работать", и не только операционной системы.
Осмысленного генератора, если уж на то пошло.
Откуда Вы знаете, что копируемый код писал не дурак?
В том, что авторы кода не уверены в детерминированности его поведения и что он сработает так как они предполагали.
Но с таким же успехом и тесты могут сработать не так как они предполагали, и дать ложно положительный результат. (По-моему, я уже повторяюсь)
Это если не читать новости "после обновления операционной системы перестало работать", и не только операционной системы.
И это в большинстве программ такое происходит? Мне вот такие новости очень редко попадаются. Но это всё лирика. По-моему, мы уходим от темы. Это никак подтверждает ваш исходный тезис: "Даже если мы отдадим чёткий приказ, то нет никакой гарантии того, что его исполнят так же как в прошлый раз". Мы же уже вроде обсуждали фиксацию зависимостей. На всяких случай повторюсь: алгоритм на формализованном языке всегда будет работать одинаково в одинаковых условиях.
Откуда Вы знаете, что копируемый код писал не дурак?
Мне важен код, и его я могу прочитать и оценить, а не умственные способности его автора. Обычно (по моему опыту) хороший код пишут не глупые люди.
Но с таким же успехом и тесты могут сработать не так как они предполагали, и дать ложно положительный результат. (По-моему, я уже повторяюсь)
А я где-то говорил обратное?
И это в большинстве программ такое происходит?
Это происходит в количестве, достаточному чтобы считать это не эксцессом, а нормой.
Мне важен код, и его я могу прочитать и оценить, а не умственные способности его автора.
Чуть раньше, Вы настаивали на важности критерия " Осмысленного генератора", а теперь говорите, что это Вам не важно.
* * *
З.Ы. Не скрою, меня даже забавляет то, как Вы изображаете из себя мастера-спорщика, который выстраивает хитроумные подвожки, которые покажут внутренние противоречия в бреде тупизня-собеседника, с которым Вы вынуждены тут общаться.
А я где-то говорил обратное?
В том то и дело, что не говорили. Это я говорил обратное. Вы не полностью читаете мои ответы, или я что-то непонятно пишу?
Это происходит в количестве, достаточному чтобы считать это не эксцессом, а нормой.
Ну вы вольны считать как угодно. Спорить тут не буду.
Чуть раньше, Вы настаивали на важности критерия " Осмысленного генератора", а теперь говорите, что это Вам не важно.
Разве настаивал? Я лишь отметил разницу между человеком и БЯМ. В чём тут противоречие? Когда ИИ мне выдаёт хороший код, то я его использую.
Вы не полностью читаете мои ответы, или я что-то непонятно пишу?
Я читаю полностью то что Вы пишете, но это не ответы. Вся эта ветка не имеет отношения к теме моей статьи.
Вы пытаетесь выстроить коварную ловушку, в которой я войду в противоречие с самим собой, типа , если я считаю сложный софт недетерминированным и это подтверждается тестами, то почему же я не считаю тесты недетерминированными.
Ну так я считаю, дальше что?
В моих словах это не меняет ничего, потому что я говорю о том, что массовое использоввание тестов в IT-отрасли является подтверждением того, что в отрасли де-факто признают сложный софт недетерминированным
Если Вы спорите с идеей "тесты дают детерминированный результат", то у меня этой идеи нет.
Ну вы вольны считать как угодно. Спорить тут не буду.
Правильно писать "вЫ", чтобы подчеркнуть то, с каким большим презрением Вы относитесь к такому идиоту как я.
Я лишь отметил разницу между человеком и БЯМ.
Эта разница ЗАДЕКЛАРИРОВАНА, но ничем не подтверждена.
Вы пытаетесь выстроить коварную ловушку, в которой я войду в противоречие с самим собой, типа , если я считаю сложный софт недетерминированным и это подтверждается тестами, то почему же я не считаю тесты недетерминированными.
Ну ловушка вам лишь кажется, у меня такой цели нет. И да, именно это момент не касается темы статьи. Я оспариваю лишь недетерминированность софта и тестов в частности.
Мне кажется, что наше недопонимание кроется в том, что мы по-разному понимаем детерминированность. По-моему, вы рассматриваете её субъективно, с точки зрения разработчиков и пользователей. Ссылаясь на то, что некоторые из них не могут предсказать поведение программы. И ваши аргументы за недерминированность софта основываются на изменении самого софта (изменении зависимостей или ОС). Ведь программа использует сторонние библиотеки или ресурсы ОС, то они становятся частью этой программы.
Что же касается темы статьи, то я это написал в чём разница вайб-кодинга с прежними изменениями - переход на нефомрализованные инструкции.
Эта разница ЗАДЕКЛАРИРОВАНА, но ничем не подтверждена.
Так и сходство не подтверждено. Разницу то зачем подтверждать? Разные вещи различны по умолчанию.
Правильно писать "вЫ", чтобы подчеркнуть то, с каким большим презрением Вы относитесь к такому идиоту как я.
Ни в коем случае не хотел выразить презрение или неуважение. Просто я не привык писать "Вы" с заглавной буквы. По моему мнению, обращение на вы и так показывает достаточное уважение.
Мне кажется, что наше недопонимание кроется в том, что мы по-разному понимаем детерминированность.
Да, хорошо что Вы это понимаете.
По-моему, вы рассматриваете её субъективно, с точки зрения разработчиков и пользователей.
Нет, я рассматриваю её с точки зрения полученного результата.
Если при повторном запуске программа может выдать другой результат, то её поведение недетерминировано.
Может ли одна и та же программа, запущенная на разных компьютерах или на одном и том же компьютере, но в разное время, выдать разный результат?
Ведь программа использует сторонние библиотеки или ресурсы ОС, то они становятся частью этой программы.
Ну вот и ещё одна терминологическая проблема.
В данном обсуждении, я называю "программой", конкретный продукт, а не "вообще всё в этом мире и оно связано".
Если при повторном запуске программа может выдать другой результат, то её поведение недетерминировано.
Важное дополнение - с одинаковыми вводными данными.
Может ли одна и та же программа, запущенная на разных компьютерах или на одном и том же компьютере, но в разное время, выдать разный результат?
Если она не зависит от железа и времени, то не может. Калькуляторы, например, везде и всегда одинаково считают.
В данном обсуждении, я называю "программой", конкретный продукт, а не "вообще всё в этом мире и оно связано".
Прошу прощения, у меня там если потерялось. Должно быть: "ведь если программа использует сторонние библиотеки или ресурсы ОС, то они становятся частью этой программы".
Если она не зависит от железа и времени, то не может. Калькуляторы, например, везде и всегда одинаково считают.
Она может зависеть от удалённого сервера, на котором вычисляется часть функций. В результате сбоя, от сервера пришёл пустой ответ, который программа превратила в ноль и всё прекрасно посчитала.
ведь если программа использует сторонние библиотеки или ресурсы ОС, то они становятся частью этой программы
Нет, не становятся. В этом суть ситуации.
Проверочный вопрос: "Разработчики, а почему это перестало работать?"
Проверочный ответ: "А это не из-за нашей программы, а из-за обновления операционной системы?"
Не понимаю как это доказывает недетерминированность программ? Вы снова нарушаете ключевое условие - одинаковые вводные. То выносите часть функционала в отдельную программу (добавляя странную обработку ошибок при этом), которую исключаете из рассмотрения, почему-то. То меняете зависимости программы. И снова апеллируете к субъектам (разработчикам).
Когда ИИ мне выдаёт хороший код, то я его использую.
«...оставшуюся часть времени мы посвятим выяснению вопроса, когда ИИ выдаёт хороший код».
В том, что авторы кода не уверены в детерминированности его поведения и что он сработает так как они предполагали.
Ни черта Вы не понимате в тестировании. Тест пишется для того, чтобы убедиться, что то, что отлично работает сегодня, кто-то не поломает случайно завтра.
А в реальности, массовый программист так и делает?
Речь же не о том, что можно делать в идеале, а в том что есть по факту.
Делают так программисты, да, в той достаточной степени, чтобы оно работало на протяжении времени жизни ПО.
Со старым проектами есть проблема - могут не собираются из-за значительных изменений в фреймворках и библиотеках, но и сейчас это решается путем докер файлов с фиксацией окружения (очень хорошо решается)
Пролистал сразу после сгенерированной нейросетью картинки. Она создаёт впечатление несерьёзности содержимого
Автокомплит? Чего? Я таким не пользуюсь.
Мне категорически непонятен этот термин (вайб-кодинг), но вот "нейросетевую революцию" я готов признать. Формирование запросов к ним - это же просто ещё более высокоуровневый ЯП.
Практически никто ведь сейчас не пишет на машинном коде (ну программирование микроконтроллеров может). Уже даже ассемблер все позабыли - вся dev-сфера оперирует высокоуровневыми языками - адаптированными под человеческий образ мышления. И "нейросетевой компилятор" тут абсолютно в тренде. Просто синтаксис стал более гибким...
(ну программирование микроконтроллеров может)
Ну вот у меня про это и было уточнение, потому что... а вот хз что сейчас с этим самым программированием микроконтроллеров.
Учитывая доступные мощности, сейчас проще и эффективней делать встраиваемые системы на полноценных универсальных компьютерах с ОС. Под это разработчика проще найти.
Но тут уже инженерия может сказать - "стоп! а аппаратные ресурсы нам тоже ваша абстракция предоставит?"
А как соотносятся аппаратные ресурсы типичного микроконтроллера и типичного смартфона?
В том-то и дело что вы предлагаете внутренности смартфона запихнуть в типичный полупроводник...
Я не предлагаю. Я говорю о том, что в физическое пространство, которое раньше занимал микроконтроллер, сейчас могут запихивать железо с ОСью и полноценными программами.
Я не знаю какое там сейчас состояние рынка, но учитывая общие закономерности развития техники, может оказаться проще пихать платку с универсальным компьютером, который может запрограммировать много человек, чем микроконтроллер с низкоуровневым программированием, требующий редкого специалиста.
Я говорю о том, что в физическое пространство, которое раньше занимал микроконтроллер, сейчас могут запихивать железо с ОСью и полноценными программами.
А на основании чего вы это говорите? Времён ЭНИАКов?))
Как (и главное - зачем? ради одной логической операции городить ОС) вы запихнёте всё это барахло... ну скажем, в контроллер зарядки?
Вас на эти мысли наводят размеры смартфонов, может быть? К слову, мобилы 20-летней давности были куда миниатюрнее. Так он весь целиком - суть одна ОС. И в то же время в нём дофига микросхем со своей нативной логикой... И кстати, софт для "операционного железа" вы на чём исполнять собираетесь - вас эта рекурсия не смущает? ;)
В смартфоне ресурсов где-то как в МК ценой в доллар :(.
Ну т.е. я как-то не очень представляю реалтайм с смартфоном. И уж подавно не виже никаких аппаратных протоколов которые бы из него торчали. Вы видите ? Как к смартфону что-нибудь по spi подключить ? Как получить от него реалтайм с задержками менее миллисекунд гарантированно ?
Огромный вычислительный комбайн не заменит МК, пока он не будет иметь прорву простых высокоскоростных интерфейсов и уметь в очень быстрые и гарантированные прерывания.
Но даже тогда, как только вы нагрузите его всякими фреймворками - всё сразу сдохнет :(
А дайте нам с @Spaceoddityопределение, позволяющее отделить "микроконтроллера" от не микроконтроллера.
...
Кстати, я залез в книжку 1985 года. Л.А.Залманзон "Беседы об автоматике и кибернетике" издание 2. Там вот такое деление указано.

Не всегда. Габариты + энергопотребление для портативных устройств несколько ограничивают применение "универсальных компьютеров", но вполне себе все пишется на C/C++, есть и MicroPython, по крайней мере, для Arduino
Как я и написал в статье, с микроконтролерами всё сложно.
Потому что возникает вопрос о том, является ли микроконтроллером то, на чём можно запустить Doom.
Где граница между микроконтроллером и компьютером?
Почему 286 это "компьютер", а то что на скриншоте "микроконтроллер"?

Где граница между микроконтроллером и компьютером?
В "тьюринговой полноте", наверное.
Тогда Ардуино не микроконтроллер?
Вы со мной, как с блондинкой пытаетесь общаться что ли?))
Я знаю как могут выглядеть формальные "компьютеры". Я просто пытаюсь перевести дискуссию в плоскость формальной терминологии, а не "большое - компьютер, маленькое - микроконтроллер". Если Ардуинка обладает тьюринговой полнотой - да, это компьютер. Что вас, собственно, в этом смущает? У вас есть более соответствующий критерий?
Парой комментов выше, человек приводит Ардуино в качестве примера микроконтроллера. Вот этот пример и обсуждаем.
Я считаю его универсальным компьютером.
Я просто пытаюсь перевести дискуссию в плоскость формальной терминологии
С моей точки зрения, микроконтроллер это микросхема с логикой, поверх которой нельзя запустить другую логику.
Если у тебя есть ОСь, в том или ином виде, поверх которой запускается программа, общающаяся с железом через эту ОСь, то это не микроконтроллер, а универсальный компьютер.
Однако, полагаю, что я такой буду в меньшинстве, а большинство будет понимать под микроконтроллерами "платка, без монитора, клавиатуры и корпуса".
При этом, я не готов говорить, что их мнение неправильное, а моё правильное, потому что, термин "микроконтроллер", изначально, может быть чистым маркетингом обозначающим "слабый, но маленький и дешёвый агрегат для управления чем-нибудь".
Моё мнение сформировалось под влиянием противопоставления "персоналок" и "микросхем, при программировании которых экономят каждый бит", но это всего лишь мгновенная рыночная ситуация, при которой было экономически целесообразно использовать именно такой вариант. Потом появилось более дешёвое железо, и нишу "микроконтроллеров" начали занимать железки, превосходящие по мощности и функционалу те самые "персоналки".
Как правильно? Учитывая то, сколько объяснений я написал в данном комментарии, по простому вобщем-то вопросу, для формирования чёткого и непротиворечивого мнения о термине "микроконтроллеры", которое можно будет применять в текущих условиях, на получение "правильного" ответа у меня уйдёт овердофига времени, сил и мыслительных ресурсов. Поэтому, в настоящий момент, это вопрос из категории "мне не обязательно иметь ответы на все вопросы". :)"
Поэтому, в этих ветках, я всего лишь объясняю причину, по которой оговорил в тексте исключение для программирования микроконтроллеров: "(Вопрос о том, куда относить программистов микроконтроллеров мы рассматривать не будем, ибо там ситуация несколько сложнее.) "
На то чтобы показать спорность и противоречивость темы, у меня обоснования есть, а на проведение границы термина - нет.
Например наличие внутри sram. А так же шины по которой происходит обмен между этой ram и процессором.
Именно

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

Мне категорически непонятен этот термин (вайб-кодинг)
Вайб-кодинг - это когда программист развалившись в массажном кресле, абсолютно расслаблен и полностью отдается его вибрациям. При этом он лениво отдает LLM указания как писать код. Когда вибрации кресла полностью овладевают программистом, он перестает объяснять LLM как писать код, и просит просто что-нибудь писать. "Пиши код, LLM. Я буду смотреть, и если мне не понравится, то будешь переписывать пока мне не понравится."
Программист в массажном кресле принимает форму программоида. В этой форме он может общаться с LLM только через голосовое управление. Напрягать голосовые связки это тоже тяжелый труд, поэтому в дальнейшем будет разработан интерфейс с чтением мозговых волн. Для этого понадобятся усилители, так как мозговые волны у человека принявшего форму программоида быстро затухают. В следующих версиях, генерацией мозговых волн будет заниматься сама LLM, и программист сможет писать программы даже без связи с LLM. О том что он написал программу, программист будет узнавать по вибросигналу через умные часы. Часы проверят программу, и если все нормально, то они разбудят программиста, и он пойдет за зарплатой.
Надо отныне прояснять разницу между
Программист
Быдлокодер
Вайбкодер
Почему в разделе Дефиниции нет дефиниций? Это вайб такой?
Посмотрите определение "дефиниции". :)
Посмотрел, все верно, это определение. У вас там нет определений.
И почему Вы не считаете вот это дефиницией?
«Есть новый вид программирования, который я называю вайб‑программированием (vibe coding), где вы полностью отдаётесь вибрациям, принимаете экспоненты и забываете, что код вообще существует. Это возможно, потому что большие языковые модели (LLM, например, Cursor Composer w Sonnet) становятся слишком хороши. Также я просто общаюсь с Composer с SuperWhisper, поэтому я почти не касаюсь клавиатуры. Я прошу о самых глупых вещах, таких как „уменьшить отступ на боковой панели вдвое“, потому что мне слишком лениво, чтобы найти его. Я всегда „Принимаю всё“ (Accept All), я больше не читаю diffs. Когда я получаю сообщения об ошибках, я просто копирую и вставляю их без комментариев, обычно это исправляет ситуацию. Код выходит за рамки моего обычного понимания, мне приходится действительно читать его некоторое время. Иногда LLM не могут исправить ошибку, поэтому я просто обхожу её или прошу вносить случайные изменения, пока она не исчезнет. Это не так уж плохо для одноразовых проектов на выходные, но все равно довольно забавно. Я создаю проект или веб‑приложение, но это не совсем программирование — я просто вижу что‑то, говорю что‑то, запускаю что‑то и копирую, вставляю что‑то, и это в основном работает», — рассказал Карпаты.
С таким подходом не кодеры будут писать программы, а программы будут писать ещё больше говна для других программ. Замкнутый круг
а программы будут писать ещё больше говна для других программ. Замкнутый круг
Ну, по большому счёту, программист лишь изъявляет желание включить в программу какой-то функционал, а дальше байткод пишется компилятором, который выполняет сформулированные желания программиста.
...пока не начнется вырождение в результате имбридинга...
Я уже не программист, я оператор IDE
Хм. Мне надо простенькую БД написать, но я не умею. Я в основном только формулы туда-сюда прогаю... Решил попробовать этот ваш вайб-кодинг. Что я знаю - дедовский Си и слегка ++. Ну ОК. Сейчас я спрошу у Дипсик как мне лучше это сделать. В общем грабли возникли еще на этапе установки требуемого софта.
И далее выяснилось, я не один такой. )))
https://qna.habr.com/q/963109
---
И чем это отличается от поиска готового кода в интернете?
Ну обычно же нужно с перламутровыми пуговицами. Ну я еще надеюсь что-то сделать. Правда склоняюсь к мысли, что надо расчехлить какой-нибудь Borland Builder. Сейчас загуглил - оказывается народ вполне ставит BCB 6 (это 2002 год между прочим!) на Win 10.
Ты вообще программист? Пробовал гуглить?
Ну под это, разумеется, бэкграунд соответствующий нужен. С важной оговоркой - на данном этапе развития нейросетевых инструментов.
Упускаете важныц момент. В таком случае и программирования не существует)
"Небесное программирование", где идеальные программисты следуют всем правилам и ответственно пишут качественный код... не то чтобы не существует вовсе, но не стоит брать его в расчёт.
Это всего лишь вопрос терминологии: считать ли программированием процесс при котором человек вызывает пачку библиотек и пишет пару строк запуска в питоновском скрипте.
В ходе прочтения дискуссии о детерминированности сгенерированного ИИ кода, представил электронную версию, к примеру, "Войны и мира", в которой каждый раз при открытии полностью переписывается текст. При сохранении основных персонажей и сюжетных линий, конечно.
А потом фанаты ругаются на форумах, выясняя, в каком же всё-таки платье Наташа была на первом балу.
Я дал Вам время на то, чтобы Вы насладились своей шуткой, но теперь пришло время сказать Вам правду. :)
Вы только что описали один из вариантов противодействия пиратенью текстов. Автоматы меняют в текстах слова, создавая уникальную копию для каждого поупателя. В случае утечки, известно через кого утекло.
Ведь HTML-верстуны с Dreamweaver, чайники с Народом и Tilda, и девочки-секретари с Word.
Ведь программист это человек который сам пишет код, который знает что и как в этом коде работает, который продумывает алгоритмы и многое другое.
Не вижу тут никакой разницы между HTML-верстунами с Dreamweaver и современными программистами, использующими фреймворки.
С нуля сейчас никто код не пишет, все используют готовые фреймворки и библиотеки. Мало кто из программистов в принципе знает, как под капотом работает их любимый фреймворк или популярная библиотека.
Задайте вопрос любому ИИ "что такое вайб женщина?" и сразу поймете, что вайб кодинг это не то, что пишут в этой статье
Продолжить наслаждаться моими текстами
Вот бы на Хабре появился vibe-editing для статей. :) В статье было озвучено, что "OpenAI дал всем идиотам возможность кодить". Но исправлять ошибки и опечатки в тексте OpenAI тоже дал. Почему бы не начать пользоваться, наконец. :)
Нужно смотреть еще глубже )) Любой язык программирования по сути - временное явление. Транзитная точка между истинным машинным представлением из 0 и 1 и естественным языком человека. А поскольку напрямую мы с машиной общаться не можем, требуются такие языковые "переводчики", транслирующие из одного языка в другой. Изначально это были специально обученные люди. Потом эти люди решили автоматизировать часть работы и придумали компилятор, чтобы оперировать более абстрактными представлениями. Потом придумали библиотеки, фрэймворки и наконец придумали ИИ. Но и сейчас мы еще на промежуточном эволюционном этапе, поскольку ИИ по прежнему использует искусственные промежуточные конструкции в виде языков программирования и соответствующей инфраструктуры. Следующим значительным и, возможно конечным, этапом будет ИИ, который непосредственно транслирует в машинные коды. Условно, машина будет сразу понимать человека и выполнять его задачи. Но, полагаю это будет не скоро. Более того, учитывая текущие тенденции, скорее всего ИИ будет воспринимать уже не речь человека, а непосредственно взаимодействовать с его мозгом, воспринимая и транслируя мыслеобразы.
Меня больше беспокоит инфляция ресурсов. Раньше, чтобы написать "калькулятор", нужны были:
программист
простейшая ОС (опционально)
ПК (опционально)
Пару часов времени
Сейчас:
Кодер (вайб)
Огромная ресурсоемкая ОС, иногда несколько, иногда несколько в контейнерах, иногда несколько в контейнерах в виртуалках
мощный ПК, который это тянет
ИИ сервер (со своей электростанцией https://habr.com/p/937464/)
Сервера и nas'ы компаний, которые размечают и обрабатывают датасеты нейронок
Сотни майнеров, чтобы заплатить вайбкодеру в криптовалюте
Прокси/впн сервер, чтобы было вайбово (и все открывалось)
Пару часов времени
Мы почти не получили существенного выигрыша, кроме снижения квалификации разработчика, но увеличили потребление ресурсов на всё на порядки
Раньше, чтобы сделать простейший молоток нужно было просто найти подходящий камень, палку и связать их вместе.
Сейчас:
Нужны огромные предприятия по добыче угля
Металлургические комплексы выплавляющие металл
Построили железные дороги для перемещения угля, руды и металла
Лесопилки для производства дерева
Специальные производства для производства из дерева ручек для молотков
Специальные производства для изготовления из металла ударной части (бойка)
Огромные электростанции, снабжающие все это электроэнергией
Все это обслуживают десятки и даже сотни тысяч людей
И что в итоге? Мы почти не получили существенного выигрыша, отравляем природу, увеличили сложность процесса и потребление ресурсов на много порядков.
То, что вы два совершенно разных предмета одинаково назвали, не делает их одинаковыми. Точно такой же молоток, как раньше, можно сделать и сейчас. Но вряд ли вы захотите забивать им гвозди.
Отчасти, да, но есть важные отличия:
Индустриальный молоток - эргономичнее, надёжнее, твёрже своего предка, код - наоборот;
Молоток - конечный продукт, его можно использовать десятилетиями, код - требует отладки, сопровождения, доработки, и на каждом этапе может требовать все те же ресурсы, что и при создании.
Мы почти не получили существенного выигрыша, отравляем природу, увеличили сложность процесса и потребление ресурсов на много порядков.
И ещё недетерминированный молоток!
Зато меньше порог входа => больше общая производительность создания ПО (на человечество). И (часто, но не всегда) короче сам процесс создания ПО.
Это немало! Мы пока не умеем клонировать гениев. При старом подходе до массы отраслей автоматизация бы не дошла никогда.
Ну и часть недостатков у вас связана с погоней за горизонтальным масштабированием и обходом цензуры. Я бы это исключил, потому что и в старом подходе написать калькулятор с горизонтальным масштабированием - совсем не пара часов.
Там ещё во второй части всё равно остаётся "программист, который навайбанное отладит, когда дальше понадобится что-то менять"
Мы почти не получили существенного выигрыша, кроме снижения квалификации разработчика, но увеличили потребление ресурсов на всё на порядки
Это неизбежность развития любой технологии - сперва рост обоснованный решением реальных задач, а потом выход на плато, за которым следует накручивание фич ради фич.
Раньше - это когда была пара железок и пара ОС, под которые писался этот "калькулятор"? Ну попробуйте запустить тот "калькулятор" на тех же устройствах, на которых работает современный аналог.
Мы получили удешевление процесса. И, да, сейчас когда нужен калькулятор для чего-то, где архитектура стоит денег - нанимают програмиста высокой квалификации и используют низкоуровневые языки.
Просто еще один пример: вчера спросил у чата - можно ли не используя таг имейдж передать в ейчтмл изображение? ответом было категоричное нет. Вот такое абсолютное запрещающее нет. Что тут можно исправить, коректировать? Ответ просто закрывает направление. Что сдеалет вайб-кодер? Спросит - а ты не врешь?
Для начала давайте определимся с терминами - что вы имеете ввиду под "передать изображение"?
Я понимаю, что вы намекаете на установку картинки фоном div-а (или альтернативные костыли похожей природы), но можно ли считать это передачей изображения в полном смысле?
можно ли не используя таг имейдж передать в ейчтмл изображение?
Да, можно. Тег
<img>
— это самый прямой способ вставить картинку в HTML, но существуют и другие варианты:
-- ответ от GPT-5. Возможно вы у какой то простой-быстрой модели просто спрашивали, либо вопрос звучал иначе, так как, извините, но даже человеку не очень понятно, что вы имеете в виду.
> можно ли не используя таг имейдж передать в ейчтмл изображение
даже человеку не очень понятно, что вы имеете в виду.
Уж на что я черта в современных HTML не соображаю, но даже я сразу вспоминаю:
<canvas>
style="background-image: ..."
А для особо жОстких извращенцев — индивидуальное раскрашивание ячеек в таблице с ячейкой 1x1 пиксель, в конце концов!
но даже человеку не очень понятно, что вы имеете в виду.
Согласен. Что значит "передать в ейчтмл изображение"? В какой именно HTML - в DOM? В отрендеренную страницу? В семантику языка?
Она скорее всего быстро пробежалась по тэгам и нашла единственный, служащий для этой цели...Формально права. А дальше уже конкретизируйте запросы... Это именно так и работает.
Что посоветуете, если утром принял свои экспоненты, а вибрация не проходит? Отдаваться дальше?
О чем статья? О том , что ассемблер учить не надо?
Революция это резкое изменение, скачок, что и имеет место быть, так что расходимся, это просто очередная революция.
Революция это резкое изменение,
Изменение чего именно имеет место в данном случае?
Подходов к разработке ПО.
И в чём это изменение состоит?
Вы статью точно читали? ) Там даже примеры приведены других революций (WYSISYG), не таких впечатляющих, как "изобретение колеса" или "вайб-кодинг", но вполне себе революция в заданной нише. Да, автор там неправильно интерпретирует ситуацию и делает ошибочные выводы, - это можно пропустить. Да, мне тоже не нравился хайп вокруг колеса супротив волокуш, тем более последние до сих пор имеют преимущество во многих ситуациях, но хайп - это сопутствующее явление, а не само явление. )
Я сейчас задам вопрос, который Вы можете не понять, но тем не менее.
Да, мне тоже не нравился хайп вокруг колеса супротив волокуш
А он был?
Несомненно, возможно вы не застали. )
Никто не застал, но все знают.
Проклятое наследие 19-го века с просветительскими нарративами о цивилизованных европейцах и отсталых дикарях не понимающих своего счастья.
Проблема в том, что истории "вот была история о том, как никто подумать не мог о возможностях прогресса и люди отрицали чудо вундервафлю", очень часто оказываются лажей. По крайней мере, когда речь идёт о 19-м - 21-м веках.
Там даже примеры приведены других революций (WYSISYG), не таких впечатляющих, как "изобретение колеса" или "вайб-кодинг", но вполне себе революция в заданной нише.
Давайте определимся с термином "революция".
Считаете ли Вы "революцией" событие, которое растянулось на 10 лет? А на 25? А на 50? А на 100?
Считаете ли Вы "революцией" изменения затронувшие 10% от множества? А 1%? А 0.1?
Где граница, которая отделяет "революцию" от "медленных постепенных изменений" ?
Меня устраивает общепринятое определение в котором нет никаких цифр. Но поясню, что во временном плане можно рассматривать революция, не как срок, а как точку невозврата, точку необратимости изменений, даже если на сегодня подход вайб-кодинга не охватил всех причастных. Граница лежит где-то между: «мы понимаем, что скачек не количественный, а качественный, но пока не все до конца не ясно, обсуждаем, тыкаемся, строим прогнозы» и «это уже не тренд, а новая реальность».
Считаете ли Вы "революцией" событие, которое растянулось на 10 лет? А на 25? А на 50? А на 100?
То ползучая революция! Медленная и печальная.
Но поясню, что во временном плане можно рассматривать революция, не как срок, а как точку невозврата, точку необратимости изменений, даже если на сегодня подход вайб-кодинга не охватил всех причастных.
А чем "революция" будет отличаться от "медленного и постепенного"?
Вайб кодинг у него раньше был, да раньше можно было 3 дня драть на себе волосы искать решение и не факт что найти, пробовать, а теперь это можно выполнить за 3 часа ( если повезёт то минут за 10) в лучшем виде с комментариями с хорошей архитектурой, если нужно. Да и решать задачи на любом стэке за неделю. На что раньше нужно было несколько месяцев разбираться.
Скорость разработки выросла в разы фичи делают по 2-3 дня + фиксы. Без ai это было бы не возможно, за исследовательскую работу бизнесы не платят, у всех сроки.
Это сарказм/ирония?
Потому что по сути, Вы говорите то же что и я, а по форме, выглядит так, как будто Вы со мной не согласны.
да раньше можно было 3 дня драть на себе волосы искать решение и не факт что найти
Вместо написания кода, люди занимались его поиском в интернете, иногда безуспешным.
Скорость разработки выросла в разы фичи делают по 2-3 дня + фиксы. Без ai это было бы не возможно, за исследовательскую работу бизнесы не платят, у всех сроки.
А до этого, скорость вырастала в разы из-за фреймворков, библиотек и пр. переиспользования кода.
Староверы и вайб кодеры друг друга никогда не поймут, пока не начнут обсуждать области применимости. Одним не понятно как можно вайбкодить сложные системы, другим не понятно зачем сайты-визитки вручную оптимизировать на ассемблере. По факту и то, и другое полная ерунда, и никто в здоровом уме ей не занимается. Но это не главное, главное - каждый день на словах отменять революцию!
Несмотря на то, что многие подразумевают под вайб-кодингом довольно разное. Я все таки склоняюсь к выводу, что наиболее точное определение включает утверждение о том, что разработчик принимает и использует код, не полностью понимая его.
Вы сейчас совершаете подмену смыслов - уводите проблематику в терминологию. Пофиг, как это называть. Давайте вообще не оперировать этим термином, чтобы не добавлять ненужной абстракции.
И получается что надо делить на тех, кто "полностью понимает свой код" и тех кто "не полностью".
Сразу вопрос - а много ли по-настоящему первых? Многие ЯПовские приёмы попросту постулированы как "must have" и... разумеется есть такие, кто вникает во все тонкости "внутренней кухни", но сколько их? ;)
Я все таки склоняюсь к выводу, что наиболее точное определение включает утверждение о том, что разработчик принимает и использует код, не полностью понимая его.
Полагаю, это происходит в большинстве случаев переиспользования кода., потому что переиспользованием занимаются для того чтобы не возиться и не разбираться.
Причём, переиспользования ЛЮБОГО кода, а не только чужого, ибо есть такое хорошее явление как "посмотрел в свой старый код и нифига не помню что там".
Ну вот, уже куда более аргументировано получилось и со многим я согласен. Но отмечу ряд сомнительных моментов:
Я, как и многие здесь - командный игрок.
Вот сразу у вас это "когнитивное искажение" вылезает - проецирование собственного субъективного опыта на "аудиторию по дефолту".
Я в последнее время в основном занимаюсь фрилансом. Там работает другая модель - "заказчик - исполнитель". И к слову, она куда более объективна, вы просто берёте из этой модели сущность "исполнителя", дробите её на команду и рассуждаете в этой парадигме - сразу ограничивая себя рамками "исполнителя"...
Вы думаете на этом ресурсе мало фрилансеров или "аутсорсеров-одиночек"? Т.е. у вас сразу частный взгляд на проблему получается.
использование разработчиком кода, который он не полностью понимает, а иногда вообще даже не читает
А тут у вас начинают плыть критерии. Насколько надо "понимать"? Можно ведь не вникать в синтаксис вообще, а интуитивно считывать фундаментальный логический смысл кода... Плюс можно самому вычитывать его на баги - это частенько все равно в профит трудозатратам. Плюс можно просить "разжевать" непонятные моменты.
Давай такую же статью про ИИ-агентов
Сорри кому не ответил (11 комментариев было непрочитано). Попозже отвечу.
По затронутым в обсуждении темам
про чётность нуля расписал здесь - https://habr.com/ru/articles/940328/
про детерминизм хочу расписать через пару-тройку недель.
Революция вайб-кодинга отменяется