arbinada-com
18 subscribers
2 photos
16 links
Вокруг софтостроения
Download Telegram
https://blog.arbinada.com/ru/category/01704-crud.html
...не обижайтесь за "крудошлепство", потому как автор текста пару-тройку раз "писал опердень".
https://blog.arbinada.com/ru/category/01705-clean-architecture.html
Слоёная архитектура нынче почитается уже за "классическую". По крайней мере так говорят поклонники "чистой архитектуры" (clean architecture).
Интересное интервью с Яном Лё Куном (на французском).
До 4 лет ребенок получает информацию примерно 10 в 15 степени байт, что на многие порядки превышает всю выраженную человечеством словами информацию, то есть LLM "не тянут", неадекватны задачам, и являются ответвлением от магистральной дороги ИИ
https://www.youtube.com/watch?v=gz876KIYeEA
Три анонса новостей рядом, и никому ничего не жмёт.

Jensen Huang предупреждает: "Вы не представляете, что вас ждёт в 2026 году". Роботы, нехватка рабочей силы и тотальная автоматизация - такова работа будущего согласно заявлениям главы NVIDIA


"Эпоха, когда код писали люди, закончилась", — предупреждает Райан Даль, создатель NodeJS, поскольку инструменты для программирования на основе ИИ переживают взрывной рост.


Внутренние документы OpenAI прогнозируют убытки в размере 14 миллиардов долларов к 2026 году: «OpenAI рушится. Ни один стартап в истории не работал с такими убытками».
Если 20 лет назад вузы ругали за обучение студентов на корпоративных продуктах, то теперь маятник находится в противоположной точке: студентов учат только на "ванильных" опенсорсных продуктах.

В результате вчерашние выпускники, создавая стартап, делают выбор по простой схеме: "У меня был успешный курсовик на постгресе, теперь буду делать на нём что-то посеръёзнее, зачем платить за неизвестный энтерпрайз если можно взять на помойке скачать бесплатно"
Проект - не продукт. Проект действительно можно "накидать", сдать заказчику и забыть или тянуть деньги за доработки.
Продукт же будет тянуть деньги с вас, поэтому "накидать MVP" - изначально плохая идея, если вы не планируете его потом полностью переделать.
Хороший пример
Есть детальная спецификация стандарта
Есть простой тест: нужно компилировать имеющиеся исходники.
И, тем не менее, 2000 итераций до получения результата, имеющего академический интерес. И 20К долларов.
Теперь представим себе, что спецификаций нет, тестов тоже. В общем, типовую картину "домашнего" софтостроительного проекта...
Да, и если код полностью генерируется из спецификаций, то использовать что-тот кроме Си нет смысла.
https://www.anthropic.com/engineering/building-c-compiler
P.S. Ожидаемые проблемы: полученный компилятор может генерировать двоичный код, но не может сделать даже базовую оптимизацию (1, 2).
Поколенческое, но не про более зелёную траву.
* * *
Полагаю, что число людей, не желающих долго думать, а желающих просто поскорее получить "код доступа на следующий уровень" остается неизменным.
Что изменилось?
Лет 40-50 назад получение "кода" было сложным процессом: учиться, читать книги, общаться с профессионалами и практиковаться.
После взлета гугла в 2001 году код стал доступнее, а интернет форумы по интересам - массовыми. К 2010 году массовыми стали stackoverflow и аналоги, а википедию начали использовать, как референтный источник.
К началу 2020-х с появлением БЯМ получить структурированный ответ стало совсем просто.
Что имеем в итоге?
Доступность подсказки для прохода на следующий уровень "игры" (что наша жизнь?) линейно росла. Возможно, даже экспоненциально.
При этом усилия по проверке полученной подсказки практически не снижались.
Грубо говоря, теперь не нужно зубрить или "списывать у отличников", можно "списать" у БЯМ, получить минимум "трояк" и перейти в следующий класс.
Хорошо это или плохо, сказать трудно. У всякой палки есть два конца.
Интеллект, говоришь?
* * *
Небольшой (меньше 10К строк) хорошо структурированный проект на Сишарпе, покрытый тестами. Одна из частей - анализатор VBScript, генерируемый по грамматике Antlr-ом.
ClaudeCode второй день крутится, вертится, предлагает очередную чепуху решения, показывающие непонимание темы, жрёт токены, но не может найти ошибку в грамматике, ломающую тест.
Да, это не формочки на яваскрипте писать, и не CRUD-ы шлепать, которые и 25 лет назад автогенерировались из метаописаний без всяких нейросетей.
P.S. Похоже опять зациклился. Предлагает изменения, которые делал пару итераций назад. Придется естественным интеллектом баг искать.
P.P.S. Нашёл за пару часов. В такого рода задачах клод не помощник.
😁3
Всегда отключаю тёмный дизайн на сайтах и в средах разработки. Тёмный дизайн больше напрягает глаза, если это не монохром терминала с относительно крупными моношрифтами, как на старых ЭВМ.
Светлая тема даёт больше люменов, зрачок сужается больше - резкость картинки выше. Профит!
Когда один "ИИ" наё... обманывает другой "ИИ"
Когда люди поигрались в демо версию под названием "вайбкодинг", поняли пределы и осмыслили использование ИИ в разработке программных систем, то неизбежно приходят к тому же, что предлагали ранее CASE-инструменты, подход управляемой моделями разработки (MDA/MDD, см. конкретный пример и статьи по теме) и всякие "софтовые фабрики".

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

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

И если в MDD тесты для генерируемой части кода были не нужны, то для связки "спека+ИИ" они обязательны.
https://oleg.guru/redbook/ru/shared-state-and-files

Однако, вспомним, что 25 лет назад "аджайлы" появились именно по причине, что никто не может составлять спецификации для программных пакетов и систем, начиная с некоторого порога сложности. Таковым, например, был уровень сложности системы расчета зарплаты на предприятии - отсюда стартовала методика eXtreme Programming (XP), только код, рефакторинг и никаких спек.

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

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

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

В худшем - никаких спек вообще, "читай код" и рефактори, всё само получится. Главное - верить в себя и не замечать препятствий.

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

То ли еще будет...
1🔥1