Потестил последние модельки, вокруг которых сегодня хайп - опус4.6 кодекс5.3
"когда две комплексные групповые алгебры над конечными абелевыми группами изоморфны?"
Заразы, все справились :)
А ещё недавние версии тупили, дескать "когда сами группы изоморфны", неа, их внутренние структуры даже могут различаться, достаточно лишь одинаковой мощности.
Это кстати довольно важный момент в кампутер сайнсе, например type erasure. Как стирается структура группы до размерности, так и Java стирает
Разные типы, но одно представление.
"когда две комплексные групповые алгебры над конечными абелевыми группами изоморфны?"
Заразы, все справились :)
Когда |A| = |B|А ещё недавние версии тупили, дескать "когда сами группы изоморфны", неа, их внутренние структуры даже могут различаться, достаточно лишь одинаковой мощности.
Это кстати довольно важный момент в кампутер сайнсе, например type erasure. Как стирается структура группы до размерности, так и Java стирает
List<Int> и List<String> до одного List в рантайме.Разные типы, но одно представление.
1🤯34✍15❤7👍2
Прекрасное: ASML (голландский лидер рынка литографического оборудования EUV - самое важное для мирового рынка чипов, считается едва ли ни самой сложной инженерной конструкцией в человеческой истории)
уволила 1700 (!) менеджеров, при этом расширив айтишные и инженерные позиции.
ASML пытается предотвратить "смерть от управления", которую пережили многие европейские гиганты, и вернуть фокус на инженерию. Разработчики "хотят заниматься инженерией, не увязая в медленных согласованиях".
Дико уважаю.
уволила 1700 (!) менеджеров, при этом расширив айтишные и инженерные позиции.
ASML пытается предотвратить "смерть от управления", которую пережили многие европейские гиганты, и вернуть фокус на инженерию. Разработчики "хотят заниматься инженерией, не увязая в медленных согласованиях".
Дико уважаю.
✍46💯20👏12❤7❤🔥2
...Но всё же я этих ваших искусственных болванов захейтил :)
опус4.6
4.6: функтор C[−] не верен на абелевых группах
разве??
4.6: Функтор верен (не склеивает стрелки), но склеивает объекты с точностью до изоморфизма. Спасибо за вопрос — формулировка «не верен» была ошибкой.
жпт5.3
функтор C[−] не верен на абелевых группах?
5.3: Не верен (не faithful).
разве??
5.3: Ты прав: на категории групп функтор C[-] верен (faithful).
💪🏻👊🏆
опус4.6
4.6: функтор C[−] не верен на абелевых группах
разве??
4.6: Функтор верен (не склеивает стрелки), но склеивает объекты с точностью до изоморфизма. Спасибо за вопрос — формулировка «не верен» была ошибкой.
жпт5.3
функтор C[−] не верен на абелевых группах?
5.3: Не верен (не faithful).
разве??
5.3: Ты прав: на категории групп функтор C[-] верен (faithful).
💪🏻👊🏆
✍37❤7🏆3👍1🫡1
Ну, с Днём Науки!!1
Так-то вчерашняя победа над очередными "топовыми" версиями нейронок возникла вот из этих размышлений =>
У нас есть структурно разные реализации стека -- с помощью динамического массива, и с помощью связного списка. Но после того, как мы их "компилируем" в общую алгебру C[G] - интерфейс/абстрактный класс - они становятся неразличимы (изоморфны как алгебры), хотя и имеют разные вычислительные свойства.
Об этом же говорит и унивалентность в HoTT: критичным будет выбор эквивалентности типов. Если она будет слишком грубой, то у нас склеятся типы, которые склеивать не нужно.
Хороший дизайн типов должен сохранять различия, которые важны для нашей предметной области, а не схлопывать их в общее представление (те же интерфейсы).
...Да, но как формализовать важность доменных различий?
Нам нужно проектировать такими функторами, которые будут одновременно верны, полны, и отражают изоморфизмы!
Это именно та ключевая эквивалентность из HoTT: домен и код выражают одно и то же, 1:1, без потерь информации и без лишнего мусора.
Таким образом,
- любой баг в системе будет следствием нарушения faithful соответствующего функтора;
- любые накладные/мусорные операции (например инкапсуляция, которую мы вводим для защиты от тупых разработчиков) будут следствием нарушения полноты функтора;
- любые лишние типы/обёртки (которые мы обычно вводим для снижения когнитивной нагрузки и той же страховки от дурака) будут следствием нарушения отражения изоморфизмов.
Но ведь все эти моменты мы вполне можем формализовать!
...Думаю вот, а не сделать ли такой мета-фреймворк для AI, который вообще уничтожит всё человеческое программирование? :)
Или всё же лучше подготовить условный "гайд", который сделает только его владельца x100..x1000...x1000000 -кратным эксклюзивным программистом? А саму мета-методику хранить в тайне, и доверять лишь избранным ментатам, как Бене Гессерит :)
А то вы так и будете бесконечно "прописывать скиллы для агентов" с кучей топологических дыр.
Правда, для использования только самого гайда потребуется PhD в теории типов, но это, на мой взгляд, вполне достойный порог входа для подобных целей (+ я вам дам прямую тайную тропку к цели:).
...В любом случае, в конечном итоге в айтишке останутся только такие.
Impossible? Like that would stop me.
Так-то вчерашняя победа над очередными "топовыми" версиями нейронок возникла вот из этих размышлений =>
У нас есть структурно разные реализации стека -- с помощью динамического массива, и с помощью связного списка. Но после того, как мы их "компилируем" в общую алгебру C[G] - интерфейс/абстрактный класс - они становятся неразличимы (изоморфны как алгебры), хотя и имеют разные вычислительные свойства.
Об этом же говорит и унивалентность в HoTT: критичным будет выбор эквивалентности типов. Если она будет слишком грубой, то у нас склеятся типы, которые склеивать не нужно.
Хороший дизайн типов должен сохранять различия, которые важны для нашей предметной области, а не схлопывать их в общее представление (те же интерфейсы).
...Да, но как формализовать важность доменных различий?
Нам нужно проектировать такими функторами, которые будут одновременно верны, полны, и отражают изоморфизмы!
Это именно та ключевая эквивалентность из HoTT: домен и код выражают одно и то же, 1:1, без потерь информации и без лишнего мусора.
Таким образом,
- любой баг в системе будет следствием нарушения faithful соответствующего функтора;
- любые накладные/мусорные операции (например инкапсуляция, которую мы вводим для защиты от тупых разработчиков) будут следствием нарушения полноты функтора;
- любые лишние типы/обёртки (которые мы обычно вводим для снижения когнитивной нагрузки и той же страховки от дурака) будут следствием нарушения отражения изоморфизмов.
Но ведь все эти моменты мы вполне можем формализовать!
...Думаю вот, а не сделать ли такой мета-фреймворк для AI, который вообще уничтожит всё человеческое программирование? :)
Или всё же лучше подготовить условный "гайд", который сделает только его владельца x100..x1000...x1000000 -кратным эксклюзивным программистом? А саму мета-методику хранить в тайне, и доверять лишь избранным ментатам, как Бене Гессерит :)
А то вы так и будете бесконечно "прописывать скиллы для агентов" с кучей топологических дыр.
Правда, для использования только самого гайда потребуется PhD в теории типов, но это, на мой взгляд, вполне достойный порог входа для подобных целей (+ я вам дам прямую тайную тропку к цели:).
...В любом случае, в конечном итоге в айтишке останутся только такие.
Impossible? Like that would stop me.
2🥰32❤13✍4👍4
...И у меня сильное подозрение, что конкретно для уничтожения мэйнстрима с помощью агентов смитов подойдёт только Haskell (Хиндли-Милнер на стероидах), потому что F# не умеет автоматически выводить функторы. Можно помучиться с помощью free monad, но всё равно в нём нету ни тайп-классов, ни deriving, ни GADTs, ни HKTs...
Haskell зараза, довольно кривой сам по себе, награбастал себе кучу крутых абстракций :)
Хорошая кстати идея: начинаем проект с подбора максимально сильных абстракций, с которыми знаком, хотя бы на пару уровней выше классических паттернов GoF.
Haskell зараза, довольно кривой сам по себе, награбастал себе кучу крутых абстракций :)
Хорошая кстати идея: начинаем проект с подбора максимально сильных абстракций, с которыми знаком, хотя бы на пару уровней выше классических паттернов GoF.
👍33✍13❤🔥1
То есть как минимум чистое ядро бэка, бизнес-логику, смиты пилят на хаске,
а фронт (или под ноду) на purenoscript -- он концептуально ближе всего к хаскелю, есть вывод функторов, тайп-классы с higher-kinded types (но нету deriving via)...
В качестве модной альтернативы на фронтенд можно взять совсем молодой Roc
(автоматический вывод тайпкласс-подобных интерфейсов), который умеет компилировать например в wasm, и в целом весьма прагматичный.
Как альтернатива хаскелю вполне можно посмотреть скаловский dotty, по возможностям практически как ps. Конкретно под суровый прод я бы даже наверное со скалы3 и начал.
а фронт (или под ноду) на purenoscript -- он концептуально ближе всего к хаскелю, есть вывод функторов, тайп-классы с higher-kinded types (но нету deriving via)...
В качестве модной альтернативы на фронтенд можно взять совсем молодой Roc
(автоматический вывод тайпкласс-подобных интерфейсов), который умеет компилировать например в wasm, и в целом весьма прагматичный.
Как альтернатива хаскелю вполне можно посмотреть скаловский dotty, по возможностям практически как ps. Конкретно под суровый прод я бы даже наверное со скалы3 и начал.
❤31👍11✍6
.
Облако драгоценностей за неделю.
Сегодня будет важная информация для ментатов, посмотрите вечером наши новости - новый вид скидок 💰 (кто хорошо занимается, последние материалы могут быть вообще бесплатны!)
Приватный клуб.
Сейчас повсеместное распространение получил вайб-кодинг, и на первый взгляд это действительно выглядит впечатляюще. Вы можете превратить идею в работающее приложение за считанные минуты, просто описав, чего вы хотите, и предоставив AI выполнять 98% работы.
Многие новички создают таким образом MVP, игры и небольшие продукты. Некоторые из них даже внедряют эти приложения, привлекают пользователей и зарабатывают деньги, несмотря на то, что у них очень мало опыта в программировании.
И, честно говоря, эта часть реальна.
Проблема проявляется только после того, как вы переходите к первой рабочей версии...
Для донов-начинающих:
Что делать, если трудно заниматься даже на курсе программирования с нуля?..
Вот неприятная правда: тебе не нужны люди, которые "верят в тебя". Вот кто тебе нужен...
Изучение программирования в 2026-м году выглядит совсем иначе, чем два года или даже год назад (лонгрид, выложу также на бусти)...
Для донов-неначинающих:
В своей карьере будьте как дети. Они абсолютно безжалостны в своём стремлении добиться того, чего хотят, и не испытывают сострадания к ближнему, если это сострадание может помешать им получить желаемое...
...Конечно, я знаю, что многие отличные / одарённые программисты не сильны в "продажах" самих себя при переходе на новую работу... и что эта необходимость "продаваться" реально выбивает их из колеи. Им (как и мне) ненавистна сама идея "проталкивать" себя. Они стеснительны, немногословны, и хотят всего лишь сосредоточиться на своей работе, хотят просто писать хороший код.
Продолжение трека "Элитный программист":
35) Как работать с глупыми менеджерами
Когда речь заходит о начальстве, самые частые претензии сводятся к тому, что оно не заботится о применении лучших практик программирования (нередко и тестирования), и рассматривает их как причуды, которые только замедляют процесс производства. Вы также наверняка встретите руководителей, которые используют неверные показатели эффективности (например, частоту выпуска релизов, а не качество и надёжность), и продвигают не тех людей.
Продолжаю выкладывать для донов материалы СильныхИдей — доступны моим курсантам, но тут расширенные и дополненные версии.
74. Не путаем DI и ADT
"Начала выстраиваться наконец-то модель ООП,которая изначально выстроена,к сожалению,с помощью Dependency Injection - как и везде сейчас,и слабого курса в универе,где мы просто С++ учили."
(все старые материалы для донов постепенно сгорают)
=
Первые сериалы из существенно переработанных и улучшенных материалов СильныхИдей (по сути четыре книги) доступны на бусти:
1. БАЗА программной инженерии
2. Software Design с акцентом на Programming in Small
3. SOLID-25
4. Software Design с акцентом на Programming in Large
=
Новые материалы для ментатов Лаборатории.
В раздел "Элитный программист" добавлен материал
88) Математика высокой продуктивности-5
В курс карьеры добавлен 125-й материал "База по использованию AI в разработке".
По сути, вы меняете свой многолетний опыт на краткосрочное повышение скорости разработки, и то исключительно в интересах вашего работодателя, который не добавит вам за трёхкратную скорость даже 2% к зарплате...
💪🏻
Мы здесь, потому что это трудно.
it's a privilege to do things that are hard.
=
Гайд про функциональные архитектуры, 53 топика (+0), как наберётся 64, дам ментатам доступ.
Лаборатория идёт со скоростью самых лучших ментатов.
=
"Любая дорога, если дойти до её конца, ведёт прямо в никуда. Если держите путь на гору, поднимитесь чуть-чуть по склону, чтобы убедиться, что это действительно гора(Фрэнк Герберт знал про градиентный спуск уже тогда:) . С вершины вы этого не увидите."
притча Бене Гессерит
"Дюна"
Облако драгоценностей за неделю.
Сегодня будет важная информация для ментатов, посмотрите вечером наши новости - новый вид скидок 💰 (кто хорошо занимается, последние материалы могут быть вообще бесплатны!)
Приватный клуб.
Сейчас повсеместное распространение получил вайб-кодинг, и на первый взгляд это действительно выглядит впечатляюще. Вы можете превратить идею в работающее приложение за считанные минуты, просто описав, чего вы хотите, и предоставив AI выполнять 98% работы.
Многие новички создают таким образом MVP, игры и небольшие продукты. Некоторые из них даже внедряют эти приложения, привлекают пользователей и зарабатывают деньги, несмотря на то, что у них очень мало опыта в программировании.
И, честно говоря, эта часть реальна.
Проблема проявляется только после того, как вы переходите к первой рабочей версии...
Для донов-начинающих:
Что делать, если трудно заниматься даже на курсе программирования с нуля?..
Вот неприятная правда: тебе не нужны люди, которые "верят в тебя". Вот кто тебе нужен...
Изучение программирования в 2026-м году выглядит совсем иначе, чем два года или даже год назад (лонгрид, выложу также на бусти)...
Для донов-неначинающих:
В своей карьере будьте как дети. Они абсолютно безжалостны в своём стремлении добиться того, чего хотят, и не испытывают сострадания к ближнему, если это сострадание может помешать им получить желаемое...
...Конечно, я знаю, что многие отличные / одарённые программисты не сильны в "продажах" самих себя при переходе на новую работу... и что эта необходимость "продаваться" реально выбивает их из колеи. Им (как и мне) ненавистна сама идея "проталкивать" себя. Они стеснительны, немногословны, и хотят всего лишь сосредоточиться на своей работе, хотят просто писать хороший код.
Продолжение трека "Элитный программист":
35) Как работать с глупыми менеджерами
Когда речь заходит о начальстве, самые частые претензии сводятся к тому, что оно не заботится о применении лучших практик программирования (нередко и тестирования), и рассматривает их как причуды, которые только замедляют процесс производства. Вы также наверняка встретите руководителей, которые используют неверные показатели эффективности (например, частоту выпуска релизов, а не качество и надёжность), и продвигают не тех людей.
Продолжаю выкладывать для донов материалы СильныхИдей — доступны моим курсантам, но тут расширенные и дополненные версии.
74. Не путаем DI и ADT
"Начала выстраиваться наконец-то модель ООП,которая изначально выстроена,к сожалению,с помощью Dependency Injection - как и везде сейчас,и слабого курса в универе,где мы просто С++ учили."
(все старые материалы для донов постепенно сгорают)
=
Первые сериалы из существенно переработанных и улучшенных материалов СильныхИдей (по сути четыре книги) доступны на бусти:
1. БАЗА программной инженерии
2. Software Design с акцентом на Programming in Small
3. SOLID-25
4. Software Design с акцентом на Programming in Large
=
Новые материалы для ментатов Лаборатории.
В раздел "Элитный программист" добавлен материал
88) Математика высокой продуктивности-5
В курс карьеры добавлен 125-й материал "База по использованию AI в разработке".
По сути, вы меняете свой многолетний опыт на краткосрочное повышение скорости разработки, и то исключительно в интересах вашего работодателя, который не добавит вам за трёхкратную скорость даже 2% к зарплате...
💪🏻
Мы здесь, потому что это трудно.
it's a privilege to do things that are hard.
=
Гайд про функциональные архитектуры, 53 топика (+0), как наберётся 64, дам ментатам доступ.
Лаборатория идёт со скоростью самых лучших ментатов.
=
"Любая дорога, если дойти до её конца, ведёт прямо в никуда. Если держите путь на гору, поднимитесь чуть-чуть по склону, чтобы убедиться, что это действительно гора
притча Бене Гессерит
"Дюна"
1❤30✍10👍2
Последнее время многие ребята мне радостно пишут, что им на работе дали бесплатный аккаунт к условному жпт, причём немало и таких, у кого безлимитка за 200 долларов.
Дорогие, следите за руками :)
Вы получаете 2000 долларов и выполняете некий объём работ. Работы много и желательно её делать побыстрее.
Но если взять к вам ещё одного двухтысячника, то работа ускорится ну в лучшем случае раза в полтора, да и то не сразу. И тут внезапно оказывается, что если платить не 2000 зарплату белковому, а 200 за токены, то человек в паре с жпт начинает работать в два-три раза быстрее (а может и ещё продуктивнее). Ничего личного, просто капитализм.
Так-то и пофиг, но таким образом уничтожаются ваши собственные скиллы, и жпт200 приносит только выученную беспомощность...
Дорогие, следите за руками :)
Вы получаете 2000 долларов и выполняете некий объём работ. Работы много и желательно её делать побыстрее.
Но если взять к вам ещё одного двухтысячника, то работа ускорится ну в лучшем случае раза в полтора, да и то не сразу. И тут внезапно оказывается, что если платить не 2000 зарплату белковому, а 200 за токены, то человек в паре с жпт начинает работать в два-три раза быстрее (а может и ещё продуктивнее). Ничего личного, просто капитализм.
Так-то и пофиг, но таким образом уничтожаются ваши собственные скиллы, и жпт200 приносит только выученную беспомощность...
🤔27💯17✍8❤3😁1
В развитие темки.
Ты говоришь агенту "Мне нужна подсистема управления заказами: клиент может создать заказ, добавить товары, оплатить, отменить до отправки....".
Агент бодро берётся за работу, и где-то на пятидесятой итерации, потратив миллион токенов, выдаёт нечто вроде бы минимально работающее.
Допустим, 50 классов, которые можно комбинировать 2500 разными способами. И через полгода, после новых хотелок до 200 классов, жпт как сгенерит новый код, так сломает старый, и 80% токенов уходит на "поправь тут", "сломалось это", "не то имел в виду". А вскоре и контекст всех классов не будет влазить в окно, и на этом всё :) в таком случае принципиально невозможно добавить новый класс не поломав что-то в уже существующем.
И тут даже при небольшом количестве подобных подсистем, взаимодействующих друг с другом, начинается экспоненциальный расход ресурсов, потому что агенты следуют жадному поиску "сгенерить - проверить - откат - пробую иначе".
5 таких подсистем - миллионы токенов, 20 - сотни миллионов, 50 - просто нереально. Каждая починка ломает что-то другое, откаты копятся, и начинается экспоненциальное блуждание в пространстве решений.
На практике-то и 100 млн токенов легко может улететь и на одну подсистему, если допустил топологическую дыру в спеке.
И вот что с этим мы будем делать :) =>
Ты говоришь агенту "Мне нужна подсистема управления заказами: клиент может создать заказ, добавить товары, оплатить, отменить до отправки....".
Агент бодро берётся за работу, и где-то на пятидесятой итерации, потратив миллион токенов, выдаёт нечто вроде бы минимально работающее.
Допустим, 50 классов, которые можно комбинировать 2500 разными способами. И через полгода, после новых хотелок до 200 классов, жпт как сгенерит новый код, так сломает старый, и 80% токенов уходит на "поправь тут", "сломалось это", "не то имел в виду". А вскоре и контекст всех классов не будет влазить в окно, и на этом всё :) в таком случае принципиально невозможно добавить новый класс не поломав что-то в уже существующем.
И тут даже при небольшом количестве подобных подсистем, взаимодействующих друг с другом, начинается экспоненциальный расход ресурсов, потому что агенты следуют жадному поиску "сгенерить - проверить - откат - пробую иначе".
5 таких подсистем - миллионы токенов, 20 - сотни миллионов, 50 - просто нереально. Каждая починка ломает что-то другое, откаты копятся, и начинается экспоненциальное блуждание в пространстве решений.
На практике-то и 100 млн токенов легко может улететь и на одну подсистему, если допустил топологическую дыру в спеке.
И вот что с этим мы будем делать :) =>
11👍32✍8❤6🐳3
10 подсистем - 300 тысяч токенов, 50 - ну 2-3 миллиона.
Как, Карл??
По заветам Гротендика и Алана Кэя, метапрограммирование, DSL и тысячекратная компактность кода, с которой экспериментировал ещё лет 20 назад (OMeta), и вот наконец час пробил :)
Ты говоришь агенту "клиент может создать заказ, добавить товары, оплатить, отменить до отправки...."
Но мы не одинаковы.
1000 классов - это 15-20 функторов между 5-7 категориями.
Я пишу категорную спецификацию, и говорю агенту
"вот категория C с 5 объектами и функтор F: C -> Код".
Ну не буквально, а на особом DSL, понятном жпт, или например в Lean4.
0 токенов :)
Забрасываю это в какую-нибудь дешёвую жпт4 "превратить спеку в шаблон-генератор на F#" (ну 1000 токенов).
Гружу этот генератор в уже совсем бесплатную ллм-ку типа дипсика. Магия -- и на выходе нужные мне 200 классов, которые идеально работают.
Надо добавить 201-й класс? Он в категории C3, и может взаимодействовать только через функтор F: C3 -> C1 (за O(1), ну в крайнем за O(k), где k - число морфизмов).
Нужно проверить только интерфейс функтора, а не 200 классов! Пишем "реализуй тип T, совместимый с интерфейсом I" (сотня токенов!).
Твои 10 подсистем - полмиллиарда токенов и хрупкость 70%.
Мои 10 подсистем - 1 млн токенов и хрупкость 10%.
Интеграция подсистем: один функтор, 0 конфликтов.
Начинаем с композиционной корректности (сеньор конечно формализует по одному инварианту через пред- пост-условия, а когда их сотни и они все склеены?). Для этого учимся видеть в бизнес-домене категории и морфизмы. Это самый первый шаг, а всего будет 7 базовых, но с пропуском даже одного топологическая цепочка порвётся, и агент бросится лепить баги и безумно сжигать токены :)
Как, Карл??
По заветам Гротендика и Алана Кэя, метапрограммирование, DSL и тысячекратная компактность кода, с которой экспериментировал ещё лет 20 назад (OMeta), и вот наконец час пробил :)
Ты говоришь агенту "клиент может создать заказ, добавить товары, оплатить, отменить до отправки...."
Но мы не одинаковы.
1000 классов - это 15-20 функторов между 5-7 категориями.
Я пишу категорную спецификацию, и говорю агенту
"вот категория C с 5 объектами и функтор F: C -> Код".
Ну не буквально, а на особом DSL, понятном жпт, или например в Lean4.
0 токенов :)
Забрасываю это в какую-нибудь дешёвую жпт4 "превратить спеку в шаблон-генератор на F#" (ну 1000 токенов).
Гружу этот генератор в уже совсем бесплатную ллм-ку типа дипсика. Магия -- и на выходе нужные мне 200 классов, которые идеально работают.
Надо добавить 201-й класс? Он в категории C3, и может взаимодействовать только через функтор F: C3 -> C1 (за O(1), ну в крайнем за O(k), где k - число морфизмов).
Нужно проверить только интерфейс функтора, а не 200 классов! Пишем "реализуй тип T, совместимый с интерфейсом I" (сотня токенов!).
Твои 10 подсистем - полмиллиарда токенов и хрупкость 70%.
Мои 10 подсистем - 1 млн токенов и хрупкость 10%.
Интеграция подсистем: один функтор, 0 конфликтов.
Начинаем с композиционной корректности (сеньор конечно формализует по одному инварианту через пред- пост-условия, а когда их сотни и они все склеены?). Для этого учимся видеть в бизнес-домене категории и морфизмы. Это самый первый шаг, а всего будет 7 базовых, но с пропуском даже одного топологическая цепочка порвётся, и агент бросится лепить баги и безумно сжигать токены :)
11✍49⚡6😇4👍2🥰1
...Да и F# я конечно рановато списал, для него же есть F#+ с тайпклассом Functor, и Active Patterns, и Type Providers, и всякие крутые фишки обещают в F# 11 (хотя так-то есть
Myriad -- это прям наша темка для метапрограммирования)... Да и C# по большому счёту близится по потенциалу к этому всему (Source Generators).
Есть и зависимые типы для F# (заброшенный, но допилить при желании несложно). Между прочим, завтипчики сами по себе вполне могут дать категорную интуицию, и тут я пока не решил, идти ли от теорката (это скорее путь для классических математиков), или всё же от теории типов (это куда ближе программистам).
И в целом, я так подумал... Зачем мне эту методику вообще кому-то отдавать? Всё равно в ней безполлитра PhD не разобраться.
Учить этим темкам буду индивидуально только лучших ментатов, а реализую эту концепцию например как условный SaaS (внутри работаюттысячи индусов и пакистанцев мои специально обученные агенты). Закидываете своё ТЗ, и получаете на выходе систему произвольной сложности по большому счёту, которая ну не формально верифицирована, но близко, и как минимум концептуально описана математически, а стоить это будет в сотни-тысячи раз дешевле, и делаться быстрее, чем если отдавать команде белковых с жпт200.
Myriad -- это прям наша темка для метапрограммирования)... Да и C# по большому счёту близится по потенциалу к этому всему (Source Generators).
Есть и зависимые типы для F# (заброшенный, но допилить при желании несложно). Между прочим, завтипчики сами по себе вполне могут дать категорную интуицию, и тут я пока не решил, идти ли от теорката (это скорее путь для классических математиков), или всё же от теории типов (это куда ближе программистам).
И в целом, я так подумал... Зачем мне эту методику вообще кому-то отдавать? Всё равно в ней без
Учить этим темкам буду индивидуально только лучших ментатов, а реализую эту концепцию например как условный SaaS (внутри работают
27👍32❤9✍5😁3❤🔥1
Вайб-кодинг -- быстрый недисциплинированный подход, при котором разработчик отправляет запросы жпт, принимает его вывод без ревью кода, тестирует вживую и исправляет ошибки по мере их появления. Приводит к созданию непонятного, неподдерживаемого и хрупкого кода. Скрипты, прототипы, небольшие программы и игры, для которых можно украсть код с гитхаба -- норм.
Agentic engineering -- профессиональная инженерная методология, где человек берёт на себя прежде всего темы планирования, ревью кода, тестирования и оркестрации. Фундаментальные знания в архитектурах, system/software design, качестве и безопасности, становятся критически важными.
Спецификацию и этапы работ готовим до начала кодинга. Строгий ревью всего сгенерированного кода. Всеобъемлющее тестирование как база качества и успешных итераций агентов. Полная ответственность человека за архитектуру, код, документацию, CI/CD и мониторинг.
Так-то классический техлид и есть. Растите скорее в него!
Agentic mathematics -- существенно более формальная темка, куда двигаюсь я :)
Вот как сегодня работает agentic engineering: "Building a C compiler with a team of parallel Claudes", 16 агентов нафигачили на Rust компилятор Си под линукс на 100 тысяч строк кода за две недели.
При том что темка написания компиляторов -- это по сути академическая алгоритмическая задачка, она очень хорошо изучена и формализована десятки лет назад, сегодня по сути курсовая студенческая работа. Вот например компилятор сишечки, написанный на ассемблере, который уместился в 512 БАЙТОВ.
В данном случае ещё большой вопрос, как вообще эти 100.000 строк кода работают? Понятно что прогнали через стандартный набор тестов, ну ок. Но в продакшене я бы его использовать не стал :)
Собственно что хочу сказать -- работа этих агентов обошлась в 20.000 долларов! Ну, за 10 месяцев в принципе любой крепкий миддл с университетским образованием сделает даже несколько таких компиляторов.
Agentic engineering -- профессиональная инженерная методология, где человек берёт на себя прежде всего темы планирования, ревью кода, тестирования и оркестрации. Фундаментальные знания в архитектурах, system/software design, качестве и безопасности, становятся критически важными.
Спецификацию и этапы работ готовим до начала кодинга. Строгий ревью всего сгенерированного кода. Всеобъемлющее тестирование как база качества и успешных итераций агентов. Полная ответственность человека за архитектуру, код, документацию, CI/CD и мониторинг.
Так-то классический техлид и есть. Растите скорее в него!
Agentic mathematics -- существенно более формальная темка, куда двигаюсь я :)
Вот как сегодня работает agentic engineering: "Building a C compiler with a team of parallel Claudes", 16 агентов нафигачили на Rust компилятор Си под линукс на 100 тысяч строк кода за две недели.
При том что темка написания компиляторов -- это по сути академическая алгоритмическая задачка, она очень хорошо изучена и формализована десятки лет назад, сегодня по сути курсовая студенческая работа. Вот например компилятор сишечки, написанный на ассемблере, который уместился в 512 БАЙТОВ.
В данном случае ещё большой вопрос, как вообще эти 100.000 строк кода работают? Понятно что прогнали через стандартный набор тестов, ну ок. Но в продакшене я бы его использовать не стал :)
Собственно что хочу сказать -- работа этих агентов обошлась в 20.000 долларов! Ну, за 10 месяцев в принципе любой крепкий миддл с университетским образованием сделает даже несколько таких компиляторов.
7❤39✍7🔥4⚡1👍1
Первый спутник, Гагарин, астронавты - дали бум по всему миру инженерным темкам, включая первые компьютеры.
В 1970-е появился Кобол, который создавался с целью "бизнесмены будут писать свои собственные программы".
(Кстати, очень лёгкий язык, реально похож на естественный, но даже небольшая логика занимала кучу перфокарт. Но учётные программы кодировались только так.)
Реальность: 98% бизнесменов тех лет не могли запрограммировать на околоестественном языке нахождение наибольшего значения из трёх чисел :) А сегодня, думаю, и 99,9% не напишут.
Но в целом на Коболе было написано просто огромное количество строк кода, и к программированию реально подключилось множество не только математиков и физиков которые использовали фортран, но и обычных инженеров.
1980-е: CASE-инструменты будут генерировать всё.
Реальность: эти инструменты так и остались уделом единичных проектов и академического изучения. Но при этом к программированию было привлечено большое количество постановщиков и аналитиков, подчас вообще без инженерного образования, которые начинали с рисования диаграммок, и попадали в промышленную разработку.
1990-е: Visual Basic и Delphi: пресловутое рисование мышкой, формошлёпство, что невероятно бесило хардкорных плюсистов, но к прикладному программированию оказалось привлечено просто огромное количество людей, начиная со студентов.
2000-е: Бум IDE, первые веб-фреймворки, где вся техническая начинка глубоко скрыта, и достаточно просто понимать реляционные отношения на уровне моделей и делать крупные проекты небольшим количеством кода, что привлекло множество людей уже в профессиональную разработку.
Сколько же я тогда книг, самоучителей написал на эти темки... :)
2010-е: Развитие тенденций lowcode/nocode, бессерверные/облачные технологии, появление различных конструкторов и библиотек компонентов, которые позволяли буквально "рисовать" стандартные бизнес-приложения.
Программирование переживает очередной бум, в айтишку входит всё больше и больше "гуманитариев".
2020-е: Искусственный интеллект: последняя глава в долгой истории?
Да нет же! До сих пор каждое усовершенствование программирования не уменьшало потребность в разработчиках, а увеличивало её! Ну или как минимум привлекало к программированию существенно - в разы, а то и на порядки - больше людей. Сейчас например в геймдеве, смотрю, массовый тренд - ребята бросаются изучать программирование. С помощью нейронки они создали прототип своей игры-мечты, да ещё и с кооперативом, но её дальнейшее развитие, да и просто доведение до первой рабочей версии, требует сперва базовых знаний сисадминства, затем devops/сборка/деплой, затем умения писать простые скрипты на lua python js...
Уверен, что скоро в "поизучать программирование" появится новая огромная волна желающих, попробовавших возможности создания "своего приложения", но быстро столкнувшихся с необходимостью профильных знаний. Но только им уже будет абсолютно наплевать на рекламные призывы "войти в айти за полгода зарплата 160k", потому что у них совсем другая мотивация, да и AI им хорошо поможет в самообучении.
И в целом AI как усовершенствование программирования просто продолжает вышеописанную тенденцию, потому что отражает законную потребность. Нам действительно нужны более быстрые и эффективные способы создания надёжного программного обеспечения!
Мы просто каждый раз обнаруживаем, что ограничением становится не инструмент, а сложность проблем, которые мы пытаемся решить.
В 1970-е появился Кобол, который создавался с целью "бизнесмены будут писать свои собственные программы".
(Кстати, очень лёгкий язык, реально похож на естественный, но даже небольшая логика занимала кучу перфокарт. Но учётные программы кодировались только так.)
Реальность: 98% бизнесменов тех лет не могли запрограммировать на околоестественном языке нахождение наибольшего значения из трёх чисел :) А сегодня, думаю, и 99,9% не напишут.
Но в целом на Коболе было написано просто огромное количество строк кода, и к программированию реально подключилось множество не только математиков и физиков которые использовали фортран, но и обычных инженеров.
1980-е: CASE-инструменты будут генерировать всё.
Реальность: эти инструменты так и остались уделом единичных проектов и академического изучения. Но при этом к программированию было привлечено большое количество постановщиков и аналитиков, подчас вообще без инженерного образования, которые начинали с рисования диаграммок, и попадали в промышленную разработку.
1990-е: Visual Basic и Delphi: пресловутое рисование мышкой, формошлёпство, что невероятно бесило хардкорных плюсистов, но к прикладному программированию оказалось привлечено просто огромное количество людей, начиная со студентов.
2000-е: Бум IDE, первые веб-фреймворки, где вся техническая начинка глубоко скрыта, и достаточно просто понимать реляционные отношения на уровне моделей и делать крупные проекты небольшим количеством кода, что привлекло множество людей уже в профессиональную разработку.
Сколько же я тогда книг, самоучителей написал на эти темки... :)
2010-е: Развитие тенденций lowcode/nocode, бессерверные/облачные технологии, появление различных конструкторов и библиотек компонентов, которые позволяли буквально "рисовать" стандартные бизнес-приложения.
Программирование переживает очередной бум, в айтишку входит всё больше и больше "гуманитариев".
2020-е: Искусственный интеллект: последняя глава в долгой истории?
Да нет же! До сих пор каждое усовершенствование программирования не уменьшало потребность в разработчиках, а увеличивало её! Ну или как минимум привлекало к программированию существенно - в разы, а то и на порядки - больше людей. Сейчас например в геймдеве, смотрю, массовый тренд - ребята бросаются изучать программирование. С помощью нейронки они создали прототип своей игры-мечты, да ещё и с кооперативом, но её дальнейшее развитие, да и просто доведение до первой рабочей версии, требует сперва базовых знаний сисадминства, затем devops/сборка/деплой, затем умения писать простые скрипты на lua python js...
Уверен, что скоро в "поизучать программирование" появится новая огромная волна желающих, попробовавших возможности создания "своего приложения", но быстро столкнувшихся с необходимостью профильных знаний. Но только им уже будет абсолютно наплевать на рекламные призывы "войти в айти за полгода зарплата 160k", потому что у них совсем другая мотивация, да и AI им хорошо поможет в самообучении.
И в целом AI как усовершенствование программирования просто продолжает вышеописанную тенденцию, потому что отражает законную потребность. Нам действительно нужны более быстрые и эффективные способы создания надёжного программного обеспечения!
Мы просто каждый раз обнаруживаем, что ограничением становится не инструмент, а сложность проблем, которые мы пытаемся решить.
🤓30💯15❤9✍4🤔3
Надо признать, что AI-агенты -- это качественный шаг (куда-то туда:).
LLM как ни крути, не более чем статистический подбор наиболее "близкого" к решению, и всё (предсказание наиболее вероятной последовательности токенов). Нейросеть концептуально не способна - в принципе - прокручивать код по шагам, эмулировать его выполнение.
Поэтому именно агенты закрывают этот пробел: например, с помощью тестов дают обратную связь, получилось решение работающим или нет.
Что интересно, и люди программирует очень похоже. Смотрю по многим десяткам ребят (и девчат), кто у меня изучал программирование с полного нуля: нарешиваем сперва сотни простых задачек постепенно растущей сложности, чтобы когда человек прочитал условие новой задачи такой же сложности, нейросетка в его голове сразу выдала бы приблизительное решение. Собственно сеньоры отличаются от начинающих только тем, сколько примерно похожего на решение кода они могут сгенерировать с ходу. Начинающий - от силы десяток строк, профи быстро напечатает несколько сотен. Тут кстати полезная отдельная связь, дабы осознать свою скорость и рейт ошибок, у меня это курс по Personal Software Process Карнеги Меллона. Но это один микро-скилл, и его недостаточно.
Требуется также и агентское мышление, второй микро-скилл: прежде всего, метод пристального взгляда, когда мы пошагово прокручиваем работу кода (или как минимум его критические моменты) в голове. Тут у людей разные квалификации тоже различия, но скорее в уровне компетенции: начинающий (сознательная некомпетентность) будет долго и мучительно моделировать работу каждой строчки кода и путаться в трёх соснах, а профи (бессознательная компетентность) моделирует работу длинных простынь кода подсознательно; на уровне сознания это будут инсайты или смутное чувство "где-то что-то тут не так" (или "вроде норм" :). Тогда уже пускаем в ход отладчик и логи.
Я по этой причине начинающим с нуля с самого первого занятия даю рекомендации и разбор задачек в режиме пошагового выполнения, чтобы эти два базовых микро-скилла склеивались у них в уме как можно быстрее и прочнее.
(правда, набора на занятия у меня не было уже год, и не знаю, когда снова возобновлю :)
LLM как ни крути, не более чем статистический подбор наиболее "близкого" к решению, и всё (предсказание наиболее вероятной последовательности токенов). Нейросеть концептуально не способна - в принципе - прокручивать код по шагам, эмулировать его выполнение.
Поэтому именно агенты закрывают этот пробел: например, с помощью тестов дают обратную связь, получилось решение работающим или нет.
Что интересно, и люди программирует очень похоже. Смотрю по многим десяткам ребят (и девчат), кто у меня изучал программирование с полного нуля: нарешиваем сперва сотни простых задачек постепенно растущей сложности, чтобы когда человек прочитал условие новой задачи такой же сложности, нейросетка в его голове сразу выдала бы приблизительное решение. Собственно сеньоры отличаются от начинающих только тем, сколько примерно похожего на решение кода они могут сгенерировать с ходу. Начинающий - от силы десяток строк, профи быстро напечатает несколько сотен. Тут кстати полезная отдельная связь, дабы осознать свою скорость и рейт ошибок, у меня это курс по Personal Software Process Карнеги Меллона. Но это один микро-скилл, и его недостаточно.
Требуется также и агентское мышление, второй микро-скилл: прежде всего, метод пристального взгляда, когда мы пошагово прокручиваем работу кода (или как минимум его критические моменты) в голове. Тут у людей разные квалификации тоже различия, но скорее в уровне компетенции: начинающий (сознательная некомпетентность) будет долго и мучительно моделировать работу каждой строчки кода и путаться в трёх соснах, а профи (бессознательная компетентность) моделирует работу длинных простынь кода подсознательно; на уровне сознания это будут инсайты или смутное чувство "где-то что-то тут не так" (или "вроде норм" :). Тогда уже пускаем в ход отладчик и логи.
Я по этой причине начинающим с нуля с самого первого занятия даю рекомендации и разбор задачек в режиме пошагового выполнения, чтобы эти два базовых микро-скилла склеивались у них в уме как можно быстрее и прочнее.
5❤35✍22🏆5
Пятница 13е, нужен же позитив? :)
Ну, например я убеждён, что телеграмм уже в этом году полностью забанят, причём капитально, затем гугл, затем любые впн, затем оставят только белый список, цифровой рубль и персональный эйай вместо живого куратора за сорм-ом, а затем, согласно пророчеств, под предлогом заботы о безопасности граждан, заключительное: цифровая печать 666 на длань и чело. Думаю, что уже в этом десятилетии всё закончится.
"В сансаре абсолютно всё и всегда связано с дукха — страданием, неудовлетворённостью. В сансаре не может быть никакой справедливости, здравого смысла и т. д.
И наша миссия здесь -- не установить высший справедливый гуманный мировой порядок, а успеть за свою жизнь освободить из этого концлагеря как можно больше живых существ." (с)
Ну, например я убеждён, что телеграмм уже в этом году полностью забанят, причём капитально, затем гугл, затем любые впн, затем оставят только белый список, цифровой рубль и персональный эйай вместо живого куратора за сорм-ом, а затем, согласно пророчеств, под предлогом заботы о безопасности граждан, заключительное: цифровая печать 666 на длань и чело. Думаю, что уже в этом десятилетии всё закончится.
"В сансаре абсолютно всё и всегда связано с дукха — страданием, неудовлетворённостью. В сансаре не может быть никакой справедливости, здравого смысла и т. д.
И наша миссия здесь -- не установить высший справедливый гуманный мировой порядок, а успеть за свою жизнь освободить из этого концлагеря как можно больше живых существ." (с)
21❤46✍12🤔11💯4👍1
"Гум-Гам" кстати очень рекомендую, прочитайте сами и своим детишкам эту светлую фантастическую повесть из 1970-го, святого советского писателя Евгения Велтистова (сперва книга, потом фильм): пророческое, как AI АВТУК, знавший ответы на все вопросы, порабощал людей (и там даже петля времени есть).
5❤44👍13
Продолжаю работу с ментатами 🤓
Курс очень понравился, как и анти-AI правила лаборатории с 2026. Вы совершенно верно написали, что это наркотик: сначала ты валидируешь через AI свои решения, потом идешь за советом, когда сам не знаешь, потом уже ты валидируешь решения AI, а потом сам не заметил как начинаешь проскроливать решение AI -тесты прошло, ииии так сойдет.
Я почувствовал себя прям алкоголиком, который при каждом удобном случае за бутылку (зачеркнуто) Cursor хватается. Но и "опохмел" жесткий, конечно....
Правило "10 строк и 2 условия" сначала показалось мне каким-то странным. "Как можно создать задачу в 10 строк?!" Но посмотрев на release_event, я увидел, что мы тратим 20 строк просто на перекладывание данных из одного кармана в другой.
Упражнение научило меня "видеть" сложность там, где я раньше видел "просто рабочий код". Теперь я буду каждый раз спрашивать себя: "Смогу ли я объяснить это за 5 секунд?" и "Не слишком ли много 'если' в этом коде?"...
Сначала я поставил последнюю стабильную (как написано) версию spring, в итоге при прохождении по часовому видео у меня начали возникать всякого рода ошибки. При вопросе к AI он мне предложил в последствии переписать половину pom файла, в итоге все зашло вообще в дебри, я просто переустановил с прошлой версией Spring...
[У меня и по этой причине никаких видео-уроков нету и не будет в принципе, только текст; то, что надо вдумчиво смотреть час, текстом можно легко и просто познать за 15 минут]
Прочитав материалы, испытывал странное ощущение. Это именно о том, что меня внутри и задевало. Границы, определения, чёткости уровней. Сама концепция подхода. Даже сейчас я не смогу системно выразить свою мысль об этом и уж наверняка ошибусь при построении кода. Но всё же. Они стали более чётскими. Я уже знакомился с материалом "Три уровня рассуждений о программной системе", но в связке с практическим заданием он воспринимается ещё более серьёзнее. И мне кажется там много моментов, которые можно отдельно "пожевать"....
Когда я только пришёл на работу и, по-сути, начал свою карьеру, мне коллеги-разработчики сказали, что содержимое локального yml-конфига вообще не важно, так как на стенде всё равно будет использоваться конфиг из consul. Меня обманули:) Оказалось, что у Spring есть приоритет источников конфигурации...
В общем, очень здорово, жалею, что в ВУЗе на 1 курсе, делая программы на Pascal с процедурами и глобальными переменными - нам объясняли как это делать и отлаживаться (прикладные умения), но не объясняли чем такой подход хорош или плох (фундаментальные)...
Согласно ТЗ мне необходимо сделать такую-то игру. Признаться, пока (надеюсь, что именно пока) какая-то каша в голове вместо хотя бы минимально ясной картины…
Самый главный инсайт: ослабление предусловия и при этом усиление постусловия -- тот случай, когда можно побороть Open-Closed Principle, изменив исходный код!
Это высший пилотаж, который мне в полной мере не поддался: ни в одном моем примере одновременно это сделать не получилось.
[в СИ скоро будет разбор SOLID новая, уже четвёртая итерация!!1
и начнём как раз с OCP]
невозможно найти хороших разрабочиков сейчас, даже по 3-4к долларов, просто не получается, поэтому план уволить совсем неадекватных, а тех кто. может ctrl-c ctrl-v усилить спецификациями и AI надсмортщиками..
Курс очень понравился, как и анти-AI правила лаборатории с 2026. Вы совершенно верно написали, что это наркотик: сначала ты валидируешь через AI свои решения, потом идешь за советом, когда сам не знаешь, потом уже ты валидируешь решения AI, а потом сам не заметил как начинаешь проскроливать решение AI -тесты прошло, ииии так сойдет.
Я почувствовал себя прям алкоголиком, который при каждом удобном случае за бутылку (зачеркнуто) Cursor хватается. Но и "опохмел" жесткий, конечно....
Правило "10 строк и 2 условия" сначала показалось мне каким-то странным. "Как можно создать задачу в 10 строк?!" Но посмотрев на release_event, я увидел, что мы тратим 20 строк просто на перекладывание данных из одного кармана в другой.
Упражнение научило меня "видеть" сложность там, где я раньше видел "просто рабочий код". Теперь я буду каждый раз спрашивать себя: "Смогу ли я объяснить это за 5 секунд?" и "Не слишком ли много 'если' в этом коде?"...
Сначала я поставил последнюю стабильную (как написано) версию spring, в итоге при прохождении по часовому видео у меня начали возникать всякого рода ошибки. При вопросе к AI он мне предложил в последствии переписать половину pom файла, в итоге все зашло вообще в дебри, я просто переустановил с прошлой версией Spring...
[У меня и по этой причине никаких видео-уроков нету и не будет в принципе, только текст; то, что надо вдумчиво смотреть час, текстом можно легко и просто познать за 15 минут]
Прочитав материалы, испытывал странное ощущение. Это именно о том, что меня внутри и задевало. Границы, определения, чёткости уровней. Сама концепция подхода. Даже сейчас я не смогу системно выразить свою мысль об этом и уж наверняка ошибусь при построении кода. Но всё же. Они стали более чётскими. Я уже знакомился с материалом "Три уровня рассуждений о программной системе", но в связке с практическим заданием он воспринимается ещё более серьёзнее. И мне кажется там много моментов, которые можно отдельно "пожевать"....
Когда я только пришёл на работу и, по-сути, начал свою карьеру, мне коллеги-разработчики сказали, что содержимое локального yml-конфига вообще не важно, так как на стенде всё равно будет использоваться конфиг из consul. Меня обманули:) Оказалось, что у Spring есть приоритет источников конфигурации...
В общем, очень здорово, жалею, что в ВУЗе на 1 курсе, делая программы на Pascal с процедурами и глобальными переменными - нам объясняли как это делать и отлаживаться (прикладные умения), но не объясняли чем такой подход хорош или плох (фундаментальные)...
Согласно ТЗ мне необходимо сделать такую-то игру. Признаться, пока (надеюсь, что именно пока) какая-то каша в голове вместо хотя бы минимально ясной картины…
Самый главный инсайт: ослабление предусловия и при этом усиление постусловия -- тот случай, когда можно побороть Open-Closed Principle, изменив исходный код!
Это высший пилотаж, который мне в полной мере не поддался: ни в одном моем примере одновременно это сделать не получилось.
[в СИ скоро будет разбор SOLID новая, уже четвёртая итерация!!1
и начнём как раз с OCP]
невозможно найти хороших разрабочиков сейчас, даже по 3-4к долларов, просто не получается, поэтому план уволить совсем неадекватных, а тех кто. может ctrl-c ctrl-v усилить спецификациями и AI надсмортщиками..
5❤40✍7👍4
Первое поколение AI было основано на больших моделях, когда мы узнали, что с их помощью можно сделать многое человеческое.
Второе поколение ориентировано на снижение затрат и экономию времени: замена работников или сильное повышение их эффективности.
Третье поколение AI будет построено на простой предпосылке, которую Сеть доказывает снова и снова:
Ценность заключается в объединении людей.
Мы ещё не видели такого, но как только это наберет обороты, быстро покажется очевидным, и мы будем удивляться, как мы это упустили.
Создавайте инструменты, которые будут работать лучше, если ими будут пользоваться несколько человек (например, ваши коллеги). И инструменты, которые решают проблемы, за которые коллективы с ресурсами готовы платить. Проблемы есть везде, но мы часто игнорируем их.
Множество сообществ, от формальных до анархистских (существующие, и те, которые должны существовать) просто ждут решения своих проблем.
Вы не можете использовать ни соцсети, ни линкедин, ни реддит, ни вики, ни SO, ни гитхаб, в одиночку, и они работают только тогда, когда ими пользуются и другие.
Пока что большинство проектов в области AI игнорируют те самые сетевые эффекты, на основе которых был создан Интернет. Это наверняка изменится.
Ну и в целом странно, когда техдиры и тимлиды представляют себе "будущее с AI", в котором они задействуют 12 программистов для параллельной работы над 12 различными подсистемами. Даже при том, что это технически осуществимо и сегодня, ограничивающим фактором по-прежнему будет концентрация внимания людей и когнитивная нагрузка.
У AI нет проблем с переключением контекста, но это связано с людьми, и затраты на это огромны, и будут особо расти по мере того, как всё большие части проектов будут создаваться в одиночку и автономно.
Те программисты, которых я знаю, и которые добиваются наибольших успехов в использовании AI, в первую очередь хорошие менеджеры самих себя. И большинство из них, кстати, используют CLI, потому он избавляет от когнитивной нагрузки, связанной с самим кодом. Вы по-прежнему можете переключаться на свою IDE когда вам это нужно, но работа в терминале по-прежнему сосредоточена на последовательностях действий и текстовых инструкциях.
Другими словами, в CLI по умолчанию используется режим менеджера, в то время как в IDE по умолчанию используется режим кодера.
p.s. ну и также vim + far/mc хорошо подойдёт :)
Второе поколение ориентировано на снижение затрат и экономию времени: замена работников или сильное повышение их эффективности.
Третье поколение AI будет построено на простой предпосылке, которую Сеть доказывает снова и снова:
Ценность заключается в объединении людей.
Мы ещё не видели такого, но как только это наберет обороты, быстро покажется очевидным, и мы будем удивляться, как мы это упустили.
Создавайте инструменты, которые будут работать лучше, если ими будут пользоваться несколько человек (например, ваши коллеги). И инструменты, которые решают проблемы, за которые коллективы с ресурсами готовы платить. Проблемы есть везде, но мы часто игнорируем их.
Множество сообществ, от формальных до анархистских (существующие, и те, которые должны существовать) просто ждут решения своих проблем.
Вы не можете использовать ни соцсети, ни линкедин, ни реддит, ни вики, ни SO, ни гитхаб, в одиночку, и они работают только тогда, когда ими пользуются и другие.
Пока что большинство проектов в области AI игнорируют те самые сетевые эффекты, на основе которых был создан Интернет. Это наверняка изменится.
Ну и в целом странно, когда техдиры и тимлиды представляют себе "будущее с AI", в котором они задействуют 12 программистов для параллельной работы над 12 различными подсистемами. Даже при том, что это технически осуществимо и сегодня, ограничивающим фактором по-прежнему будет концентрация внимания людей и когнитивная нагрузка.
У AI нет проблем с переключением контекста, но это связано с людьми, и затраты на это огромны, и будут особо расти по мере того, как всё большие части проектов будут создаваться в одиночку и автономно.
Те программисты, которых я знаю, и которые добиваются наибольших успехов в использовании AI, в первую очередь хорошие менеджеры самих себя. И большинство из них, кстати, используют CLI, потому он избавляет от когнитивной нагрузки, связанной с самим кодом. Вы по-прежнему можете переключаться на свою IDE когда вам это нужно, но работа в терминале по-прежнему сосредоточена на последовательностях действий и текстовых инструкциях.
Другими словами, в CLI по умолчанию используется режим менеджера, в то время как в IDE по умолчанию используется режим кодера.
p.s. ну и также vim + far/mc хорошо подойдёт :)
❤39👍20✍1
.
Облако драгоценностей за неделю.
Приватный клуб.
8 базовых фактов о рынке ИТ-труда в 2026-м, и что из этого следует.
Если подводить итог ситуации в айтишке одним коротким предложением, то оно звучит так:
"миддл"-овщина умирает.
В 2021-м году практически любой сообразительный человек мог бы стать "среднестатистическим" разработчиком. Вы могли немного разбираться в Django или Spring, копипастить из Stack Overflow, иметь приличную должность и получать 150-200 тыс. рублей.
Этого мира больше нет.
Для донов-начинающих:
Знакомый купил в крупной известной онлайн-школе дорогущий курс по программированию "за полгода в айти на зп 160k гарантия трудоустройства 100500%".
Он реально попадал на интервью, но это вызывало у него такое напряжение, что он не продолжал собесы, и даже не принимал офферы, которые получал!..
Как найти свою специализацию в ИТ? Надо ли быть специалистом или универсалом?
База по карьере, серия 23:
Полезно остановиться на пару минут и поразмышлять об огромном объеме вашей потенциальной реальности — просто осознавая, сколько вариантов действительно открыты для вас и могут настроить на правильный лад...
Для донов-неначинающих:
Продолжаю выкладывать для донов материалы СильныхИдей — доступны моим ментатам, но тут расширенные и дополненные версии.
75. Анти-Visitor
Visitor — это паттерн-"тяжеловес". Когда он нужен, альтернатив почти нет; когда не нужен, его внедрение убивает простоту.
Я вам даю секретные техники :) потому что данный подход формально не входит в классические 23 GoF паттерна: это осознанная адаптация принципов проектирования...
7 основных принципов анти-оверинжиниринга...
Медленно, но верно вы переместились в «зону безопасности». Получив стабильную должность в крупной компании, вы переключились на пониженную передачу. Я не настаиваю, что вам нужно проводить больше времени за работой, но вам следует заметно повысить планку!
Продолжение трека "Элитный программист":
36) Как получить повышение через экстремальную ответственность.
Итак, вместо того чтобы обижаться на то, что вас не замечают, в то время как тех, кто обладает более слабыми техническими навыками, регулярно повышают, почему бы вам не принять тот факт, что это находится под вашим контролем?
(все старые материалы для донов постепенно сгорают)
=
Первые сериалы из существенно переработанных и улучшенных материалов СильныхИдей (по сути четыре книги) доступны на бусти:
1. БАЗА программной инженерии
2. Software Design с акцентом на Programming in Small
3. SOLID-25
4. Software Design с акцентом на Programming in Large
=
Новые материалы для ментатов Лаборатории.
В курс карьеры добавлен 127-й материал "База по профессиональным достижениям".
Ричард Кох, популяризировавший принцип 80/20, изучил закономерности достижения результатов в тысячах профессий, и обнаружил нечто поразительное!..
В СильныеИдеи добавлен материал "134) SOLID26: OCP".
Если из 2026-го посмотреть на примеры кода, которые Роберт Мартин некогда отобрал для своей концепции SOLID, ну... они выглядят откровенно дерьмово :)
Одних этих примеров сегодня должно было быть достаточно, чтобы любой компетентный программист скептически отнёсся вообще ко всему, что Мартин говорит о программировании. К сожалению, мэйнстрим дядю Боба любит -- во многом потому, что он сам в некотором смысле инфоцыган -- отлично работает с аудиторией и с критикой, у него прекрасная риторика, и он хороший, классический американский бизнесмен.
Я подробно разбирал в СИ принципы SOLID -- и их сильные стороны, и их восприятие в функциональном программировании. Сейчас в силу однако остающийся высокой актуальности темы сделаю ещё одну итерацию с новыми акцентами...
💪🏻
Мы здесь, потому что это трудно.
=
Гайд про функциональные архитектуры, 53 топика (+0), как наберётся 64, дам ментатам доступ.
=
"Теперь ты увидел каменный кулак Бене Гессерит в мягкой перчатке, немногие остаются в живых после этого. Такая штука для нас не сложна, и со всем нашим арсеналом ты не знаком, учти. Но мы не хотим погубить себя сами. В действительности мы существуем только для того, чтобы служить."
"Дюна"
Облако драгоценностей за неделю.
Приватный клуб.
8 базовых фактов о рынке ИТ-труда в 2026-м, и что из этого следует.
Если подводить итог ситуации в айтишке одним коротким предложением, то оно звучит так:
"миддл"-овщина умирает.
В 2021-м году практически любой сообразительный человек мог бы стать "среднестатистическим" разработчиком. Вы могли немного разбираться в Django или Spring, копипастить из Stack Overflow, иметь приличную должность и получать 150-200 тыс. рублей.
Этого мира больше нет.
Для донов-начинающих:
Знакомый купил в крупной известной онлайн-школе дорогущий курс по программированию "за полгода в айти на зп 160k гарантия трудоустройства 100500%".
Он реально попадал на интервью, но это вызывало у него такое напряжение, что он не продолжал собесы, и даже не принимал офферы, которые получал!..
Как найти свою специализацию в ИТ? Надо ли быть специалистом или универсалом?
База по карьере, серия 23:
Полезно остановиться на пару минут и поразмышлять об огромном объеме вашей потенциальной реальности — просто осознавая, сколько вариантов действительно открыты для вас и могут настроить на правильный лад...
Для донов-неначинающих:
Продолжаю выкладывать для донов материалы СильныхИдей — доступны моим ментатам, но тут расширенные и дополненные версии.
75. Анти-Visitor
Visitor — это паттерн-"тяжеловес". Когда он нужен, альтернатив почти нет; когда не нужен, его внедрение убивает простоту.
Я вам даю секретные техники :) потому что данный подход формально не входит в классические 23 GoF паттерна: это осознанная адаптация принципов проектирования...
7 основных принципов анти-оверинжиниринга...
Медленно, но верно вы переместились в «зону безопасности». Получив стабильную должность в крупной компании, вы переключились на пониженную передачу. Я не настаиваю, что вам нужно проводить больше времени за работой, но вам следует заметно повысить планку!
Продолжение трека "Элитный программист":
36) Как получить повышение через экстремальную ответственность.
Итак, вместо того чтобы обижаться на то, что вас не замечают, в то время как тех, кто обладает более слабыми техническими навыками, регулярно повышают, почему бы вам не принять тот факт, что это находится под вашим контролем?
(все старые материалы для донов постепенно сгорают)
=
Первые сериалы из существенно переработанных и улучшенных материалов СильныхИдей (по сути четыре книги) доступны на бусти:
1. БАЗА программной инженерии
2. Software Design с акцентом на Programming in Small
3. SOLID-25
4. Software Design с акцентом на Programming in Large
=
Новые материалы для ментатов Лаборатории.
В курс карьеры добавлен 127-й материал "База по профессиональным достижениям".
Ричард Кох, популяризировавший принцип 80/20, изучил закономерности достижения результатов в тысячах профессий, и обнаружил нечто поразительное!..
В СильныеИдеи добавлен материал "134) SOLID26: OCP".
Если из 2026-го посмотреть на примеры кода, которые Роберт Мартин некогда отобрал для своей концепции SOLID, ну... они выглядят откровенно дерьмово :)
Одних этих примеров сегодня должно было быть достаточно, чтобы любой компетентный программист скептически отнёсся вообще ко всему, что Мартин говорит о программировании. К сожалению, мэйнстрим дядю Боба любит -- во многом потому, что он сам в некотором смысле инфоцыган -- отлично работает с аудиторией и с критикой, у него прекрасная риторика, и он хороший, классический американский бизнесмен.
Я подробно разбирал в СИ принципы SOLID -- и их сильные стороны, и их восприятие в функциональном программировании. Сейчас в силу однако остающийся высокой актуальности темы сделаю ещё одну итерацию с новыми акцентами...
💪🏻
Мы здесь, потому что это трудно.
=
Гайд про функциональные архитектуры, 53 топика (+0), как наберётся 64, дам ментатам доступ.
=
"Теперь ты увидел каменный кулак Бене Гессерит в мягкой перчатке, немногие остаются в живых после этого. Такая штука для нас не сложна, и со всем нашим арсеналом ты не знаком, учти. Но мы не хотим погубить себя сами. В действительности мы существуем только для того, чтобы служить."
"Дюна"
1❤38👍7⚡3