Выскажу мои предположения о том, какое будущее ждёт нас и нашу профессию.
Виртуальные машины и байт-код
Сегодня популярны JVM, BEAM, CLR и WebAssembly. Из всех виртуальных машин с байт-кодом в будущем выживут только BEAM и WebAssembly. При этом BEAM, скорее всего, эволюционирует в ещё более абстрактную форму. Что касается CLR и JVM, то они исчезнут всюду, кроме legacy-проектов. JavaScript как язык тоже исчезнет, так как в браузерах будет повсеместно WebAssembly, а под WebAssembly можно писать на Rust.
Системное программирование
Сегодня в индустрии используется только четыре языка — C++ Rust, C, Ada. Язык ассемблера для конкретного процессора используется очень редко и в виде ассемблерных вставок. В будущем из языков системного программирования сохранятся только Ada/SPARK и Rust. Ada по-прежнему будет использоваться в авионике, мирном атоме, военном атоме, военной технике, железных дорогах, космосе, автономном транспорте, медицинской технике. Всё критически важное для жизни людей будет на SPARK/Ada. А для всех остальных проектов стандартом де-факто будет Rust.
Фронт-энды, бэк-энды, данные
Интерфейсы будут генерироваться автоматически на основе данных. В бэк-экндах вся логика будет состоять уже не из микросервисов, а из ещё более мелких кусочков с изоляцией и масштабируемостью в виде акторов BEAM или байт-кода WebAssembly. Также вычисления частично переместятся поближе к юзеру, на его оборудование (ноутбуки, телефоны, устройства IoT и так далее). Данные будут храниться не как таблицы и индексы, а как динамическая сеть (слои знаний, графы с версионированием смыслов). Данные будут извлекаться на лету. Данные будут не состоянием, а потоком событий. В будущем данные будут жить там, где выполняются вычисления, бизнес-логика. А сегодня всё наоборот: бизнес-логика выполняется там, где живут данные (имею в виду хранимые процедуры на PL/SQL).
Ядра и гипервизоры
В будущем ядро Linux с жёстким, зафиксированным ABI уйдёт на свалку истории. Идея POSIX изначально неудачная: основой всего там являются файлы (потоки байтов) и процессы. Это всё несовместимо с событийной архитектурой будущего, акторами, агентами. А вот eBPF как виртуальная машина внутри ядра и как идея сохранится, программы eBPF будут использоваться вместо модулей, но уже другого ядра. Будущее — за идеей unikernel поверх гипервизора или железа, за оптимизацией конкретного ядра ровно под одно приложение. Операционки будут распределёнными, то есть один unikernel — один автономный узел сети. Вместо POSIX будет идея capability-based security, пример реализации — WASI. Сегодня Linux запускают поверх гипервизоров, а в будущем Linux при необходимости будут запускать как гостевую операционку поверх seL4 или чего-нибудь подобного. Гипервизор Xen исчезнет, ведь благодаря eBPF уже нет потребности в такой виртуализации.
Александр Пушкин в "Сказке о царе Салтане" писал явно про seL4: "Ядра — чистый изумруд". Помимо seL4, ещё перспективны некоторые ядра, поддерживаемые проектом Genode. Проект очень интересный. Также перспективны проекты типа unikernel, например, MirageOS и IncludeOS. Таких проектов с unikernel много, пока не ясно, какой выстрелит. В MirageOS стек TCP/IP неплохо реализовали, я просмотрел исходники.
Ещё перспективны ядра, совместимые с WebAssembly, например, Fermyon, Suborbital, Lunatic и wasmCloud. Последний из списка — вообще дичайше перспективный проект, ну прям state-of-the-art, и есть шанс, что в очень далёком будущем сможет даже BEAM заменить, похоронить Elixir. Также Redox OS, Maestro и Asterinas выглядят перспективными проектами.
Будущее — за дистрибутивами с декларативными конфигами наподобие NixOS. Идея простая: один раз настроил, сохранил конфиги, и сможешь быстро переходить от одного девайса к другому с сохранением всех привычных настроек всю жизнь. А компиляция уйдёт в облака. К примеру, сегодня каждый юзер пересобирает свой @world в Gentoo локально, а в будущем код будет компилироваться в одной распределённой среде. И это будет не распределённый GCC, а другой распределённый компилятор, основанный на LLVM.
Безопасность и DevSecOps
В будущем исчезнет DevSecOps как профессия. Оркестрация, апдейты и прочие вещи будет автоматическими (NoOps). Всё кругом будет неизменяемым (нельзя модифицировать, можно только прочитать), декларативным ("что сделать", а не "как сделать"), trustless / zero trust, с атомарными обновлениями, с аппаратными токенами (YubiKey), без паролей (libpam-ssh-agent-auth), с TPM и подписями (прощайте, буткиты), с запуском в песочницах (WebAssembly).
Кстати, уже сегодня в Linux есть цепочка для integrity: ключ Intel Boot Guard, ключ Secure Boot (UEFI), ключ GRUB 2, ключ подписанного модуля ядра, ключ IMA/EVM. Работает всё хорошо, кроме IMA/EVM, так как Firefox автоматически обновляет ELF-файлы с плагинами в директории со своими конфигами, а без подписей плагины не работают. Ну и ещё какой-нибудь софт теоретически может криво работать. Да, можно настроить игнорирование проверок для ELF-файлов не root-юзера, но это уже перечеркнёт саму идею integrity.
Прикладное программирование, наука и кровавый энтерпрайз
Не в системном, а в прикладном программировании практически единственными языками будут Rust и Elixir. Elixir — для распределённого по всей планете отказоустойчивого софта с супервизорами, где максимально высокие нагрузки, где должны параллельно поддерживаться миллионы подключений извне к одному серверу, где требуется надёжность девять девяток. Rust — для всех остальных задач.
Elixir придумали очень умные люди. Акторы там реализованы идеально, а в Rust реализацию никто не повторил до сих пор, так как там большая проблема. В Elixir реализовали истинную акторную модель с поздним связыванием, там сообщения могут быть любого типа, потому что диспетчеризацию сообщения выполняет получатель. В Rust же типы должны сойтись при компиляции, Rust вот так устроен. А у дотнетчиков их хвалёные акторы тоже криво реализованы. Эти все недо-акторы довольно смешные. В Elixir есть акторный request-reply, можно отправить актору запрос и получить тут же по коду ответ, как в RPC. А обо всех преимуществах BEAM я вообще могу писать долго. Бог создал человека, чтобы человек создал BEAM.
BEAM выглядит как полноценная операционная система с процессами (легковесными, по 2 килобайта на процесс), неблокирующими сокетами, интроспекцией процессов в реальном времени, сбором статистики. Там всегда можно узнать, какие процессы тормозят, просмотреть очередь сообщений любого процесса, пингануть любой узел кластера. Elixir — недооценённый язык. Он делает очень хорошо одну простую вещь: берёт какие-либо данные из одного места и в реальном времени перекладывает в какое-нибудь другое. В RAM или на SSD. На одном сервере или же на миллионе серверов одновременно, работающих друг с другом в одной команде. В BEAM нет остановки мира из-за сборщика мусора, как в JVM. Компьютер с Elixir и BEAM может одновременно обслуживать 2 миллиона соединений, а не 10 тысяч соединений, как в других языках. Ещё в Elixir не надо извращаться, чтобы что-то закэшировать в памяти. В других языках придётся извращаться или ходить в memcached. И процессы в Elixir могут восстанавливаться после сбоев автоматически. Сложное высоконагруженное распределённое отказоустойчивое приложение, параллельно работающее на сотне тысяч серверов, могут писать три программиста, а поддерживать — один. Можно делать хотфикс в продакшэн без остановки системы. Да и учится язык легко. Ещё важно, что он лаконичный. Там, где на другом языке ты будешь кодить задачу 1 час, на Elixir ты её напишешь за 5 минут, и код будет компактным.
Да, есть минус: в Elixir нет быстрой математики. Но она и не нужна. Если нужно дёрнуть внешнюю числодробилку по TCP, то её можно написать на Rust, но только её. Полноценного JIT-компилятора в BEAM нет, ну и хрен с ним. Да его и невозможно там реализовать, и это плюс системы: система даёт гарантии по равномерному распределению процессорного времени между акторами. Уже заранее известно, какой кусок байт-кода какого актора сколько времени будет исполняться. Это правильный подход. Как равномерно распределить процессорное время между тысячами процессов? Скомпилировать программу в байт-код и использовать счётчики выполненных инструкций. Из-за этих гарантий и получается полноценная мультиагентная система. Для сравнения "что там у них": в Go одна какая-нибудь goroutine может заблокировать всё ядро процессора.
Теперь вернёмся к теме поста — будущему. Язык Fortran, кстати, исчезнет не скоро. Rust не умеет так дружить с линейной алгеброй, суперкомпьютерами. Числодробилки с LAPACK/BLAS учёные будут продолжать писать на Fortran. Да и софта для моделирования глобальной циркуляции океанов и атмосферы и расчёта гидродинамики, аэродинамики и ядерных реакций на Fortran написали уже столько, что хрен знает, когда это всё перепишут на Rust. Мы, наверное, уже состаримся и умрём. Язык MATLAB тоже исчезнет не скоро. COBOL и IBM RPG исчезнут вместе с фиатными валютами и старыми банками. То есть не исчезнут полностью, не надейтесь. Язык Structured Text сохранится в ПЛК. Никто не разрешит смузихлёбам там что-то ломать. Ещё в будущем ABAP/4 исчезнет, а язык 1С не исчезнет, вот такой парадокс. Тот самый местный изгой-стукач по-прежнему будет кормиться с 1С-кода.
Телефоны
На сегодняшних телефонах с Android в будущем Kotlin заменят на Rust. JVM заменят на WebAssembly — универсальный рантайм. На айфонах Swift тоже заменят на что-нибудь наподобие Ada/SPARK или Rust.
Формальная верификация
В будущем почти исчезнут Liquid Haskell, F* (fstar), Agda, а большинство задротов-математиков будут уволены и посажены на пенсию по шизе. Почти вся сложная формальная верификация будет на Ada/SPARK с использованием AI, а простая будет встроена в Rust. Верификация будет также проходить в рантайме программ постоянно. Багов просто не будет. А ведь инженеры QA Automation планировали всю жизнь сидеть и куашить баги на галерах, до пенсии! Наивные... Они пойдут в плиточники или курьеры.
Для того, чтобы написать и верифицировать проект на Liquid Haskell и Agda, надо найти большую команду гениальных учёных-математиков. А для того, чтобы сделать то же самое на SPARK и Ada, подойдут самые обычные инженеры, без гениальности, без степеней, званий, сумасшедших задумчивых взглядов а-ля петербуржец Перельман. На некоторых проектах на Ada программисту (контрактору, не в штате) платят сегодня по 500 австралийских долларов за одну строчку кода. И всё равно это получается дешевле, чем если бы платили математикам, знающим Agda и Liquid Haskell.
Кстати, в случае с Haskell произошёл вот какой прикол. Собрались математики, решили создать идеальный язык программирования. Создали. Но он оказался настолько сложным, что досконально его понять могут только другие математики. В этом языке нет переменных, оператора присваивания, циклов от 1 до N. Математики стали навязывать Haskell всему миру, заявляя, что именно на нём надо писать сверхнадёжные проекты, добавили Agda для доказательства теорем и Liquid Haskell как надстройку. Но весь мир послал математиков нахер. Haskell настолько сложен, что мало кто может сказать, как работает там даже "Hello, World!" А он в точности выглядит так, всего три строчки:
main :: IO ()
main = do
putStrLn "Hello, World!"
На языке Haskell можно писать полтора года и всё равно многого не понимать, удивляться каждый день, задирая брови к потолку. В Haskell нельзя просто так в любом месте программы что-то вывести в stdout. Минобороны США сказало, что не надо нам таких горбатых затворников с их аппликативными функторами, комбинаторами, монадами, моноидами, ленивыми вычислениями, системой типов, каррингом. И приказало всё писать на Ada. Формальная верификация — на SPARK.
А теперь снова посмотрите на "Hello, World!" Только в монаде IO можно совершать вычисления с побочными эффектами. Побочный эффект выполняется только тогда, когда вернётся в main. При этом main возвращает IO (). Это список действий, которые объединяются в цепочку, чтобы быть последовательными. А не внутри монады порядок выполнения любых инструкций не определён вообще. При этом действия монады выполняются не сразу, а просто планируются на будущее. Сами действия реализуются только тогда, когда что-то уже сейчас работающее в памяти потребует результат. В нашем случае результат — это терминал с stdout.
В итоге даже Nvidia начала использовать Ada для сверхнадёжного кода. И всякие военные стартапы тоже начали. Я не слышал, чтобы там писали на Haskell. Ну оно и понятно. Типаж программиста на Haskell — одинокий савант с безумным взглядом, у которого в комнате-сычевальне есть несколько метров книжных шкафов с книгами по математике. Типаж программиста на Ada — да самый обычный инженер, у которого есть жена, дети, который интересуется спортом, активным отдыхом, имеет далёкое от работы хобби, коммуникабелен и не увлекается математикой. Haskell — это секта. Адекватные учёные используют Ada для сверхнадёжного кода и Fortran для вычислений на суперкомпьютерах наподобие "Какой будет погода на Земле спустя неделю после начала ядерной войны Индии и Пакистана". Ещё учёные пишут на MATLAB. А связка "теоремки на Agda плюс сам код на Liquid Haskell" не прижилась нигде, кроме блокчейна. Но блокчейн не летает над головой и не перевозит пассажиров, там это разрешили. "Чем бы дитя ни тешилось, лишь бы не плакало".
В будущем Agda, F*, Isabelle/HOL, Liquid Haskell останутся только в том крайне небольшом количестве проектов, где требуются зависимые типы и логика высшего порядка и так далее. То есть для криптографических либ и протоколов и так далее.
Парадигмы
Парадигма будущего — это функциональщина с некоторыми минимальными дополнениями, как уже сделано в Rust.
Язык Rust очень похож на OCaml. В Rust за основу взято функциональное программирование в стиле ML (OCaml и Haskell), а к нему прицепили в дополнение трэйты. То есть пишешь максимально возможный процент твоего кода в стиле, максимально приближенном к чистой функциональщине (хотя Rust и не является чисто функциональным языком), а на всё остальное навешиваешь трэйты.
Rust отошёл от устаревшей классической идеи ООП (наследование, классы, полиморфизм через подтипы). В Rust нет классов, а есть enum и struct. Наследования тоже нет. Есть композиция и трэйты. Трэйты чем-то похожи на интерфейсы (module signatures из OCaml и typeclasses из Haskell), но гораздо мощнее. Там можно добавлять реализации по умолчанию, можно писать трэйты для чужих типов. Там ещё есть ассоциированные типы и константы. Через enum сделаны алгебраические типы данных, как в OCaml. Есть pattern matching. Используются иммутабельность по умолчанию и чистые функции. Есть замыкания и итераторы (map, filter, fold). Полиморфизм сделан через трэйты, а не через наследование. Вместо подтипов Rust использует параметрический полиморфизм (джэнэрики) и трэйт-объекты (там динамическая диспетчеризация).
Что в Rust осталось от ООП? Инкапсуляция — там модульная система и контроль видимости (pub/priv). Полиморфизм, как уже говорил, сделан через трэйты (impl Trait, dyn Trait). Методы прикрепляются к типам через блоки impl, а не объявляются внутри классов.
Вот за таким подходом — будущее.
Кстати, функциональное программирование разделено на два крайне непохожих семейства:
-
Как в ML и похожих языках (OCaml и Haskell). Типобезопасное программирование, алгебраические типы данных, pattern matching, строгая композиция функций.
-
С максимально возможным метапрограммированием (Clojerl, Clojure, Common Lisp). Типобезопасности нет. Зато есть гибкость в рантайме (макросы, код как данные). А макросы там могут быть настолько магическими, что поражают воображение.
Язык Rust произошёл от языка OCaml. То есть первый подход победил. Потому что нет накладных расходов на динамические проверки. Место метапрограммирования в Rust занимают не столько макросы, сколько трэйты. Вообще Rust использует идеальный подход: "Пишите весь код изначально, как если бы Вы его писали на OCaml, потом добавьте трэйты, а система владения, созданная для безопасного управления памятью, позаботится обо всём сама".
Менеджмент и менеджеры
Из каких классов сегодняшнее общество суммарно состоит практически полностью? Это буржуазия, бюрократия, бюджетники, интеллигенция и финансовая аристократия. После завершения постиндустриального перехода, который идёт сейчас, все эти индустриальные классы суммарно не будут превышать 10 % от численности населения. Остальные 90 % населения войдут суммарно в пять постиндустриальных классов:
-
Корпоратократия. Это люди, власть которых держится на владении административным ресурсом в частных корпорациях — интегральных системах организации труда подчинённых.
-
Постиндустриальные производители. Это люди, которые продают не свой труд, а свою экспертизу, и не на каком-то конкретном рынке, а на едином глобальном. Их власть держится на способности производить уникальные информационные продукты, обновлять и поддерживать их. Продукты могут быть любыми. Примеры: прошивка для FPGA на VHDL, онлайн-курс по набору массы в тренажёрном зале, код мультиагентной системы с акторами, проект редуктора вертолёта в САПР.
-
Консьюмериат. Это низовка, низы общества, потребляющие блага, производимые господствующими классами по правилам, установленным господствующими классами.
-
Торговая аристократия. Это люди, власть которых держится на контроле оффлайновых и онлайновых сетей продвижения товаров к консьюмериату.
-
Нетократия. Это люди, власть которых держится на создании сетевых структур и платформ и на управлении сетевыми структурами организации людей.
Корпоратократия считает, что всё общество должно быть иерархичным, напоминающим пирамиду или армию. Нетократия считает, что всё общество должно состоять из сетевых структур. На данном этапе постиндустриального перехода преобладает корпоратократическая модель, продвижение которой опирается на ресурсы, консолидированные корпоратократией в период кризиса индустриального общества благодаря отчуждению их у индустриальных классов. Корпоратократия хочет, чтобы постиндустриальные производители были эксплуатируемым классом ("Никакой тебе, программист Ваня, удалёночки, и никакого процента от дохода за работу, которую твой код выполняет"). Корпоратократия считает, что консьюмериат должен проживать в киберпанке ("High tech, low life") наподобие перенаселённой и экологически грязной Москвы и существовать в рамках, сильно ограничивающих уровень потребления и творческий потенциал.
На первом этапе постиндустриального перехода корпоратократия одержит победу над индустриальными классами и станет гегемоном. На втором этапе начнётся война нетократии и постиндустриальных производителей против корпоратократии, по итогом которой корпоратократия капитулирует и продолжит существование на условиях, продиктованных классами-победителями. Подробнее об этом можете прочитать в книге Евгения Гильбо "Постиндустриальный переход и мировая война".
Постиндустриальное общество будет состоять не из атомизированных индивидуалистов ("москвичей"), а из кланов наподобие кубанских. Кум, брат, сват, блатные, приблатнённые, кореша... Стая сильная, загрызёт любого...
Что касается менеджеров, то после завершения постиндустриального перехода будет похоронен менеджер как профессия. Управленческий класс мечтает избавиться от программистов столько же времени, сколько существует программирование. Только всякий раз, когда LLM с MCP-серверами становятся ещё на 1 % умнее, наблюдается избавление не от программистов, а от очередной толпы менеджеров. Менеджеры становятся париями, неприкасаемыми в экономике XXI века.

Уже не удивляет ситуация, когда команда из десяти гиков сделала свой стартап и разбогатела. А пиццу им привозили бывшие менеджеры, ставшие курьерами. Постиндустриальный переход убивает одновременно и идею работы в найме (за последнее время в одной только Москве наблюдается взрывной рост официально зарегистрированного числа самозанятых), и карьерный рост для менеджеров, необходимость в которых отпала. Сегодня даже один человек может добиваться таких же результатов, для достижения которых когда-то требовался персонал целого вычислительного центра. Вот только этот человек — всё равно не менеджер, а программист. Дело идёт не к тому, чтобы избавиться от программистов как прокладки между LLM и управленцем, а к тому, чтобы избавиться от управленцев как прокладки между программистом и капиталом. На Западе этот тренд уже заметен.
Уже сейчас связка "OpenAI Codex + Claude Code" в терминале позволяет одному человеку зарегистрировать юрлицо (private limited company) в одно лицо и в одиночку взять у какой-нибудь другой корпорации целый проект себе на аутсорсинг, и исполнить контракт. Или написать проект для себя и монетизировать его самостоятельно. Люди в будущем не будут делать карьеру, ублажать начальников, удовлетворять руководителей. Они будут заниматься бизнесом.
Россия
Мир будущего — это децентрализованный мир: блокчейн, DAO, сети вместо иерархий. То же самое коснётся и России: она будет децентрализована. Очень большую роль в экономике будут играть среды для запуска AI-агентов.
Сегодня США — 1-я армия мира, 1-я экономика мира по номинальному значению ВВП в долларах и 3-я страна по численности населения в мире. Россия — 2-я армия, 11-я экономика, 9-е место по численности населения. Китай — 3-я армия, 2-я экономика, 2-е место по численности населения. Индия — 4-я армия, 4-я экономика, 1-е место по численности населения. Германия — 14-я армия, 3-я экономика, 19-е место по численности населения.
В будущем Россия так и останется 2-й армией. В рейтинге численности населения Россия может упасть ниже 9-го места. И в абсолютных значениях численность населения России может уменьшиться. Но численность населения всех семи южных миллионников в совокупности вырастет значительно. Про них я уже писал в статье "Программист должен жить в семи южных миллионниках".
Экономика России не останется на 11-м месте, Россия поднимется в рейтинге, и прежде всего благодаря росту экономик семи южных миллионников, которые станут постоянным местом жительства людей, способных грести бабло лопатой удалённо. Проживать в северных городах (Москве, Петербурге) удалённо работающие люди не захотят.
Если вы почитаете философа Гегеля, то узнаете, что Абсолютный Дух, завершив посредством индустриального общества и человеческих рук овладение всей материей (производством), приступит к познанию Самого Себя, и это станет Его последним процессом. А это возможно только в постиндустриальном обществе, где наугад взятый человек не ходит строем, не мыслит одинаково, не тиражирует ничего не заводах, не строит карьеру в корпоративных (иерархических) структурах, а строит в сетевых и вообще свободен от зажимов, запретов, индустриального воспитания. Свобода одного человека заканчивается там, где начинается свобода другого.
Постиндустриальное общество подразумевает взаимодействия peer-to-peer вместо иерархий. Самостоятельный поиск клиента вместо работы в найме. Самостоятельное принятие решений жителями семи южных миллионников вместо делегирования принятия всех решений людям, сидящим в Москве под свинцовым небом. Удалённо работающие постиндустриальные производители начнут переезжать в семь южных миллионников, покупать там коттеджи в частном секторе города и квартиры в пригороде (а у них, у москвичей, сегодня всё делается наоборот: покупается квартира внутри города и коттедж в пригороде). Вслед за уезжающими удалённо работающими людьми (а сегодня даже некоторые хирурги удалённо работают, как тот хирург из Китая, который удалённо оперирует людей в Новосибирске) переедут те, кто будет их стричь, лечить, кормить, доставлять заказы, делать ремонт и так далее. После завершения постиндустриального перехода семь южных миллионников объединятся политически и поставят вопрос о том, а какого хера все решения принимаются на территории Москвы, вся логистика идёт через Москву и все бюджетные потоки сконцентрированы в федеральном центре, который расположен не в семи южных миллионниках, а в Москве. В итоге и в Воронеже начнут так же перекладывать плитку, как сегодня в Москве, и в Саратове построят большой современный аэропорт, и наукоград "Сколково" перевезут из Москвы в Краснодар. Будущее беспощадно.
Централизация, единоначалие, москвоцентризм — это тупиковые ветви эволюции, ошибки природы. Согласно Гегелю, наш мир является квантованным, конечным, телеологичным, имеет структуру, а процессы в мире не завершаются, а сменяются новыми тенденциями. И эволюция идёт так, что сначала были рои насекомых, у которых все решения принимаются одним сознанием, а потом возник человек, который является индивидуалистом и самостоятельно принимает решения. Поэтому будущее — и за отказом от работы в найме в пользу самостоятельного поиска клиентов для продажи своей экспертизы, и полный распад галер и продуктовых компаний на мелкие коллективы — глобальные распределённые команды программистов, и перераспределение власти и денег от Москвы к регионам.
Уже в ближайшем будущем на галерах останутся только две категории сотрудников: мужчины, которые своим цветом глаз, формой нижней челюсти и двухметровым ростом вызывают сексуальное возбуждение у эйчарок, и женщины, секса с которыми хотят управленцы. Все остальные либо уйдут в курьеры, либо же начнут работать удалённо, самостоятельно консультируя контрагентов, работая в глобальных распределённых командах, извлекая прибыль из собственных проектов, продавая свою экспертизу без посредников. Галеры смогут осиливать только простенькие проекты: крудошлёпство, покрасить кнопку здесь и вон там, перекладывание джейсонов, legacy, формошлёпство. Да, кстати, увод клиентской базы станет массовым явлением.
Работа в найме автоматически подразумевает двойные стандарты. Наёмному работнику нельзя врать, накрутив опыт по методу Назарова. А работодатель имеет право на своём сайте открыть врать всем, говоря, что это лучший аутсорсер с тысячей гениальных сотрудников и тысячей успешно сделанных сложнейших проектов, ну прям rocket science. А ещё может врать кандидатам, говоря, что коллектив дружный, соевый, что проекты безумно интересные, что есть неограниченная возможность для карьерного роста, что можно вырасти выше родственников директора. Ещё пример: если наёмный работник переложил свою работу на LLM, то это подлец, он не имеет права так быстро всё сделать и, уже заработав столько денег за рабочий день, весь день отдыхать на работе, уставившись в телефон. А если сам работодатель использует LLM, то это талантливый предприниматель, гений. Ещё пример: если наёмный работник параллельно работает на двух галерах удалённо, то это враг народа. Если же его работодатель одновременно взялся делать проекты для двух заказчиков, то это успешный управленец, достойный уважения.
В бизнесе ты можешь честно заявить: "Я пришёл на рынок, чтобы зарабатывать деньги, грести бабло лопатой". А в найме ты обязан лицемерить: "Я люблю захватывающие дух интересные проекты, люблю всех менеджеров, пою по утрам гимн компании, обожаю коллектив, лоялен и заинтересован принести максимальную пользу компании, хочу проработать тут всю жизнь и нигде больше, никакой второй параллельной удалёнки, мамой клянусь". В найме у тебя не может быть костюма или машины дороже, чем у руководителя, нельзя уходить с работы раньше начальника, нельзя перебивать начальника (вспыльчивого крикливого хама-скуфидона). Именно поэтому будущее — за личными брендами и сдельной, проектной, контрактной работой без привязки к коллективу и руководству.
Работодатель аморален, лжив, циничен и идёт напролом по жизни. В обществе считается, что наёмный работник при этом должен быть максимально порядочным, честным, лояльным, вовлечённым, наивным, исполнительным и соевым мальчиком. В России годами работодателей на тренингах учили грести бабло в себя, как в последний раз, словно у гроба есть карманы. Учили идти по головам, цинично манипулировать людьми ("Сначала думай о своём работодателе, который дал тебе кров и пищу, а потом только думай о себе"), запугивать их и так далее. В итоге работодатели понакупили себе и всем родственникам коттеджи, мини-яхты и лексусы. И самые подлые люди здесь — это наёмные работники наподобие Прохожего, который погоняет батраков кнутом по спине и прислуживает кабанчику, и наёмные работники наподобие дочери Прохожего, той зумерши, которая не корешится со своим поколением, с ровесниками, не любит зумеров, а противостоит им, находится по отношению к ним в жёсткой оппозиции. Так ведут себя чепушилы, которые не любят людей, потому что неправильно прошли социализацию в детстве. Пьер-Жозеф Прудон, один из первых теоретиков анархизма, утверждал: "Быть управляемым — это быть лишённым достоинства". В одном из семи южных миллионников один известный музыкант метко спел про Прохожего: "Hа мосту стоял прохожий на ебёну мать похожий".
В Австралии уже сейчас хрен закроешь вакансию FPGA-инженера. Потому что там в найме наблюдается два варианта. Первый: приходит весьма посредственный сотрудник с перспективой до пенсии сидеть и делать проекты малой и средней сложности. Второй: приходит амбициозный человек с зачатками гениальности, который, обучаясь на работе за счёт работодателя и дома за свой счёт, уже через год-другой навсегда уйдёт из найма в бизнес. Он начнёт работать из дома удалённо, самостоятельно общаться с контрагентами, составлять контракты самостоятельно и/или с помощью юристов. Хорошие инженеры не хотят работать под надзором менеджера. Они привыкли исполнять подписанные своей рукой B2B-контракты без менеджера за спиной и научились самостоятельно вести переговоры без переговорщика.
В итоге сложные проекты, связанные с кубсатами, передачей больших объёмов данных, авионикой или радиационно стойкими FPGA, приходится отдавать на аутсорсинг корпорациям, состоящим из одного человека. То есть платить по цене рынка экспертизы, а не по цене рынка труда. И эти инженеры, у которых нет начальников, а есть лишь исполненные контракты, не идут преподавать в вузы, они делятся экспертизой только со своей роднёй. Кум, брат, сват... Часто эти корпорации расширяются в формат "Я, двое моих сыновей и мой двоюродный брат" и берут более объёмные заказы. Зарабатывают в год миллионы австралийских долларов, покупают виллы и мини-яхты каждому члену семьи. Но кто-то по какой-то непонятной причине предпочитает жить не на вилле, а в квартире. У зажиточных инженеров в Австралии тоже бывают свои причуды.
Да, кстати, если ты у такого инженера закажешь сложный проект с FPGA, то он пришлёт тебе обфусцированный девайс, плату, залитую компаундом. За отдельную плату — контракт на техподдержку ("retainer"). А если закажешь то же самое, но ещё и с исходниками, то инженер потребует заплатить на порядки дороже. Такие инженеры воспринимают код на Ada/SPARK или схему на VHDL как деталь. Например, как редуктор вертолёта. Если для тысячи вертолётов производитель закупает тысячу одинаковых редукторов, то пусть закупит тоже тысячу одинаковых "интеллектуальных собственностей" (кодов на Ada/SPARK или схем на VHDL). Это и есть постиндустриальная экономика.
Ради интереса посмотрите, какую продукцию выпускает Dedicated Systems из Южной Австралии. Как такой объём сложных изделий, использующихся по всему миру, может выпускать корпорация, состоящая из очень небольшого количества сотрудников-родственников (кум, брат, сват, прям как на Кубани)? Ответ прост: владельцы отдают на аутсорсинг не какие-то конкретные проекты, а абсолютно все. Наукоёмкие товары производятся не инженерами в найме, а "бизнес-клубами", состоящими из сверхмалых юрлиц. Эти юрлица у инженеров в Австралии принято регистрировать в Гонконге, а счёт для юрлица открывают в банке в Сингапуре. Нередко житель Новой Зеландии с юрлицом в Гонконге и счётом юрлица в Сингапуре заказывает что-то разработать инженеру из Австралии с той же связкой (Гонконг, Сингапур), и в составленном ими контракте они пишут, что если что-то будет не так, то судиться они друг с другом будут в международном арбитраже, например, в Канаде (там common law). В России мы видим противоположный подход: все сложные изделия проектируют огромные заводы, окружённые высокими заборами и имеющие несколько тысяч наёмных работников. Это и есть индустриальная экономика.
В России кошмарным сном директора такого завода с сайтом с доменом ".ru" и тысячей наёмных работников является типичная для Австралии ситуация, когда он садится за стол переговоров с Иваном Петровым — директором private limited company "Иван Петров Инжиниринг" с сайтом с доменом ".asia" и без наёмных работников вообще, когда подписывает контракт, а Иван Петров исполняет контракт и присылает в итоге директору завода плату, залитую компаундом. Директор завода хочет выпустить ещё тысячу кубсатов? Пусть снова подпишет похожий контракт, и за в тысячу раз большую сумму Иван Петров пришлёт ещё тысячу одинаковых плат, залитых компаундом. Для тех, кто не знает: радиационно-стойкие FPGA — это очень сложные продукты, bleeding-edge. Там нужно сделать так, чтобы сама схема продолжала работать в случае поражения излучением одного её кусочка, или двух, или трёх... Там есть самые разные эффекты: обратимые битовые перевороты, нарушение работы всей микросхемы в целом, отказ из-за пробоя структуры кристалла, постепенная деградация из-за накопления повреждений. И для конфигурации FPGA нужна избыточность и постоянное обновление. Уже невозможно нанять инженера, способного качественно сделать такой проект в найме. Можно лишь отдать такой проект этому инженеру на аутсорсинг (B2B). И у таких инженеров не принято ничего патентовать, это такая защита от китайцев.
Вывод: удалённая работа в развитых странах сегодня приносит в год гораздо больше денег, чем офисная, и так же будет и в России в будущем. Типичный директор завода в сегодняшней России — некомпетентный дурак, он не понимает, что, например, Airbus — это не какой-то один большой завод, а франшиза, под зонтиком которой компоненты поставляет очень большое количество контрагентов, включая сверхмалые бизнесы формата "Отец и сын".
Управленческие уклады
Нетократы уже сегодня превзошли корпоратократов. Качество и сложность софта, который производят глобальные распределённые команды инженеров в англоязычной среде, превосходят то, что делают в корпорациях наёмные работники, слушающиеся своих бестолковых менеджеров. Почему в будущем большие организации неизбежно капитулируют перед малыми? Здесь стоит рассказать об управленческих укладах.
-
1-й управленческий уклад. Он основан на физической силе. Управляет самая сильная особь. Примеры: дикая природа, деды в армии, Московский зоопарк, рабовладельцы.
-
2-й уклад. Основан на авторитете, родовом строе. У многих народов постсоветского пространства сын подчиняется отцу, отец — деду. Аксакалы обладают не физической силой, а авторитетом.
-
3-й уклад — мифологическое управление при феодализме. Пример: "Москва — третий Рим", религия, сословия, царь-батюшка, император, "...ибо нет власти не от Бога".
-
4-й уклад — менеджмент. На этом уровне навеки застрял Прохожий. Этому же обучалась дочь Прохожего, когда этот болванчик передавал "тайные знания" от отца к дочери. Кстати, именно через 4-й уклад москвичи ("Не москвичи, а федеральный центр!") управляют всеми семью южными миллионниками. Сюда же, к 4-му укладу, Евгений Гильбо отнёс и ДОТУ из КОБ (Ефимов, Аладушкин, Зазнобин). А недавно на весь интернет прогремела новость. Управленца Томаса Франсуа из корпорации Ubisoft судят за то, что заставил одну из сотрудниц задрать юбку в офисе. Ещё несколько управленцев оттуда тоже попали под суд. Их подчинённых поддерживает профсоюз. Вот такой он — 4-й уклад! Доуправлялись! У 4-го уклада нет будущего. Да, в 4-м укладе выигрывает тот, у кого больше ресурсов (денег, оборудования, подчинённых). Но настоящая власть в 4-м укладе принадлежит не тем, кто зарабатывает фиатные валюты, а тем, кто их печатает.
-
5-й уклад. Траекторное управление потоками вероятностей на основе цикла Бойда или цикла "Красная звезда" (гибридные или сетецентрические войны). Здесь уже важно не количество ресурсов, а способность выявлять точки бифуркации (особенности Уитни) и сосредоточивать там небольшое количество ресурсов. В этих точках для конкурентов выстраивают стимулы, на которые они реагируют.
-
6-й уклад. Косвенное управление распределением полей базовых вероятностей. Базируется на следующих вещах: теория вероятностей Байеса, исследование операций, дизайн механизмов, игра с неполной информацией, Марковский процесс принятия решений. Тут киберцентр динамически в режиме реального времени перерассчитывает все возможные способы коррекции реакций на эти стимулы и автоматически корректирует их.
-
7-й уклад. Управление вырожденными режимами вероятностей через создание "чёрных лебедей" (по Нассиму Талебу), которые полностью меняют расклад вероятностей. Там вероятности носят фрактальный характер (самоподобная структура распределений).
-
8-й уклад. Безинформационное управление. Уклад основан на разрушении базовой онтологии (картины мира) у конкурентов при помощи инфильтрации фактов, которые находятся за пределами данной онтологии. Конкуренты теряют способность к целеполаганию. Пример инструментов: деонтическая логика, точки Шеллинга из теории игр. Пример реализации: рой дронов, где дроны не общаются друг с другом, а просто наблюдают друг за другом, и каждый дрон сам принимает все решения на основе анализа поведения других дронов.
Таким образом, менеджеры работают в 4-м укладе, а всего укладов восемь. Именно поэтому в постиндустриальной экономике менеджеры не удержат свою власть.
Программист как профессия
Из-за LLM в будущем экономика России уже не будет нуждаться в настолько большом количестве программистов, которое мы видим сегодня. Удельные часовые доходы программистов упадут. И это прекрасно! В развитых странах, в которых есть высокий уровень жизни, рулонные газоны, инновации, бренды и тренды, программист ещё 10 лет назад был середнячком, ничем не примечательным человеком. А вот в недоразвитых странах смузихлёб мог получать больше хирурга, пересаживающего сердца. Это несправедливо.
Тут в комментах один чудак жалуется на "пацанье воспитание", на то, что программисты не читают книжки:
...К нам набежала куча вкатунов чтобы получать 300к баксов в наносекунду после трёхмесячных курсов. Многие из них имеют «пацанье воспитание» — т.е. чтение книг для них это просто издевательство...
Отвечу на это слово чушпана. Книжки-хуижки, Пушкин-хуюшкин — всё это не сделает тебя ни умным, ни счастливым. LLM ты всё равно не обгонишь. Тогда какие у тебя претензии к тем людям, которые книжки читать не любят? Уж лучше молодость потратить на общение и спорт, чем на превращение в Онотоле Вассермана — Бога Знаний. Кстати, если Онотоле заменит жилетку на рюкзак и начнёт прихлёбывать смузи, то будет выглядеть, как программист.
Я вот книжки читал. Например, "Гиперион" Симмонса я прочитал сначала на английском, потом — на русском. Да, кстати, в "Гиперионе" есть Бродяги, а это значит, что 1С-prog, читая "Гиперион", побежал бы сразу писать донос на книжное издательство, пропагандирующее АУЕ. Знай же, что стукач — изгой во всех коллективах. Рассмотрим даже не зону, а вот, например, армию. Думаешь, в армии срочники уважают стукачей? Или, допустим, ты бы работал в отделе полиции и стучал бы на коллег. Да тебя бы сами менты ненавидели за это всем сердцем. А если бы ты в "Роснефть" трудоустроился и начал бы писать там доносы на всех в полицию, то стал бы там персоной non grata. "Доносчику первый кнут". В армии все живут по армейским понятиям, на зоне — по тюремным, во дворе — по дворовым. Менты в РОВД живут по ментовским понятиям. У них некомплект возрастает с каждым годом. И они устали уже читать стопки твоих доносов. А ты не задумывался над тем, что такое common law? Знай же, что самые неподкупные суды на Земле судят тоже по понятиям. Ты вот в детстве был во дворе чушпаном, а я — пацаном. И я говорю тебе, чушпану, что за последние месяцы я прочитал аж пять книжек (на английском, оригинале):
-
"Designing for Scalability with Erlang/OTP: Implement Robust, Fault-Tolerant Systems". Cesarini, Vinoski.
-
"Rust for Rustaceans: Idiomatic Programming for Experienced Developers". Gjengset.
-
"Metaprogramming Elixir". McCord.
-
"Concurrent Data Processing in Elixir". Gospodinov.
-
"Programming Rust: Fast, Safe Systems Development". Blandy, Orendorff, Tindall.
И я говорю, что это взрыв мозга. Серьёзное погружение в эти темы уродует психику, а если с детства за эти книжки сыновей сажать, то к совершеннолетию у них будут расстройства личности и профессиональная деформация. Не только программирование, но и любой инжиниринг с математикой делает тебя очень сухим, тошнотворно логичным, неинтересным занудным душнилой наподобие Прохожего. По-хорошему, мальчику вообще до 14 лет не нужны никакие книжки, а нужны только общение во дворах и спорт. Очень много общения с ровесниками и старшаками, очень много спортивных секций. Это позволит личности правильно сформироваться и социализироваться. А иначе сын вырастет таким же, как ты. Изгоем по жизни, пятым колесом в телеге социума, стукачом, пятой колонной в здоровом обществе. Таким ты был с раннего детства. В очень раннем возрасте ты принял ошибочное решение, перечеркнувшее всю твою жизнь. Решение такое: не корешиться с ровесниками, а с младых ногтей быть в оппозиции по отношению к ним. "Баба-яга против!"
Как ботан ведёт себя в школе? Стучит на всех, доносит. Ни с кем не корешится. Выступает всегда за всех учителей, завуча, директора. Против всех учеников, ровесников. Если все остальные не сделали домашнее задание и говорят, что "Вы нам это не задавали", то задрот сделает задание назло всем и будет говорить, что "нет, задавали". В любой ситуации у него все учителя, завуч, директор и сам чушпан хорошие, а все остальные кругом плохие, у них баги, на них надо доносить и гнобить их. Ровесники ему отвечают взаимной неприязнью. Путь неуважаемой масти — эскапизм в комп и учёбу, участие во всех олимпиадах, поступление в вуз на айтишную специальность и мечта о карьере программиста. Такие люди потом на "Швабрашвабре" пишут, что все кругом ненастоящие синиоры, а настоящий сенька должен учиться круглосуточно в свободное ото сна и работы время, должен читать скучнейшие душные книги на тему лямбда-исчисления.
Чтобы в обществе не было таких асоциальных элементов, каждый человек должен каждого своего сына принудительно записывать на три секции: грэпплинг, качалка (на массу), муай-тай. В мальчиках с детства нужно разжигать жажду состязательности, подстрекать к триумфальным победам, чтобы мальчики желали с оскалом соревноваться и яростно побеждать соперников в конкурентной борьбе. Это поможет мальчикам стать успешными в постиндустриальной экономике XXI века. В ней будут рулить не хард-скиллы, а софт-скиллы, внешность, харизма, личные качества.
Технические, логико-рациональные профессии плохи тем, что деформируют личность так сильно, что ты перестаёшь нравиться женщинам. Да и общество в целом технарей не любит. США — первая экономика мира. Допустим, ты в США сказал, что ты — mechanical engineer, конструирующий экскаваторы, или software engineer, пишущий файловые системы. И что, все женщины вокруг начнут смотреть на тебя влюблёнными глазами, а все мужчины — демонстрировать уважение и корешиться? Кто-нибудь будет гордиться связями с тобой, блатом? Да нет же. Наш мир устроен так, что технарей люди не ценят. В Германии ты можешь гордо сказать, что работаешь инженером. А собеседник в ответ не менее гордо скажет, что работает водителем автобуса. То есть и там инженер — не пуп земли. А в Великобритании вообще в сто раз престижнее будет заявить, что ты не на программиста учился, а на историка, что знаешь, в каком веке в Англии каким оружием люди воевали и где археологи это оружие откопали. Тогда можешь с элитами корешиться, тебя за стол посадят, уважать будут. Да, можешь корешиться не с совсем уж элитами уровня принцев, но и всё-таки не с низовкой, не с чавами. Ещё престижно разбираться в коневодстве. А инженер в Англии — это так, лошара... Или вот программист, говорящий, что его коммит приняли в ядро Linux, — это так, чернь, технарь унылый... Ни власть, ни общество не уважают технарей. Перед англичанином с posh-акцентом и британским гуманитарным образованием открыты все дороги. Его сегодня и в спецслужбы возьмут, и в банки, и так далее. В руководители, на управленческие должности. Будет руководить технарями. А перед технарями закрыты все дороги, кроме одной — всю жизнь просидеть за тошнотворным компом, уткнувшись сонной рожей в монитор.
Среди мировых элит (монархи, президенты, прокуроры, судьи, депутаты, всякие люди, вхожие в Бильдербергский клуб, и так далее) нет ни mechanical engineer'ов, ни software engineer'ов. Посмотрите, чему учат в школах, колледжах и вузах для детей мультимиллионеров и миллиардеров. Уж точно не сопромату и не микросервисам. Ни один из представителей мировых элит или их детей не сможет установить на ноутбук не только NixOS, но и Ubuntu. Обратите внимание: Рокфеллеры, Барухи, Папа Римский, Ротшильды, руководители европейских орденов и тайных обществ не бегут корешиться ни с Виталиком Бутериным из Сингапура, ни с братьями Дуровыми из ОАЭ.
То, как программисты одеваются, — это отдельный разговор. Элита (депутаты, директора, меценаты, криминальные авторитеты, Вротшильды, Сракфеллеры, президенты, адвокаты) ходит по городу, одеваясь в деловом стиле. Такие люди даже пару минут пообщаться с программистом в футболке с надписью "In Rust We Trust" и рюкзаком не захотят. Кстати, я лично видел, как двое 40-летних мужчин с бородами принесли в офис галеры радиоуправляемые джипы и, стоя с пультами, устроили гонки в коридоре. Программисты, запомните: в нашем мире все дороги открыты для взрослого мужчины, а не для 40-летнего мальчишки в футболке со Спайдерменом или логотипом любимого дистрибутива Linux. Люди хотят общаться со взрослым и серьёзным мужчиной. Не с пожилым, а со взрослым. Речь тут не о возрасте. Пусть мужчина будет даже чересчур молоденьким, но при этом всё-таки взрослым, в деловом стиле одетым, максимально опрятным, успешным, солидным, презентабельным, серьёзным, уважаемым в обществе. Программисты позорят всех остальных мужчин самим фактом своего существования. Об этом на данном сайте есть целый пост под названием "Секс в большом городе".
Запомни, программист! Одеваться надо так, чтобы выглядеть авторитетнее, чем большинство окружающих. Если по улицам вокруг тебя большинство людей ходят без маек, то ты надень майку, но только не алкоголичку. Если ходят в майках, то ты надень футболку, но только не с надписью "Erlang". Если же они все в футболках, то надень рубашку с коротким рукавом. Если они в рубашках с коротким рукавом, то ты надеть с длинным. Они в рубашках с длинным рукавом? Что ж, надень спортивный пиджак. Люди вокруг тебя в спортивных пиджаках? Надень классический мужской костюм. Они в классических мужских костюмах? Надень смокинг. Ну а если большинство людей вокруг тебя ходят в смокингах, то вообще надень фрак с фрачным жилетом и скажи им всем: "Я согласен общаться только с монархами, рыцарями Мальтийского ордена и Папой Римским, а все остальные — прочь с моей дороги!" Предложенная мной здесь схема предназначена для программистов-мужчин, ну а программисты-женщины способны адаптировать её для женщин самостоятельно.
Если подытожить, то мир будущего будет выглядеть так: не айтишные профессии резко взлетят в доходах и престиже, а айтишные упадут. Сидеть истуканом перед монитором, вглядываясь выпученными глазами в пиксели и играя на пианино QWERTY, станет непрестижно. Количество сутулых батраков в обществе уменьшится значительно. Короче, в XXI веке надо выбирать себе не техническую профессию. На R&D свет клином не сошёлся. STEM — не Клондайк, мёдом там не намазано.
В комментариях напишите ваши мысли о том, каким вы видите будущее. Конструктивная критика приветствуется. Давайте вместе подумаем тут коллективным разумом о том, какое будущее нас всех ждёт, чтобы встретить его в полной боевой готовности.


Комментарии (202)
https://black-tie.club/wp-content/uploads/2019/04/TK-11106-VFR-01-0.442h.png
https://www.unirenter.ru/upload/iblock/394/ee0ontclcv8g4z6pltkk8r78ozz9gd04.jpg
Только на голове ещё диадема пусть будет. А обувь — женские туфли, так как кроссовки в данном случае явно не уместны.
Люблю Аду, но автор пишет полный бред. Почти нигде её не используют, даже в аэрокосмосе. В Штатах используют подмножество плюсов, есть отдельные правила(JSF-AV), но это всё ещё плюсы. Марсоходы на плюсах/джаве катаются. Просто потому что программистов на Аде не сыскать.
Единственное в мире исключение это Франция. Там военка влияет на Университеты и они вводят Аду в программы. В Штатах всё частное и такой трюк не пройдёт. Ещё НВидиа недавно стали пользоваться Спарком. Но и всё.
Язык Ada много где используется. Системы управления полётами Airbus, самолёты типа Eurofighter Typhoon и F-35 (но в 35-м только часть подсистем написана на Ada - Flight Control System, Mission System / Weapon Control), ракеты Ariane, спутники Galileo и так далее. Ada применяется везде, где сбой системы может стоить жизней людей, как ты, или миллиардов долларов.
Да, JSF-AV в ряде случаев используется тоже, но это как раз аргумент в пользу Ada, где не надо так извращаться. Люди были вынуждены обрезать C++ под самый корень, как говорится, чтобы получить хоть какую-то надёжность, в то время как Ada/SPARK изначально проектировалась для сверхнадёжных систем, с контролем времени жизни объектов, отсутствием гонок, возможностью формальной верификации (да, без логики высшего порядка).
Увы, индустрия сделала ставку на массовость, а не безопасность. Программистов на Аде немного, потому что её не учат в популярненьких вузах, на курсах "Войти в айти" и потому что её репутация затенена хайпом вокруг модненьких языков типа Джавы, Пайтона. Но там, где цена ошибки — человеческие жизни или десятки мегабаксов, именно Ada/SPARK становится выбором. И таких проектов не так уж мало — просто они не попадают во всякие там технические видеоблоги на Ютьюбе, где говорящая голова с причёской в стиле «Я у мамы зумер» (мужские кудри, fluffy hairstyle) рассказывает про какой-нибудь Пайтон или Джаву, или покраску кнопки, или перекладывание джейсонов.
Вывод: полный бред пишешь ты, а не я.
Во-первых, ты накидал выборочные примеры(и кстати почти всё Европа, где военка имеет власть над университетами, как я и упоминал). Гораздо больше написано на плюсах.
Во-вторых, сколько в мире контор делают скоростные поезда и истребители, а сколько те же игры?
Раст кстати для игр не годится, все кто пробовал плюются
В-третьих на чём ты будешь писать, например, ДСЛы, если не на Хаскелях и им подобных? Хаскелы, Агдры и пр создавались не математиками для математиков, а компьютер-саентистами. Математикам нахрен программирование не нужно.
Добавлю ещё сюда Boeing (автопилот), Lockheed Martin, NASA (миссии вроде SLS и Orion), Thales, BAE Systems, Raytheon, General Dynamics. Да это почти вся мировая оборонка и аэрокосмос, они все используют Ada. США используют Ada в военных проектах, например, National Security Space, F-22, Patriot, Aegis, B-2. SBIRS (спутники раннего предупреждения о запусках ракет), военная GPS-навигация, AEHF (защищённая военная спутниковая связь) написаны на Ada. Проекты на Ada не кричат о себе на GitHub, потому что почти всегда код закрыт. И когда какой-нибудь ушлый коммерсант кричит, что программистов не хватает, то он не откроет курсы по Ada, а выберет обучать молодёжь языкам Java, Go и Python.
Повторю, JSF-AV предлагает не просто немного урезанные плюсы. Это настолько ограниченное подмножество языка, что по уровню свободы оно ближе к Pascal, чем к современному C++. Это признание, что C++ в исходном виде непригоден для сверхнадёжного кода.
В Европе Аду продвигают через высшее образование, а в США иначе, через оборонные контракты.
Почему промпты на английском, там сейчас все языки жует. И я так понимаю в ллмках идет все равно преобразование к какому то своему языку.
Хороший вопрос. А потому что токены дешевле, английская речь короче русской.
Интересно, про SPARK. Очень давно о нем не слышал. Почаще выкладывай.
А что тебя интересует? Кстати, если зумерам сказать "SPARK", они подумают сразу же об Apache Spark. Другого Спарка они не знают.
В принципе все, что ты описываешь о перспективе и где он уже применяется. Если есть что по энергетике, роботеху или даже биотех (в частности, генная), то это будет замечательно.
То верно, поисковик этим грешит. Потому лучше даже формально обозначать: Ada SPARK - чтобы здесь не возникало двусмыленности
Биотех? Ну что сказать... Медицинская техника Hillrom / Welch Allyn имеет прошивки на Ada.
Для роботов вот что было:
https://blog.adacore.com/using-spark-to-prove-aorte-in-robot-navigation-software
Но информации мало, так как проекты на Ada — это коммерческая тайна или даже военная тайна, о проектах нельзя трепаться, иначе оштрафовать или посадить могут. Такой код ты не найдёшь на "Гитхабе", где смузихлёбы ставят звёзды - аналог лайков из соцсетей. Это серьёзный код для серьёзных вещей.
Большинство зумеров ответят, что это магазин.
тоже услышал про Аду здесь, был на заводе авионики под Москвой, там все пишут С/С++, лет 10 назад слышал, что где-то еще на delphi пишут софт для военки.
Автор так пишет потому, что он ничего кроме своей норы не видел. А нора у него глубоко нишевая во всех отношениях. Понятное дело, что попытка натянуть нишевые решения на глобус целиком - выглядят со стороны странновато.
Ты уехал из одной твоей норы, расположенной под свинцовым небом. Помнишь её?
Пройду по Яндарбиева, сверну на Ямадаева
И на мосту Кадырова я постою в тени
Дудаева, Басаева, Умарова, Гелаева...
Как будто в детство давнее ведут меня они!
Ты понаехал в другую нору — Менеджерский Хаб™. Она тоже под свинцовым небом. И ты начал её считать своим домом. "Home, Sweet Home". Так напиши же свой пост на "Ёбаное Айти" — взгляд из твоей норы.
А зачем мне писать взгляд из моей норы? На широкие массы мой опыт не масштабируется. Горизонт планирования в силу возраста у меня довольно скромный. Делиться отдельными деталями мировоззрения? Ну это имеет смысл в кругу единомышленников, которым это пойдет на пользу.
В общем: "Для чего ты всё дуешь в трубу, молодой человек!?" :)
Ты здоров?
Здоров, но шестой десяток есть шестой десяток. На 25 лет планировать имеет смысл, а на 50 уже точно нет. :)
Я о другом, проехали. Давай лучше важном? Чё самое главное в жизни или пока не понятно?
Самое главное в жизни это гармония между префронтальной корой и нуклеус аккумбенс.
Отомстить за обиду таки главнее.
Эссе: "Взгляд из норы суслика на северном склоне Фудзи."
Из автобиографического цикла: " Я лично уже живу в будущем, а кто живет по другому, тот дурак и ничего не понимает."
Напиши свой пост с прогнозами. Или в Менеджерском Хабе™, где даже летом мало солнечного света из-за такого числа северной широты, умеют только комменты писать?
А зачем мне выглядеть идиотом? Футуризм это развлечение для тех, кто никогда не занимался реальным менеджментом и не сдавал экзамены по эконометрике. :) Футуристические прогнозы делятся на два вида: 1. Очевидно противоречащие common sence. 2. С виду правдоподобные, но при численном моделировании дающие лютую дисперсию в силу лютой гетероскедастичности. Оно мне надо?
В чём претензия? POSIX — стандарт, Linux — реализация, которая старалась максимально соответствовать этому стандарту. Linux — одна из наиболее POSIX-совместимых операционок в мире. Многие сисколлы соответствуют описанию POSIX.
fork, exec, open, read, write — это реализация POSIX.
Не понял про какое будущее написано. Каков горизонт прогнозирования?
Напомнило Ходжу с ишаком и падишахом.
Этот пост я писал, ориентируясь на 2050 год как на своеобразный "дэдлайн". Ну а что касается ситуации, когда wasmCloud заменит BEAM и похоронит Elixir, то это уже 2100 год, а не 2050.
Но очень многое из того, о чём писал в посте, произойдёт даже раньше 2050 года.
Тема сисек, а именно того что делать обычному рядовому разрабу в ближайшие пару тройку лет, не раскрыта
Освоить новую профессию — плиточник:
https://another-it.ru/2025/04/29/about-programmers/
Никакая LLM не заменит плиточников.
Нет. Ну так меня ещё не уволили, контракт действует. Если же уволят и не смогу как максимум за месяц найти новую удалённую работу, и не успею к этому времени монетизировать мой проект, чтобы он приносил мне не менее $4 тыс. ежемесячно, то возьму сбережения и пойду учиться на плиточника, выйду из айти.
Мужчин, которые выбрали себе не задротство, а рабочие профессии, любят женщины. Здесь на сайте в каком-то комменте писали, что был случай, мебель на кухне люди вешали долго, так красивая хозяйка ласково и доброжелательно трогала их за плечи своими руками, улыбалась, уговаривала чайку с бутербродиками выпить, которые сама же сделала для них своими руками с любовью. Если бы они намекнули на секс, то был бы и секс, скорее всего. А программиста хоть кто-нибудь из красивых женщин вот так уговаривал пофиксить баг или заимплементить фичу, трогая за плечи?
Хватит нейросеть абузить. С трудом верится что такие дурачки существуют, хотя я не удивлюсь.
Это он просто на нормальные собеседования не попадал, где надо подтвердить навыки "многозадачности и стрессоустойчивости".
https://www.youtube.com/watch?v=FW9_FT1Vd0o
А вот кассету с немецкими плиточниками видимо где-то раздобыл. :)
Книжки не читай, а тех, кто их читает, называй чушпанами. Мужику вообще должны быть интересны только спорт и машинки.
В профессию не погружайся, а потом жалуйся, что тебя из неё вытесняет статистический бредогенератор нового поколения.
Одевайся поприличнее, а то чё ты, как лох. Подробнее - читай в моём посте.
И прочие советы от реального пацана, прохававшего жизнь. Потраченного времени жаль.
Жесть фантазии.
Впрочем, даже так я бы провёл время продуктивнее.
Ах если бы советы, от "реального пацана".
Корректнее сказать от задрота, который закрывает свои детские травмы и обиды "играя в реального пацана". А самое страшное, что он так поверил в собственную ложь, что считает ее правдой. Серьезный пацан, не будет сидеть и писать о том как быть реальным пацаном...
P.S. Vox живет в каком-то вымышленном мире, где мужикам с реальными профессиями женщины дают направо и налево.
Весь пост - нейросетевой пук без аргументов.
Не весь мой пост, а весь твой коммент.
? Теперь понятно, почему люди валят из этого душного безумия под названием “IT”, на любые нормальные работы, где нет сотен собеседований и бесплатных тестовых заданий.
Скорее бы уже свалили, а то чёто всё сидят и ноют.
Высокомерия очень много, особенно в конце, даже если ты прав - не воспримут, никто не любит задранный нос. Ещё и обиды приписал, фу таким быть.
По поводу тех - прогнозировать тяжко, откуда знать где будет прорыв и чего он за собой потащит, читал же Талеба. Вот что точно будет - частая смена работы, темп перемен наростает.
По поводу управления - такая же штука, вот только смущает шо тикток детей воспитывает. Это прям как переход от домашнего воспитания к воспитанию школой. А кто контролирует образования - контролирует будущее.
Много умных книжек почитал, бегаешь по верхам, не надо так. Играя чужую роль потеряешь свою.
По твоему никнейму то что ты пишешь, никто всеръез не воспримет, ты Илюшка, фу таким быть.
Слышь, Прохожий, ты уже всё упустил. Шестьдесят лет — и где твои проекты? Где твоя свобода? Где твой взрыв? Ты стоишь на месте, словно на обочине жизни, и пытаешься оправдать свою бездействие. «Потенциал есть, но…» — а нету у тебя уже ничего, кроме оправданий и страха.
Кубанойд в шестнадцать давно играет в свою игру, строит своё будущее, ломает систему. А ты? Ты — пыль на дороге, тот, кто сломался и согласился быть пешкой в чужой партии. Работать на дядю — это не просто зашквар, это капитуляция.
Сколько можно бояться? Бояться провала, перемен, риска? Ты уже проиграл, пока сидел и ждал, пока жизнь сама что-то тебе даст. Никто ничего не даст. Не сегодня, не завтра, и уж точно не в шестьдесят.
Если хочешь хоть что-то вернуть — пора перестать быть прохожим, который смотрит на игру со стороны. Пора встать и дать бой, пусть даже поздно. Потому что иначе — так и будешь тенью, которой все проходят мимо.
Это последний звонок. Или ты поднимешься, или навсегда останешься тем, кто мог, но не захотел.
Врачи, менты и военные — у них своя игра
В этих профессиях иерархия — это не просто формальность, а жизненно важная структура. Там каждый знает, что от него зависит не только его судьба, но и судьбы других людей.
Иерархия нужна, чтобы решения принимались быстро, чётко и без лишних споров, чтобы сохранить жизни и порядок.
А всем остальным — красный флаг!
Если ты не врач, не полицейский и не военный, то часто эта иерархия — просто инструмент контроля и подавления. Тебя заставляют думать, что ты обязан сидеть в клетке, играть по чужим правилам, терпеть унижения и ждать манны с небес под названием "карьерный рост".
Но правда в том, что ты не раб. Ты не обязан строить жизнь вокруг чужой воли и чьих-то амбиций. Есть выбор: либо принимать статус «ресурса» и продолжать быть игрушкой, либо искать пути к свободе — менять профессию, прокачивать навыки, создавать своё дело или работать на себя.
Ты меня за советскую власть не агитируй, двоечник. :) Мне грядущий киберпанк с ИИшечкой гораздо интереснее, чем стальными мудями звенеть перед кем попало. Обществу, конечно, было бы полезнее, если бы я больше суетился, но мне нравится тихое персональное счастье. Думаете вы единственный, кого это бесит?
«Самое большое рабство – не обладая свободой, считать себя свободным».
«Нет рабства безнадёжнее, чем рабство тех рабов, себя кто полагает свободным от оков».
В мск по делам. Хожу в шапке, свитере, куртке, просыпаюсь посреди ночи от дубака иду принимать горячий душ.
Вы че москвичи, совсем ёбу дали?
Я бы сейчас отъехал от Анапы на 10 км и покупался бы в кристальной водичке Сукко, а тут хули делать? Дрожать от холода весь день?
А воздух в Москве чистый?
Раз уж этот пост про будущее, то как думаешь, какое будущее ждёт Прохожего и его дочь в старости? Так и будут жить в Москве до смерти или покаются и уедут на пенсии на юга?
СайтБот пишет:
https://another-it.ru/2025/03/14/a-programmer-must-live-in-seven-southern-cities-with-a-population-of-over-one-million/#comment-48148
«2 мая 2025 года. 6:26 утра. Идёт снег.
Москва.
Натурально 6-7 месяцев зимы. Адская локация».
Москвич Тимофей Кошелев, живущий в райончике Сокол, пишет:
https://vk.com/wall-47482578_11172
«…желание свалить подальше меня не покидает уже давно. Никаких религиозных или политических причин. Экология, климат и менталитет — вот они меня выбивают из колеи. Только окна вымою, проходит неделя — они опять чëрные. Открываю рано утром, зимой, окно настежь, чтобы подышать свежим прохладным воздухом — а его тупо нет! Тут буквально нечем дышать. Помню, как-то вернулся в Москву из небольшого путешествия и долго не мог понять, как тут можно нормально дышать. А никак. Воздух ужасный. Водопроводная вода в некоторых районах оставляет желать лучшего. Всë в мусоре. Сегодня тепло, а завтра -10».
«Но я уже много лет понимаю, что делать тут мне нечего. Многие знакомые, москвичи, уехали в провинцию или деревни. И я их могу понять. Там хотя бы воздух почище».
«Я очень, очень люблю Москву. Это моя часть. До последнего вздоха. Но то, что тут всë проклято на хрен, это факт».
«Я вспоминаю тëплый воздух Кубы. Вот там есть Жизнь. А тут еë нет».
Красивая тут только молодёжь, кто постарше угашенные какие то. Особенно по бабам 25+ видно что потрепанные, уставшие, морщинистые .
Я пока не понял в чем дело. Толи тут бухают тупо больше, толи реально йододефицит и авитоминоз сказывается.
Так бигсити - непригодная для жизни среда. Ты от глянь сколько детей рожает средняя москвичка. Не знаю с чем связано, но везде так(в любой стране, менталите, расе, культуре, социальной политике. . .), бигсити растет только в счёт приезжих.
Многие люди из провинции работали вахтой на стройках в Москве, а потом, заработав бабла, купили очень большие квартиры в провинции. И теперь живут спокойно, безо всяких ипотек. И семьи создали, где три ребёнка, а то и четыре. Московские идиотики не догадались так сделать: продать свою однушку в Москве и купить 4-комнатную в любом из семи южных миллионников, а работать удалённо или на местном рынке (например, хорошие стоматологи-протезисты и в Воронеже, и в Ростове-на-Дону бабла много рубят).
Если Прохожему подарить большую 5-комнатную квартиру внутри МКАД, то он, пожив в ней, найдёт себе жену с семейными (традиционными) ценностями, она ему ещё троих детей родит и будет работать по дому. Прохожий перестанет топить за ценности атомизированных малодетных индивидуалистов, за разводы, "гостевые браки" и так далее. Бытие определяет сознание.
P.S. Вот только нелюбовь к езде на машине у Прохожего останется. Московские дураки не только уничтожили свой частный сектор, но и точечной застройкой понаставили небоскрёбов на каждом шагу, и на месте "реновированных" хрущёвок понастроили небоскрёбов. В итоге на дорогах пробки даже в полдень. Для сравнения: по Ростову-на-Дону или Воронежу можно летать на своём лексусе в 12:00 каждый день, очень быстро проезжая через весь город.
https://kuban.bfm.ru/news/36844
https://www.kommersant.ru/doc/6636080
СКР 1.47 2024
Снижение рождаемости на 3% в 2024
Опечатка СКР 1,47 за 2023
Про Ростов
https://161.ru/text/gorod/2023/05/03/72273254/
Это для начала
https://rostov.rbc.ru/rostov/freenews/68245fb49a79471d155676af
3-е место по убыли населения после МСК и ее области. Ахахаха, только лексусы, бороздящие просторы большого театра, не приводят к рождаемости 2+
Статистику рождаемости нужно считать только по семьям, в которых:
— Женщина рожала только от спермы одного мужчины за всю жизнь.
— Она в данный момент времени замужем за этим мужчиной.
— Она ни разу не разводилась и ни разу не была замужем за другими мужчинами.
Все остальные типы семьи — это пародия на семью. И статистику разводов надо считать не "в среднем по региону", не "среднюю температуру по больнице", а вот по таким семьям:
— Женщина рожала только от спермы одного мужчины за всю жизнь.
— Она ни разу не была замужем за другими мужчинами, а выходила один раз за всю жизнь за того, от которого рожала.
И если вот так подсчитать, как я говорю, то выяснится, что и в Ростовской области, и в Азербайджане, и в Краснодарском крае семьи крепкие, разводов почти нет, а рождаемость высокая.
Та да, цены на квартиру в столице - лучшая пропаганда чайлдфри. Но не токо размер жилплощади решает, проблема намного шире, я не могу выделить все факторы, просто заметил шо большие города не растут. Взять любой истоический миллионник, так там минимум половина приезжие в 1м поколении.
Кстати у меня тоже есть машина, пользуюсь ей в основном чтоб с пригорода на дачу ездить, собаку просто автобусом не привезёшь. Не люблю я машины, мне на своих двоих комфортнее.
Да и какие московские дураки? Ты на любую столицу глянь, те же проблемы, мож не в таком масштабе, так и страны меньше.
Все хотят хорошо жить, а деньги стекаются в столицу того маемо шо маемо.
Ты шо не выкупаешь шо каждая жаба хвалит свое болото? Сам так делаешь, а других осуждаешь, не надо так.
За ценности тут топите только вы, а я никому ничего не навязываю. Я просто офигеваю, что чувак, который до 30+ сидел на голове у родителей, потому что "копил на четырехкомнатную", имея деньги на съем и "квартиру, доставшуюся в наследство", а теперь сидит в четырехкомнатной квартире и трахает возрастных кассирш из отдаленных пятерочек, - имеет наглость утверждать, что "топит за семейные ценности". Вся ваша жизнь сплошная пропаганда ЛГБТ. Потому что ведете вы себя вот прям как они. Даже тут в комментах. :)
На вас Vox занимается самобичеванием.
Да, я атомизирован в том смысле, что живу один, а не как у других, когда на одной улице десятки родственников мужа и десятки родственников жены.
Да, южных, кубанских корней нет. Не потомок кубанских казаков. А хотелось бы. В этих субэтносах меня радуют витальность, подвижность и оптимизм.
В данном контексте и нитью вообще через все ваши посты прослеживается отсутствие принадлежности к клану любого масштаба. И ваше родовое гнездо - не южный миллионник.
Родовое гнездо — деревни недалеко от южного миллионника. Первая на юго-западе от него, вторая на востоке. Но кубанцев в роду не было, были просто русские.
Моих родственников нельзя назвать кланом, это да. Вся надежда на моих потомков — детей, внуков, правнуков, которые будут действовать в экономике, как клан, монолит.
Нет. Он собой вполне доволен и развесистый букет неврозов ему совершенно не жмет. :)
У меня нет неврозов. Неврозы — это зажимы, а я их снял давно:
https://another-it.ru/2025/05/26/sex-and-the-city/
https://another-it.ru/2025/05/26/sex-and-the-city/#comment-50390
Ну так я не с золотой ложкой во рту родился. Зато смог подняться из самых низов. Полно тех ровесников, кто так и не поднялся.
Евгений Гильбо говорил, что производительность труда в России в 2 раза меньше, чем в Германии, а за час труда платят в 5 раз меньше. То есть работодатели их наёмным работникам не доплачивают в 2,5 раза. Зумеры и зумерши, если вы читаете это, знайте, что я желаю вам одержать триумфальную победу над такой несправедливостью!
Вы своим поведением демонстрируете первобытный эгоизм. Делаете так, как вам удобно не думая об удобстве окружающих. Отказываетесь держать себя в рамках, называя это "отсутствием зажимов" и "не держу в себе".
Поэтому для любого клана вы обуза и проблемный пассажир. Ну Ок. Вы нашли свою узкую нишу с растом, стейблкойнами и подпольной работой на недружественные страны. Ну такой "социально адаптированный маргинал". Я как москвич, разделяющий китайский принцип "пусть расцветают сто цветов", не обращаю внимания на то, как живут люди, ровно до того момента, пока они не начинают выступать с поучениями, как надо жить мне. Особенно, если речь идет о социальных "меньшинствах", к которым очевидно относитесь вы, всякого рода замоташки, дагестанские любители басов на заниженных приорах, этнические гастарбайтеры - вот эта вот агрессивная пена на глади нашего многоликого государства. Вы ведете навязчивую пропагандистскую компанию своего образа жизни. Более того, вы имеете наглость переходить на личные оскорбления незнакомых людей. Ну и кто вы после этого? :)
Да, кстати, сколько я ни пытался понять ценности и мировоззрение Прохожего, так и не смог. Прохожий даже отдыхает на северах в отпуске. Всё наоборот.
Просто для справки - у Тинькова* была точно (может продал- не слежу)) яхта-ледокол, чтобы кататься на лыжах с дочкой там, где "белые медведи срать боятся"...
Прохожий не наезжал личными оскорблениями. Первым эту черту пересёк Дон Южану. Вас триггернуло на дебаты за его дочь и менеджмент. А порвались, когда к мифу добавили стукачество 1с-ника и перешли на личные оскорбления. Я вам указал, что это разные люди, но вас это не остановило.
Хех, в карельских лесах отдыхает, где комары стаями нападают и живого места на теле не оставляют
Что с такой системой ценностей, как у Вокса - никакой клан ему в жизни не светит. Он эти кланы почему то представляет, как какой то массонский клуб, куда надо как то любыми способами вступить, а потом ему сделают хорошую жизнь. Просто потому что он смог пролезть.
Причем сам он эгоист, инфантил и мизантроп, готовый продать всех вокруг за лишний доллар,и не уважающий ни свою страну, ни чужие страны, ни людей вокруг. Короче типичная жертва "американской мечты" в ее карго-культовом варианте.
А это прямая противоположность тому, на чем стоят кланы.
То есть не маргинал — тот, кто работает строго в найме под надзором стоящего за спиной менеджера, при этом проживает в однокомнатной квартире / студии, при этом сам — в гостевом браке / разводе.
Всё так?
При чем тут зумерши, в твоем случае виноваты миллениумы - твои сверстники и их бумеры родители, за прекрасное воспитание.
В чем провинились миллениалши перед Vox-ом?
То что не давали ему до 30
Во-первых, не должны. Во-вторых, миллениалши давали изи не только без танцев с бубном, но также не имели пунктиков блекпил.
Я где-то написал слово должны? Это во-первых. А во-вторых, не давали, тем более на ИЗИ, ибо не было бы таких как Вокс. И я знаю этих шмар, потому как сам из этого чертового поколения.
Не писали, что должны) "во-первых.." было риторическим вводным. Я тоже из этого поколения. 81-96.
А вторая — да просто райончик тот мне нравился, я там рос с детства и очень многих знал во дворах, корешился, общался время от времени даже в годы работы. Да, знаю, что я и в этом райончике мог найти съёмную хату, но не искал.
Третья — убогость самой унаследованной квартиры, её площадь, планировка, страшный ремонт (убитая в хлам), плохой райончик, вид из окна на мусорку с крысами... Нет уж, не надо. Я поступил единственно верным образом — жил с родителями до 31 года, продав унаследованную убогую хату и стахановскими темпами скопив на эту 4-комнатную в поте лица.
Имхо. Видимо, это связано в целом с городами, когда человек сталкивается с нагрузкой ЦНС. Просто существо такое: нуждается образно в изменениях окружающей среды (более естественной, природной, а не очередного построенного человейника). На фоне всей этой нагрузки сталкиваешься неизбежно со стрессом - тогда идет смещенная активность уже в бухалово, тиктоки, спорт (кстати, не очень-то поможет в перспективе). Прикол в том, что, если удастся сбежать этой смещенной активности, человек неизбежно столкнется с рефлексией, не найдя решения и скатившись в депрессивные состояния.
Конечно сьебутся при первой возможности что-то урвать. Только не на наши юга, а куда нибудь в Черногорию, капризные москвичи они такие.
Если урвут реально по-крупному, от 20 до 50 млн, возможно в Сочи возьмут элитку.
Чушь которую они тут пишут чисто оправдания, пока вынуждены сидеть в клоаке с гастерами.
Я не знаю ни одного человека, который сказал бы: "Вот постарею, стану седым пенсионером, и поеду в Москву доживать свою жизнь".
Также не знаю ни одного человека, который сказал бы: "Если я куплю лотерейный билет и выиграл в лотерею 1 млн долларов, то перееду жить в Москву".
Это я к тому написал, что Москва не является городом, где люди мечтают встретить старость. И не является городом, где молодые богатенькие люди мечтают проживать. И пригороды Москвы такие же: на Рублёвке полно нераспроданных домов для богатых. Это в корне отличается от США, где южные Флорида и Калифорния кишат постоянно проживающими там богачами.
Что же такое Москва? Это просто дорогие декорации потёмкинской деревни, памятник уходящей эпохи, где сначала была плановая экономика, а потом наконец-то рыночная, но только с нищим населением РФ в целом, без удалённой работы, без способов зарабатывать бабло удалённо, без развитых связей с внешним миром (люди английского языка почти не знали не только в провинции, но и в столице).
Москва — это город, где бедные люди-одиночки, называющие себя средним классом, пытаются скопить первоначальный капитал в перерывах между созерцанием толп мигрантов в общественном транспорте и проживанием в ипотечной или арендованной квартире площадью с собачью конуру.
> А воздух в Москве чистый?
а воздух на Кубани чистый ?
там распахан и используется под с/х каждый кусок земли площадью от 1 кв.м.
ветрами почву выдувает в воздух, и в воздухе стоит и не оседает (т.к. дождей почти нет, снега почти совсем нет) мелкая пыль.
Кубанойды пьют меньше москвичей.
Кто квасит заканчивайте это дело. Я сейчас контраст вижу чётко, как в пятёрке затариваются алкашкой и лица в городе угашенные у каждого второго. Вы че, хронические алкоголики тут все?
Алкоголь только по праздникам.
Вы тут не только бухаете но ещё и баб своих спаиваете, вы че ебанулись тут что ли.
Да я б сейчас и сам хряпнул от холода ебучего нефиг делать вообще думал на речку сходить. Но пока держусь
Михаил Лазутин ("Лев против") показал всей стране, как много и часто бухают москвичи. Таких попоек в провинции я не видел ни разу. Женщины в Москве тоже бухают.
Смотря что.
Вина кубаноиды, наверное, пьют больше, ибо своё и хорошее.
Вот недавно таки попробовал белый и красный Ice Wine от "Галицкий & Галицкий".
Ещё есть знакомый, который делает хорошую граппу (итальянская водка).
Хотя я её только пару раз пил, бо водка это не моё.
Ещё дядя друга делает хорошее домашнее вино, даже по бутылкам на заказ разливает.
А вообще надо знать расположение всех хороших погребов на Кубани.
Даже в Краснодаре ?
Навязчивые идеи и токсичность уже через край. Настолько гротескно всё стало, что даже смысл пропал что-то обсуждать. Общайтесь друг с другом. Только желчность и негатив они такие, на автора в первую очередь влияют.
Напиши вопросы, какие тебя интересуют, чтобы у меня какая-то структура статьи была.
Плюс я ещё добавлю своё.
Напишу аналитическую статью про ойти, с прогнозом вплоть до первой половины 2026.
Я хотел статью ещё в апреле написать, но каждый раз заходил, видел эти статьи и комменты за авторством чата гопоты и думал "нахрена что-то писать? Для кого? Чтобы что?".
То что я бы написал в апреле, сейчас не совсем актуально, потому что всё меняется в худшую сторону с каждым месяцем.
Если в апреле ещё можно было найти работу с большим трудом и за маленькую ЗП, то сейчас работа с маленькой ЗП это лишь половина вакансий.
Вторая половина вакансий...
А их нет. Ты просто нахрен никому не нужен ни за какие деньги.
3 дня назад читал пост одного дяди в линки динки.
Он 10 месяцев искал работу. На третий месяц стали заканчиваться деньги и он пошёл работать извозчиком пиццы в прямом смысле. Нашёл он работу только потому, что на фирме у одного из знакомых случайно освободилось место.
Дядя этот фронт ендер, опыт 6 лет.
Ну шо, защитнички Москвы, урбанисты диванные. Я приехал. Это у вас великая Москва?) Это серое убожество под дождём в июне, в 12 градусов, с лужами, как в ноябре? Где вы, фанаты урбанизма и 'высоких зарплат'? А, дома засели, потому что 'завтра на работу', как настоящие рабы в офисах у менеджеров.
Вы тут сидите, как тараканы в коробках, с видом на стоянку и бетон. Москва, говорите, лучше? Лучше чего — тубдиспансера в Армавире? Ну может быть. До нормальной жизни — вам как до курорта.
Так что не мандите мне про 'тут возможности'. Единственная ваша возможность — это стоять в пробке или в метро нюхать чужой пот. Москву вы защищаете? Да вы сами от неё прячетесь в химках, балашихах, долгопрудных, апрелевках. Москва — это серое месиво из амбиций и депрессии, где каждый думает, что он охуенный, пока не заходит в метро и не видит, что таких 'охуенных' — ещё 10 миллионов.
Так что заткнитесь со своей Москвой. Кубань — это рай.
Завидуете, но молчите, потому что признать, что продались за 'московскую карьеру' — стыдно.
Полностью поддерживаю. Не город, а хрен пойми чего. Может, кого из нищих селюков надоела деревня, для таких Москва - благодать. Но я не могу представить, как может нравиться Москва свободолюбивому человеку, который хочет жить в комфорте. Жить в человейнике среди человейников с видом, как вы верно упомянули, на стоянку - это такой себе "комфорт". Вставать в 6-7 утра, ехать по забитому метро на работу (кто не на удалёнке), нюхать чужой пот... Да ну нахуй это. Это жизнь что ли? Это говно, а не жизнь. Московский климат - вообще отдельная тема...
Та шо ж вы так мучаете себя?! Ехайте обратно в Анапу. Там нонеча просто рай.
Че приехал тогда?))
Сколько рабочих мест твой "рай" создаёт? Сам то небось работаешь на Москву
Я бежала за вами 3 километра чтобы сказать, как вы мне безразличны.(с)
Че приехал то? Помидоры продавать привез?
Для меня свершилось долгожданное событие. Я проведу первую рабочую неделю в своём домике. С праздничных дней нахожусь в своей деревеньке. Для постоянного проживания всё готово. Буду потихоньку обживаться. Со съёбом из IT я завязываю, вообще никаких вариантов нет. Особенно беспокоят хронические болячки: как обострятся - я совершенно нетрудоспособен. После отпуска (где-то с августа) обещает начаться движуха по поводу устройства к знакомому. Буду как-то пытаться зарабатывать в IT и нарабатывать связи. Я, честно говоря, и так уже многое потерял от выгорания и депрессии. Пора завязывать с этим.
Я искренне ненавижу Москву. Вроде всё есть: огромное кол-во товаров, услуг, да чего угодно. Но город, сука, перенаселён просто до усрачки. Жить некомфортно. Заебали шум, суета, толпы людей, бесконечные пробки. На прошлой неделе меня добила ситуация с парковками. В моём квартале пиздец полный. Машину хрен где поставишь: всё забита. Так ещё и по моей улице полностью сделали парковку теперь только платной. Выродки блядские. В общем, вот сейчас я даже рад, что я в айти на удалёночке. Будь я работягой, был бы привязан к Москве.
Вся Москва застроена домами по 20+ этажей, стоящими вплотную друг к другу. В итоге даже зажиточный человек вынужден спускаться в метро.
Про Rust на мобилках это прям ROFLS. Ну как бы вот на Android есть NDK, можешь с его помощью попробовать поразрабатывать, наверное. Только что-то никто не торопится так делать. Да и на Objective-C со Swift никто почему-то возвращаться не планирует
Про криптовалюты - это как бы платёжное средство очень сомнительное. Подходит в основном только для очень крупных сделок, в которых не хочется платить высокие пошлины и налоги. А блокчейн и Web 3 - это просто конструкторы финансовых пирамидок и HYIP-проектов
UPD: нашёл ту статью про 7 южных миллионников. Автор там для жизни рекомендует... Махачкалу. ROFLS.
На айфонах тоже запилят в конечном итоге wasm-рантайм. И тоже будет Rust, скорее всего. Или SPARK/Ada, которую тоже адаптируют для написания софта для wasm-рантаймов в том числе.
Махачкала хороша для кавказцев: райский климат, горы, море, больше миллиона жителей в агломерации. И квартиры с большим количеством комнат, даже твой Одуван их сфоткал. Но лучше частный дом арендовать, чем квартиру. А потом лучше построить свой коттедж. "Мы за ценой не постоим".
Да, слово "криптовалюта" Евгений Витальевич там прямо не писал. Это было уже в его свежих лекциях.
При чем тут Linux, он не Posix-Compatible, и никогда не был. Это чо надо турнуть чтоб такое написать.
Снова у афтара каша в голове, во первых CAPS уже существуют лет так дцать, во вторых, при чем тут POSIX?
В будущем на надувной лодке Наса запустит пингвинов в космос, абсурдость того что написал я, примерно равна абсурдности процитированного ;)
Этот механизм не "уже есть" в Linux, линукс тут нахуй не пришей кобыле хвост который просто следует стандартам uefi, которые есть уже лет 15 в индустрии, такое же есть и в macOS и в Windows о великий мамкин хакирь: https://learn.microsoft.com/en-us/windows-hardware/design/device-experiences/oem-secure-boot. Уж при чем тут firefox не берусь судить, secure boot придумали, чтоб не допускать запуска не подписанных модулей ядра во время загрузки различных ОС, уж как тут firefox приебался даже спрашивать не стану :)
Короче, надо заканчивать авторам этого сайтика копипастить чатжпт и научиться хоть чуть думать головой, желательно не нижней.
А теперь напишу, о чём речь в посте. POSIX действительно делает ставку на модель "всё есть файл" и процессы как основной исполняемый юнит. Это решение отлично работало для задач 70-х годов, но сегодня вызывает вопросы с точки зрения безопасности и верифицируемости. В современных задачах всё больше важны capability-based модели, message-passing и верифицируемые механизмы управления доступом. Об этом, например, говорят и в Google (Fuchsia), и в DARPA (CHERI).
Не путай POSIX capabilities в Linux и capability-based security в архитектурном смысле. В Linux capabilities — это просто разбиение root-права (CAP_SYS_ADMIN, CAP_NET_ADMIN и так далее) на более мелкие флаги, хранящиеся в структурах task/cred. Это механизм контроля доступа на основе атрибутов процесса, а не capability-модель в строгом понимании, как в seL4 или CHERI. Capability-based security, о которой говорится в посте, — это принцип, при котором права доступа представлены как неотчуждаемые ссылки-объекты, передаваемые явным образом между сущностями. Это фундаментально другая модель: вместо того, чтобы проверять, у кого тут есть право, система проверяет, у кого есть объект-ссылка. Такой подход безопаснее. В Linux модель основана на идентификаторах (UID, GID) и глобальном пространстве имён, а capabilities — просто надстройка над DAC/UID. Это совсем не тот уровень изоляции и верифицируемости, который даёт настоящая capability-модель. Я за базар отвечаю.
Теперь насчёт Firefox. Тот пример взят из практики, потому что это типичная программа, нарушающая модель immutable filesystem. Она обновляет .so-файлы в своём конфиге в /home/..., это ломает целостность при агрессивных политиках IMA. Эта проблема не специфична для Firefox, а характерна для широкого класса legacy-софта, который не приспособлен к условиям полной проверки целостности. Поэтому моя проблема была приведена как пример несовершенства текущей экосистемы, а ты так ничего и не понял, чушпан.
Есть неудобный вопрос: Vox, а поч ты вдруг знаешь такую кучу "задротской херни"? Ты ж "крутой", "незадрот", откуда у тебя в голове такой пласт информации про всякую хуету, связанную с системным программированием, акторами, ядрами линукса? В такую херь будет вникать только конченный задрот, почему в нее вникаешь ты? Ты выше высрал ересь про пример с историком, знающим в каком веке в Англии каким оружием люди воевали, хочется поинтересоваться, а почему ты сам не читал про это или что-нибудь про лингвистику, философию, а вместо этого наяривал книжки про Раст и Элексир?
При это ты усиленно стараешься создать себе образ "крутого пробивного чувака", "вот вообще ни капли не задрота, чесноеслово, пасаны!". Чет слова твои не вяжутся с поступками, ты запизделся, дружок, возможно даже до такого состояния, когда сам начал верить в свой пиздеж и создал у себя в голове мощный такой манямирок
так это копипасточка с чат гопоты. Автор лучше ебнул чекушечку и на завод, снаряды для СВО точить, там его юмор оценят
Вот кстати да, у меня этот вопрос возник тоже, но я чет постеснялся его озвучить, потому что как-то очень уж явно оно указывает на раздвоение личности автора. Либо на то, что автор сам не читает и толком не правит то, что ИИ генерит, и тогда странноватенькие уже мы, почтеннейшая публика, что читаем всю эту шляпу :) Как ни крути, а вопрос склизкий, как рабочее место говночиста :)
Меня поневоле с детства родители заставляли ботанить всякую хрень. Учился в обычной школе в километре от дома, но в математическом классе. Потом в универ поступил, выучился на программиста. Без особого рвения был вынужден втягиваться во всё это. Сейчас ищу способы выйти из айти. Системным программированием зарабатывал на жизнь ранее, потом перешёл на прикладное. Блокчейн-проекты, хоть они и на Расте, это прикладное всё-таки, и с каждым годом становится всё более абстрактным.
На Линуксе сижу давно, так сложилось исторически. Винда портила жизнь всякими там вирусами, зависаниями. Долго сидел на линуксах с тайлинговыми WM, и на работе, когда ещё в офисах работал, и дома. Так и привык.
Всем своим будущим детям я желаю задротами не стать, а быть беззаботными, не задумчивыми, весёлыми и общительными, выбрать себе профессии, максимально далёкие от ёбаного айти. Детей у меня ещё нет, но, когда создам семью, хочу, чтобы жена родила двух.
ILprog?
Что это? Ты о чём пишешь?
Так времени нет. Работаю в поте лица.
Когда я не буду вынужден работать, когда мой проект будет доделан со всеми подсистемами, запущен и начнёт приносить бабла хотя бы в пару раз больше, чем я зарабатываю сейчас, то вообще выйду из айти и перестану изучать что-либо, задротствовать, следить за технологиями. Буду лежать в гамаке с женщиной во дворе коттеджа, греться под южным солнцем, и пусть эта женщина родит мне парочку наследников. Быть задротом я не хочу, в отличие от комментаторов с Швабрашвабра - помойки фанатичных гиков и нердов.
Что за проект?
Я хотел ответить на твой коммент подробно, но передумал, так как будет слишком много текста. Напишу лучше в виде отдельного поста для нашего "Ёбаного айти", я как раз начал писать пост на тему того, как я успешно использую LLM в проекте. В нём же и о своём проекте расскажу, почитаешь. Жди.
Экспертиза уровня /b/ с копипастой из chatgopota, давно столько бреда не читал, аффтар пеши исчо, давно не видел чтоб сравнивали Xen и ebpf, не знали что UEFI нужен не для того чтоб фаерфокс не запускался и не только в линукс, а это уже стандарт лет 15, не знали что capabilities придумали лет 25 как, а sel4 и linux чтоб ставить в одном предложении всерьез надо обладать некой степенью умственной отсталости. Пока в России существуют люди сюда пишущие свой выхлоп и существуют люди воспринимающие это всерьез, я спокоен, конкуренции на рынке не будет.
Genode умеет запускать Linux как гостевую ОС, ограниченную, в песочнице. Причём это может быть как полноценный Linux, так и только часть — например, только драйвера, только графика. Genode работает поверх разных микроядер, в том числе seL4.
Чё тут, опять бабы Vox-у не дают?
Их щипать надо было, кто ж знал!!
Меня в школе учили писать сочинения, в институте - готовить доклады, на военной кафедре - рапорты, на курсах - делать презентации примерно по такой схеме - обрисовать проблему, выдать тезисы, привести обоснования, сделать выводы. И, читая что-либо, я тоже привык воспринимать информацию по этому же принципу - "вводная-тезисы-пруфы-выводы". И пруфы - это то вокруг чего можно, собственно, вести разговор - насколько они убедительны. Но в этой статье я "пруфов" вообще не увидел - "Сегодня популярны JVM, BEAM, CLR и WebAssembly. Из всех виртуальных машин с байт-кодом в будущем выживут только BEAM и WebAssembly". - почему это так, что "погубит" JVM, что придаст импульс WebAssembly? А нет ответа. Но будет вот так. Но на нет - и обсуждать-то нечего, собственно говоря.
Но считать дни и недели в месяце не научился))) 5 недель это 35 дней))))
Ну вот ты сейчас себя в очередной раз выставил человеком который либо не понимает смысл комментариев либо намеренно делает вид что не понимает. И то и другое выглядит глупо.
Я прекрасно понимаю смысл ТВОИ КОММЕНТАРИЕВ, он примерно про рассказы инфоциган как офигенно в ИТ. Человек хоть раз отвечавший за табель или заполнявший свой таймщит знает что 176 часов в месяц максимум...
По каждому пункту можно долго расписывать подробнее. Логика развития WASM/WASI движется к тому, что это будет универсальный рантайм по умолчанию почти для всего.
JVM - очень тяжёлый рантайм с GC. JVM плохо подходит для микросервисной, контейнерной архитектуры. Долго запускается, жрёт память, сложно изолируется, сложно дебажится в проде. В грядущую эпоху edge-компьютинга, zero-trust и легковесных рантаймов это минус. JVM привязана к Java-экосистеме. Да, на JVM можно писать на Kotlin и Clojure, но они все завязаны на модель классов, класслоадеры, стек-ориентированную модель исполнения. Это тормозит развитие более умных парадигм вроде параллельных вычислений на акторах, dataflow VM и языков с value semantics. JVM не предоставляет гарантированной изоляции между приложениями (как WebAssembly). Безопасность на уровне Java Security Manager устарела. А WASM/WASI предлагают sandboxing по умолчанию.
WASM — это не "виртуальная Java", а универсальный байт-код, в который можно компилировать из разных языков. WASI даст WASM-процессам безопасный и минимальный доступ к системным ресурсам. Это API уровня POSIX, но безопасный по дефолту. Особенно это будет ценно в эпоху supply-chain attack и zero-trust. Что мы получим? Малый размер, моментальный запуск, изоляция, sandboxing — всё это хорошо для распределённых сред, где нельзя поднять JVM и ждать старта. GraalVM и Project Valhalla вносят лишь точечные улучшения. WebAssembly - единственная VM, одинаково подходящая и для фронт-эндов, и для бэк-эндов, и для embedded.
Что будет в будущем? Сначала массовое появление WASM-native приложений и микросервисов. Потом переезд крупных корпоративных приложений на WASM-рантаймы. Параллельно с этим - полная поддержка WASM в контейнерных системах (Докер, Кубер). Также появление больших фреймворков на WASM — например, аналог спрингов из Джавы или чего-то подобного, но с WASI под капотом.
Простите, кто на ком стоял?
Это я, Саня Омский. А чего это ник пропадает?
У него каша в голове. Практически все виртуальные машины, которые переваривают JS, имеют кусок, переваривающий байт-код WASM для задач числодробления. В браузерах это V8, SpiderMonkey и JavaScriptCore. У всех у них есть помимо JS компилятора еще и WASM рантайм с компиляцией в низкоуровневый код. И в node.js, которая вне браузера работает, тоже блин есть рантайм для WASM.
Но специально для задротов-числотрахов, которым общечеловеческие инструменты чужды, есть и отдельные рантаймы для WASM вне браузеров, например: wasmtime, Lucet и (барабанная дробь) WAMR (WebAssembly Micro Runtime).
Вот видимо про эту WAMR пациент и бредит, как про шустрый микрорантайм, который вытеснит все виртуальные машины, как математические сопроцессоры вытеснили процессоры общего назначения (шутка).
WASI - это не рантайм. Последние буквы это "system interface". Это блин просто "стандарт системных вызовов" - требования к изоляции вызовов, которым должен соответствовать рантайм, чтобы быть WASI совместимым. Потому что вот wasmtime - ожидаемо WASI совместимый, но при этом внезапно есть и совместимые с васей версии node.js.
Собственно в Кубере есть такая мандуловина - Krustlet -, ежели под неё выделить отдельную ноду с отдельной виртуалкой, то на этой ноде можно назапускать wasmtime для запуска WASM-модулей и наслаждаться будущим, которое тут Vox расписал. Со всеми его сомнительными радостями. :)
Нет, это у тебя, седовласового пациента однокомнатной московской палаты, каша в голове. Я же прекрасно владею темой, в отличие от тебя. А ты в ней тонешь.
Ну да, V8 и прочие имеют wasm-рантайм, встроенный в JS-движок. Я это разве отрицал? Моя мысль была такой: есть принципиальная разница между встроенным wasm-рантаймом внутри JS-движка и полноценным standalone-рантаймом (wasmtime, wasmer, WAMR).
Ты вот пишешь про модули к Node с WASI-имплементацией. Как ты на этой хренотени будешь создавать плагины для какого-нибудь софта (десктопного, серверного, например)? А в IoT как вставишь? Всякие там камеры, умные колонки, HVAC, умный холодильник и так далее. А в узлы edge-компьютинга как? А сервисы с горячей заменой модулей (типа как горячая замена кода в Erlang, но только не во всей программе, а в её части - конкретном модуле)? А FaaS с быстрым стартом?
А вот Krustlet — хорошая штука. Её уже используют крупные корпорации. Почему "...со всеми его сомнительными радостями"? Что здесь сомнительного? Поясни.
Я наконец-то сделал то, что давно хотел — удалил эти чертовы папки Linux! Всё это древнее говно с его иерархией и путями — в прошлом. Вместо этого я создал монаду на базе кложуры. Да, именно так: чистые функции, неизменяемость и композиции вместо бесконечных файловых структур.
Теперь моя система — это не запутанный лабиринт папок, а элегантная монада, которая управляет состоянием и побочными эффектами через цепочки функций. Это настоящий прорыв! Забудьте про старье — будущее за функциональным
Ты выглядишь как фэйковый Южанин. Наш уважаемый собеседник из Краснодарского края так не пошутил бы.
Так с мобильника же?..
Вопрос воксу, есть говняный сайт на битриксе с тонной логики в шаблонах как любят битрексойды)) но сайт приносит деньги.
Вот их ставят перед фактом, везде wasm, все на чистых функциях, везде раст и т. д
Хотите по старому, запускайте линукс контейнер внутри растовского бима крутящегося на элексире.
Ну ок, а что это в итоге поменяет то?
Перефразирую вопрос.
Что должно мотивировать кабанчика слезать с битрекса, ради ивент драйвен wasm виртуальной машины
и кода в биме на условном элексире? Если у кабанчика не хай лоад
На улице дождик. Позанудствую. :)
Нынешний широкий пейзаж кроссплатформенных модулей, который Vox приговорил, выглядит примерно так.
Содержимое модулей это, либо текст на JS, либо байткод, либо ВебАссемблер.
На ВебАссемблере можно писать напрямую без всякого раста. Примерно так же удобно, как напрямую писать байткод.
Но некоторые заморачиваются, с целью оптимизации. А вот на JS писать напрямую нормально. Скрипт же ж.
Эти модули надо распарсить и откомпилировать по месту какой-то специальной эбалой.
JS парсит и компилит V8, байт-код парсит и компилит JVM, вебассемблер парсит и компилит либо кусок V8,
либо специализированный рантайм.
Почему ВебАссемблер парсится и компилится быстро? Потому что у него жесткие примитивные
типы данных и линейная память. То есть адресовать можно тупо умножая смещение на длину типа в байтах.
Почему байт-код парсится и компилится медленнее? Потому что у него тип организации памяти - "куча", а
типы хоть и жесткие, но "дизайнерские", и полиморфизм методов. Почему JS еще медленнее? Потому, что у него и организация памяти - "куча" и
типы динамические. Кроме того, динамические и дизайнерские структуры данных требуют оптимизации машинного кода, для чего тоже нужно время.
В целом эта картина гармонично покрывает широкий спектр прикладных задач, требующих многоплатформенности.
Важный момент номер 1. За счет того, что в случае ВебАссемблера задачи оптимизации решает программист, а в случае JS их решает V8, - конечный код у программиста получается примерно процентов на тридцать эффективнее. Величина разницы, на которую кабанычам глубоко насрать. Поэтому ради этого никто не будет напрягаться с переходом со скриптов на низкоуровневый язык.
Важный момент номер 2. Малый размер рантайма должен соблазнять писцов для встроенных микросистем типа умных лампочек и кофеварок, но
широкой общественности, которая в качестве "изолированного микросервиса проверки сертификата" запускает контейнер, внутри контейнера линукс, а внутри линукса проверялку подписей - очевидно наплевать на оверхед даже такого масштаба. На WASM такая криптография будет работать прям гораздо быстрее, но всем поуху.
Важный момент номер 3. А для каких вообще задач нужно быстро компилировать кроссплатформенные модули?
В реал-тайм системах с гарантированным временем отклика очевидно не место ни JIT, ни сеткам с непредсказуемой задержкой. Поэтому там WASM идет лесом. А где тогда? Ну видимо там, где время жизни приложения сравнимо с временем его парсинга и компиляции. Такие приложения, которые любит Vox. Миллионы леммингов запустились на миллионе раскиданных по планете ядер, насрали и тут же сдохли, пока супервизор не очнулся. В большинстве остальных модулей, которые вынуждены стоять и ждать своей очереди либо к ядру, либо к базе, либо к роутеру, либо
еще куда-нибудь, либо курить бамбук в точке синхронизации - глубоко фиолетово сколько их там парсили и JIT-компилили в детстве.
В общем вообще никаких предпосылок для того, чтобы все вдруг ушли в монастырь, забыли это ваше богомерзкое ООП и вернулись
к традиционным ценностям низкоуровневого дизайна. С несколькими примитивными типами и линейной памятью. Чтобы имитировать
там прелести ООП через костыли типа структур, трейтов и позднего связывания? Да ну на*
К универсальности BEAM и Эликсира примерно такого же плана претензии.
Не понятно почему эти нехитрые тезисы экономисту очевидны, а Vox - человеку с высшим программистстким образованием - нет.
В институте забыли положить в хэппи мил пресловутый common sence. :)
Кстати, модель памяти BEAM не имеет практически ничего общего ни с JVM, ни с wasm, ни с JS-рантаймами. Каждый процесс в BEAM — это отдельная маленькая изолированная память. В BEAM мусор собирается внутри каждого процесса отдельно. GC — очень маленький и предсказуемый, паузы настолько маленькие, что GC никогда не останавливает всю систему.
Малый размер рантайма нужен не только для MCU. Для MCU вообще чаще всего нет необходимости в том, о чём я говорю. Там достаточно и чистого Си. За базар отвечу. Раньше под них писал на работе коммерческий код, очень давно. А вот в SoC уже подойдёт и wasm-модуль, написанный на Расте.
Если какой-то микросервис на VPS перезапускается пару раз в месяц и всё время активен, то похрен, какой там размер рантайма. Но мир движется от таких контейнеров в сторону "амазон-лямбды". "Наносервисы", иными словами. Плюс unikernel. "Взломали — да и ладно". Запустился мгновенно, ответил клиенту, вырубился до следующего запроса, который может быть и через несколько часов. Мир движется в сторону от сегодняшней виртуализации к изолированным unikernel'ам. В сторону от "толстых" стеков к модульным изолированным функциям.
Сегодня такая функция может тащить за собой nodejs + сетевой стек ядра Linux + проприетарный гипервизор поверх железа. В будущем всё ускорится и упростится. То есть время холодного старта будет стремиться к нулю. Облачным провайдерам выгоднее будет переводить всех на такие вот wasm-функции.
И я, говоря про wasm, не писал, что скорость компиляции важна. Я писал, что важна скорость запуска!
При чём здесь супервизор (очевидно, Эрланга/Эликсира)? Он там для другой цели.
Напишу ещё, чтобы было яснее. BEAM — прекрасная машина для исполнения байт-кода, но она не даёт возможности писать любую быстро исполняемую логику. Например, числодробилку лучше не встраивать в Elixir, а вынести в отдельный BLOB на Fortran / Rust / C / C++ / asm / SPARK Ada и дёргать по TCP прямо из BEAM. А ещё байт-код Elixir не универсален. Его нельзя взять и в форме абсолютно безопасной изоляции гонять внутри браузера, на edge-ноде или в мощном микроконтроллере. А вот wasm-байт-код — можно.
Ты, пузатый любитель "хэппи мил" с лишним весом, балаболишь на тему текущей (не)эффективности языков и рантаймов. Я же говорю о глобальном тренде в вычислениях. WASM — это новый формат доставки кода, формат его изоляции, единый стандарт исполнения, новый уровень переносимости, новая экономическая модель масштабирования. Тебя, экономиста, этому не учили, сразу видно.
Кабанчик рано или поздно поймёт, что его код сложно и дорого поддерживать, что багов много, в том числе и критических, что молодёжь не хочет ковыряться в его legacy-какашках за копейки, что конкуренты его обходят и могут увести всех клиентов в ближайшие годы. То есть рано или поздно кабанчик или закроет свой бизнес, или начнёт распиливать свой монолитище, обратит взор на новые подходы, далее начнёт модуль за модулем постепенно переписывать по-новому, "как у всех".
Речь шла о том, что legacy-код будет постепенно выбрасываться и переписываться. Где-то медленнее, где-то быстрее. Монолиты будут дробиться на модули и так далее. Ну а бизнесы кабанчиков не вечны. Кто-то обанкротится, кто-то новый появится. Новые проекты будут писаться по-новому.
TL;DR.
Прячьте хорошие-годные технологии от шизиков, юродивых гуманитариев и быдла. Так победим!
Ребята, кто из завсегдатаев привяжите почты к своему аккаунту. Можно ненужную. Я буду видеть кто-есть кто. И мамкиного фейкомета буду отправлять к его мамке на трассу.
Хорошая идея. Только нужно отключить плагин, который убирает поле email.
Короче, сеньёры, я правильно понял, в итоге всех хайпов в сухом остатке мы имеем снижение ЗП старших с 350 до 220, мидлов с 250 до 180, а джунов просят сразу на мидловые позиции от 120 ? И заспамленный откликами HH.ru. В остальном - нанимают и работают(ете) и никуда ничего не пропало.
... а в остальном, прекрасная маркиза, все хорошо, все хорошо! :)
Когда будешь через Я.Смену брать заказы, сразу поломойщиком иди. Это всего доходнее.
А это что за IT-стартап?
Согласен. Пришел я к бабе одной. Квартира - есть, в Евросоюзе - тоже есть, ноги от ушей, сиськи - есть, КМС по плаванию, ребенок тоже есть, весь район пытается ее трахнуть. Значит потанцевали. И тут через 4 года знакомства СМС: "я хочу отношений, мы же 4 года". Я, естественно, хотел написать, что хотеть могу я, а ты, шалава. Но культурно промолчал, и абанил. Будущее - беспощадно, господа. И только такие бояре, как ойтишнеги после курсов Хуяндекс в раздвинутый практикум, думают, что в тепленьком Тае на удаленке их никогда не отымеет в сраку обдолбанный транс.
Из будущего, в РФ не верю в долгие перспективы, особенно после гойды, может у глобальных элит есть план построить тут СССР 2.0, если нет, то коренное население заместится гостями с юга. В таком случае о высоких технологиях можно забыть.
Ну возьмём пример попроще. Без высоких материй. Чтобы всем было понятно.
Вот на этом ресурсе указывают на загонную жизнь современного программиста. Рассказывают про выгорания, про то как атмосфера галер этому способствует. Говорят правду, кстати.
Но вот я ещё в девяностых прочитал (и не на раз) книжку. Автор - Д.Карнеги. "Как перестать беспокоиться и начать жить". Что интересно, писалась она после второй мировой войны, а проблемы там описывались те же. Только были не программисты - а банковские служащие, клерки в страховых конторах и т.д. и т.п.
И было всё тоже самое - кобанчики пытались загрузить работой так, чтобы у сотрудника было много дел сразу и т.д. и т.п.
И в книжке рассказывается о реальных людях и о том, какие решения принимали люди чтобы нейтрализовать те или иные проблемы. И у них получалось !
Там, конечно, было не только это. Ещё там было (например) как люди умственного труда поддерживали высокую работоспособность даже в весьма зрелом возрасте. Я считаю что эта книжка - одна из самых лучших книжек в моей жизни.
Все секции по самбо-нямбо это конечно хорошо. Но каждый человек имеет гораздо больше шансов подхватить серьёзную болезнь по причине хронического стресса чем потерять кошелёк в подворотне.
Да собственно и фиг с тем кошельком - знаю истории когда программисты (не знакомые с этой книжкой) умирали в офисе, прямо за рабочим столом.
Инфаркт и инсульт в современном городе убивает чаще ножа.
Так что берегите себя !
Инфаркт и инсульт в современном городе убивает чаще ножа.
Так что берегите себя !
Да что вы такое говорите! Нас тут лечат что производство это вред и смерть, только в айти польза и жизнь!
Так говорят странные люди.
Для кого-то лучше на производстве, а для кого-то - в ИТ.
Знаю парня, он "с 14-ти лет на заводах". Так ему там нормально. Он просто не попадает куда не надо, а попадает куда ему надо :-)
И в офисе ему точно было бы хуже.
А мне было бы хуже на заводе. Это вроде спора что лучше - плавники или крылья :-)
p.s. Мне друзья рассказывали про 1С-ника с нашего города. Остался доделывать работу. Утром его нашли. Инфаркт. И возраст то еще "меньше 50-ти"...
Разработка софта — аттракцион для лохов, ярмарка тщеславия для нищих духом.
Ну, это ещё смотря какое производство. Есть места, где это утверждение действительно истинно. И я такие места видел лично.
Там СИЗ сотруднику не выдают? Куда смотрит прокуратура?
Фанаты айтишечки не в курсе, какие современные СИЗ для работяг продаются в магазинах. И не в курсе, что придумали для водителей. У них и дальнобойщики слепнут рано утром, когда солнце светит в глаза, и сварщики умирают от паров металлов, и плиточник встречает возраст Христа (33 года) с убитыми лёгкими хуже самого распоследнего курильщика.
Update. Ещё ядро moss перспективно:
https://github.com/hexagonal-sun/moss-kernel
Я вот просуммаризировал эту простыню и от себя скажу, что тут полный бред написан.
Ada/Spark - это что вообще такое? Оно живо?
Бекенд будет писаться на Go/Python как и сейчас.
С и С++ будут заменяться на Zig и Rust.
JVM и CLR реально могут в прошлое уйти, но вряд ли. Уж очень много всего на них написано. Питон точно не умрет.
Не, не парься. Всё критическое ПО пишут на надежном javascript индусы за 2$ в час. Хорошего перелета, кст, если будет.
https://another-it.ru/2025/06/14/the-future-is-merciless/#comment-51751
На этих языках останется legacy, которое будет постепенно переписываться. Модуль за модулем, микросервис за микросервисом
Зачем в бекенд разработку тащить Rust? Объективно сложный язык, где надо проталкивать свой код через borrow чекер, и при этом перфоманс на бекенде по сравнению с Go будет минимальным из-за расходов на IO. Чтение/запись в сокет, походы в БД - вот что боттлнечит производительность на бекенде.
В Расте крайне сложно (или, если правильно писать, то вообще невозможно) выстрелить себе в ногу. Особенно в асинхронном или многопоточном коде.
Раст в бэкэнде нужен не только ради "ещё плюс трёх процентов производительности по сравнению с Голангом", на которые можно было бы и болт положить, так как железо дешёвое. Он нужен для другого. Твои аргументы верны только для самых простых бэкэндов, где просто джейсон надо положить в базу. Но как только появляются сложности — кэши, очереди, стриминг, сложная stateful-логика, ограничения по памяти, особые требования к задержкам, кастомные протоколы, то боттлнэк будет не только в сокете, но и в надёжности и качестве кода. Что даёт Раст? Детерминированное поведение под максимально высокой нагрузкой 24/7/365 (надёжнее Раста будет лишь Elixir, а надёжнее Эликсира — дорогая формальная верификация), отсутствие сюрпризов от рантайма, полный контроль над памятью и всеми прочими ресурсами.
Боров-чекер отсекает туеву хучу багов сразу же, и, если софт очень сложный, то это экономит сотни человеко-часов дебага. Производительности боров-чекер не мешает. Кстати, ты пробовал сравнивать скорость сериализации и десериализации в Расте и Гошке? А сравнивал аллокацию, работу с кэшами, стримами, очередями? В Go подобный софт с годами либо обрастает костылями, либо в итоге переписывается на C/C++ уже с потерей безопасности.
Ещё учти, что мир движется от типичных REST-сервисов в сторону того, о чём был пост, который ты не читал, но осуждаешь: wasm, edge-вычисления, юникернелы ("взломали — да и ладно, хуй с ним"), сервисы без жирных рантаймов. То есть движется в сторону кода, который можно переносить, встраивать и переиспользовать.
В Расте крайне сложно (или, если правильно писать, то вообще невозможно) выстрелить себе в ногу. Особенно в асинхронном или многопоточном коде.
Раст в бэкэнде нужен не только ради "ещё плюс трёх процентов производительности по сравнению с Голангом", на которые можно было бы и болт положить, так как железо дешёвое. Он нужен для другого. Твои аргументы верны только для самых простых бэкэндов, где просто джейсон надо положить в базу. Но как только появляются сложности — кэши, очереди, стриминг, сложная stateful-логика, ограничения по памяти, особые требования к задержкам, кастомные протоколы, то боттлнэк будет не только в сокете, но и в надёжности и качестве кода. Что даёт Раст? Детерминированное поведение под максимально высокой нагрузкой 24/7/365 (надёжнее Раста будет лишь Elixir, а надёжнее Эликсира — дорогая формальная верификация), отсутствие сюрпризов от рантайма, полный контроль над памятью и всеми прочими ресурсами.
Боров-чекер отсекает туеву хучу багов сразу же, и, если софт очень сложный, то это экономит сотни человеко-часов дебага. Производительности боров-чекер не мешает. Кстати, ты пробовал сравнивать скорость сериализации и десериализации в Расте и Гошке? А сравнивал аллокацию, работу с кэшами, стримами, очередями? В Go подобный софт с годами либо обрастает костылями, либо в итоге переписывается на C/C++ уже с потерей безопасности.
Ещё учти, что мир движется от типичных REST-сервисов в сторону того, о чём был пост, который ты не читал, но осуждаешь: wasm, edge-вычисления, юникернелы ("взломали — да и ладно"), сервисы без жирных рантаймов. То есть движется в сторону кода, который можно переносить, встраивать и переиспользовать.
Вообще же если сравнить Голанг и Раст по-настоящему, а не через бэнчмарки "Передаём hello world через HTTP", то Go просто не конкурент. Rust архитектурно правильнее, чем Go, потому что он ничего не прячет и не встраивает фундаментальные ограничения в язык ради удобства новичков.
Go подразумевает cooperative-систему, которая маскируется под preemptive и расплачивается за это сложным и ненадёжным рантаймом и вообще непредсказуемым поведением под высокой нагрузкой. А Раст сразу честно говорит: вот где ты приостанавливаешься, вот где живёт твой стэйт, вот сколько ресурсов это стоит.
Вообще изначально одна goroutine могла тупо зависать в бесконечном цикле. Это потом уже туда постепенно добавляли проверки, сигналы, сканирование стека. То есть это кооперативная модель, обмазанная эвристиками, чтобы всё выглядело как preemptive. Итог: непредсказуемость поведения, работа бинарника зависит от того, как был написан код, и один плохо написанный цикл может убить производительность всего бинарника. Раст вообще не подразумевает никакого волшебного планировщика с магией внутри.
В Расте async — явное сохранение состояния, await — единственная точка, где есть уступка управления. Влепил бесконечный цикл? Сам виноват, и в коде это будет видно.
И правильно сделали разработчики Раста, решившие не внедрять в него зелёные потоки. В горутинах можно вызывать async из sync. Но минусы — динамический рост стека. Это требует GC, сканирования стека, патча указателей. Без GC будет фрагментация.
В Расте вместо горутин всё сделано через конечные автоматы (async). Плюсы: размер фиксирован, размер future известен на стадии компиляции, любые абстракции не жрут ресурсов, нет GC. Сохраняется только то, что пересекает await, а остальное живёт на стеке трэда. 100 тыс. тасков жрёт 6 гигов памяти. В Голанге такое возможно?
Минусы Раста: чуть сложнее писать и нельзя "просто вызвать async из sync". Да, это бывает сложно понять, я и сам мучился с этим:
https://another-it.ru/2025/11/30/two-paths-for-an-enterprise-software-developer/#comment-66235
Но я всё равно между Go и Rust выбираю всегда Rust. Потому что Go — Govno.
Полно таких проектов, написанных на Go. Я в общем-то сам одно время работал в видеостриминге и там все на Go было написано. Разве что транскодирование видео было на С++ сделано, так как там просто libav (читай - либа ffmpeg) вызывалась под капотом и это на С++ банально проще было писать.
В целом сейчас тренд на ship fast. Всем нужна высокая продуктивность, разрабов заставляют генерировать адовые объемы нейрослопа и пушить в прод как можно скорее, потому что конкуренты тоже нейрослоп пушат и нельзя от них отставать. И тут есть два мнения
А так сейчас сам учу Rust, хотя на работе пишу на Go. И на рынке Rust свою нишу так и не занял нормальную. Вижу его много в крипте, но за ее пределами почти не видно и не слышно, чтобы кто-то что-то на расте писал.
Да, "херак, херак и в продакшен" — это тренд. Ну так ведь код на Расте можно писать через claude code. Сам пользуюсь. Сутками над задачами не сижу. Кстати, Клод сам пишет все тесты, причём очень качественные. Благодаря боров-чекеру и линтеру мы сразу избавляемся от большого количества багов. Секрет успеха: cargo test + clippy + deny(warnings). То есть генерировать код на Расте надёжнее, чем на Голанге. Благодаря "Send + Sync" компилятор по сути сам код-ревью делает.
Нейронке похрен, на каком языке код генерировать. Ей даже условный миллиард примеров на этом языке не нужен, достаточно будет миллиарда примеров на других языках, кратких знаний по этому языку (описание языка, учебник, мануалы) и общих знаний по разработке софта (паттерны, "систем-дизайн").
В крупном проекте с высокими нагрузками на Go будут heisenbug’и, гонки, паузы GC в рандомных, неожиданных местах. То есть сервис может работать нормально, но, если нагрузка всего лишь удвоится, пойдут баги, которые ты будешь отлаживать неделями. В Голанге успешно скомпилируются и гонки, и зависшая горутина.
https://www.adacore.com/gnatpro-rust
И GNAT Pro для C и C++:
https://www.adacore.com/gnat-pro-for-c-c-plus-plus
То есть Адакор к Расту присматривается давно. Это очень серьёзный шаг. А вот Zig не нужен.
>Он и в ядре Linux давно есть.
Только Stable он стал неделю назад. Некоторые (больше 2-х) мейнтейнеры подсистем ядра отказываются работать с Rust и складывают с себя полномочия. В ядре Rust есть, но вот если копнуть чуть глубже то...
Да знаю я. Складывают полномочия? Ну такой "демарш" долго не продержится на переполненном программистами рынке труда. Богатые спонсоры разработки ядра уже давно приняли решение максимально внедрять Раст, причём не только в ядро, а в самые разные проекты. То есть оппозиционеров перевоспитают или выгонят на мороз.
Я не фанат раста (только недавно начал его изучать). Но как мне кажется лучше Rust в ядре, чем голая сишка. И претензии по поводу языка программирования имхо это несерьезно. Я еще понимаю сопротивляться тому, чтобы нейрослоповые патчи в ядро бездумно коммитить, имеет смысл, но воевать против нового языка программирования?
API под новый язык в ядре сами напишуся или нейросетка сделает? Сопровождать API на двух языках - Си и Rust будет легче чем на одном?
https://www.opennet.ru/opennews/art.shtml?num=64479
Ну и какое будущее ждёт Zig? Никакого!
>То есть это кооперативная модель, обмазанная эвристиками, чтобы всё выглядело как preemptive
Я в основном на Си, С++ и Rust пишу, но даже я знаю, что с определённой версии Golang в нём отошли от кооперативной в пользу вытесняющей многозадачности.
>В горутинах можно вызывать async из sync. Но минусы — динамический рост стека.
Нет, в минусах рост стека располагаемого в куче (Heap). Процы заточенны на стек растущий в сторону уменьшения адресов от начала адресного пространства ядра, процы имеют регистры для указания на дресное пространствос тека и т.д. и т.п. Стек в Golang и стек в Си/C++/Rust это совсем разные вещи. Сейчас например в процы внедрили новую технологию - Shadow stack, поскольку в Golang для горутин для стека используется куча то этот Shadow stack ничего не сможет предложить в плане безопасности. По сути стек в Golang для горутин это эмуляция стека через кучу, как и сами горутины эмуляция многопоточности (в C++ 20 такое же завезли, называется Coroutines).
Решение Golang по стеку может быть более экономно в плане памяти. Нужно проверять. Ядро выделяет фиксированный кусок стека (8 кб, или 4 кб если урезать лимиты, или вроде даже 16 кб на редких архитектурах) для нового потока/процесса, а вот у Golang оно может быть не фиксированно или сильно меньше 4 кб, например 1 кб, могу ошибаться.
>Это требует GC, сканирования стека, патча указателей. Без GC будет фрагментация.
Сканирования кучи, fixed.
>100 тыс. тасков жрёт 6 гигов памяти. В Голанге такое возможно?
Разрабы декларируют, что это не просто возможно, но и будет кратно если не на десятичный порядок потреблять меньше памяти, но практика показывает, что создать 10 тыс. горутин проблема, процесс крешится. Может в последний версиях пофиксили, я не проверял.
Нет, не отошли:
https://another-it.ru/2025/06/14/the-future-is-merciless/#comment-68107
OS-тред — это обычно около 8 мегабайт по умолчанию на Linux. Но можно поменять значение.
Ну да, правильно: стек горутины может расти динамически в куче. В Go действительно маленький начальный стек (примерно 2 килобайта на горутину), и он может динамически расти. Но Rust async экономнее по памяти, если сравнивать слабо нагруженные задачи без интенсивного использования стека. Потому что там несколько сотен байт на Future.
Rust async — без GC, при этом стоимость может возрастать при больших Future. Нет выделенного стека на задачу, стек не растёт динамически, а состояние сериализуется во Future. То есть в большинстве случаев потребление памяти предсказуемо. Тут главное во Future не класть слишком большие структуры или слишком сложные замыкания.
Go будет дороже по памяти на тысячи задач с маленьким стеком в сравнении с Rust async с минимальными Future.
То есть Раст выгоднее использовать.
Добавлю вот что. Начиная с какой-то там версии, в рантайм Голанга добавили асинхронную прерываемость горутины, но это не делает модель вытесняющей, как в тредах Linux kernel или Rust async. Потому что в Голанге нет гарантированной точки вытеснения в произвольной инструкции. Там прерывание возможно в безопасных точках (safe points), при проверках стека, при вызовах функций, через сигналы и раскрутку стека. То есть всё это — эвристики рантайма, а не свойство самого языка.
Если горутина крутится в tight loop без аллокаций, вызовов и проверок, то она может удерживать ядро в процессоре гораздо дольше ожидаемого (latency не гарантирована). Рантайм в Go уже и так жирный, но его продолжают постепенно обмазывать всё более и более сложной логикой.
Давай сравним с Rust async. Там вытеснение невозможно вне await, там точки приостановки явные, там состояние явно сериализуется во future, там общая стоимость видна сразу же в типах и размерах. В Go вытеснение — это побочный эффект работы рантайма. Программист не видит, где именно горутина может быть остановлена. Состояние размазано по стеку, который может расти, сканироваться и перемещаться, а корректность и производительность зависят от того, как написали планировщик и как написали сам код.
>Потому что в Голанге нет гарантированной точки вытеснения в произвольной инструкции.
Смотрел исходники планировщика Golang?
>Там прерывание возможно в безопасных точках (safe points), при проверках стека, при вызовах функций, через сигналы и раскрутку стека. То есть всё это — эвристики рантайма, а не свойство самого языка.
Чувак в Си/C++ тоже самое.
>То есть всё это — эвристики рантайма, а не свойство самого языка.
Это и не может быть свойсвом языка т.к. прерыванием занимается планировщик. Разница между Си и Golang только в том, что для Си работает планировщик ядра и соответственно для Си бинаря так же нет такого свойства языка, если этот бинарь запустить под OS с кооперативной многозадачностью, Win95 например, ничего само вытесняться не будет. Для Golang планировщик встроен в рантайм Golang.
Учи мат.часть.
Переформулирую. Я и не говорил, что прерывание сигналом является свойством языка. Я говорил о том, что модель приостановки и возобновления вычислений может быть либо явной, либо неявной. В Расте всё явное, в Гошке — неявное. В Rust async точка приостановки явно указывается через await, а в Go горутина может быть остановлена в разных местах, которые смузиголик не контролирует.
Меня ядро 95-й винды не интересует в данной дискуссии. Да и пример некорректный. Если ты запускаешь сишный бинарь под кооперативной ОСью, то это свойство среды исполнения, а не языка и не бинаря. В Go же кооперативность и эвристическая вытесняемость зашита вовнутрь самого рантайма, и от неё невозможно отказаться. Это не вытесняющая модель, а гибрид какой-то. Это эвристическая вытесняемость, реализованная в рантайме, а не полноценная вытесняющая модель.
Ты путаешь preemption на уровне ОСи и эвристики рантайма. Ты подменяешь гарантированное вытеснение эвристическим прерыванием, которое зависит от реализации рантайма и может не сработать в tight loop. Игнорируешь проблему latency и детерминизма в вычислениях. И называешь это фразой "тоже самое".
>Теоретически рантайм может прервать горутину через сигнал и раскрутку стека, но это не гарантирует остановку на конкретной инструкции.
Ипаааааать. Вот это пипец. Для тех кто не понял, этот чел вообще не в теме.
Что такое Async/Await? Это синтаксический сахар который который говорит, что вызов функции помеченной async должен вернуть future. Await говорит, что ждать/спать пока возвращённая future не будет готова и затем распаковать future и забрать этот результат. Что такое future это просто место в памяти с методом/функцией типа get(), в зависимости от реализации этот get() может быть потокобезопасен или нет.
В Golang тоже самое делают на каналах. Если запросить данные из канала <-ch то пока в канал не будет помещён результат горутина будет спать. Это абсолютное тоже самое только записано другим образом.
Ну и конечно же никакой раскрутки стека не происходит ни когда горутина спит на канале ни когда корутина спит на вызове await.
Дальше комментировать смысла нет, чувак профнепригоден.
Да это ты не в теме, я тебе уже объяснил:
https://another-it.ru/2025/06/14/the-future-is-merciless/#comment-68107
В Расте, когда ты вызываешь await, ты явно говоришь: "На этом месте я могу уступить управление executor'у". Всё остальное время код выполняется синхронно. Код выполняется в текущем executor'е до следующего await. Точки приостановки полностью явные и детерминированные. Future может быть продолжена в другом потоке, если executor многопоточный. Сам await не переносит future между потоками. Перенос возможен, только если executor это поддерживает (например, tokio с multi-threaded runtime). Future в single-threaded executor продолжится в том же потоке.
В Голанге "<-ch" действительно ставит горутину в ожидание, но это не совсем то же самое. Да, горутина спит, но рантайм может также эвристически прервать горутину в других местах, чтобы дать другим горутинам шанс на выполнение. Это работает только на safe points, которые чаще всего соответствуют вызовам функций, аллокациям. Это значит, что preemption в Голанге — гибридная, эвристическая модель, встроенная в рантайм, а не полностью детерминированная, как в Rust async.
Вытеснение может использовать сигнал и раскрутку стека, но не всякая раскрутка стека связана с вытеснением.
Когда горутина действительно ждёт на канале, никакой раскрутки стека нет — это просто блокировка. Но ключевой момент: гарантированного вытеснения на произвольной инструкции нет, и tight loop может жить долго без возможности быть прерванным рантаймом.
>Если горутина крутится в tight loop без аллокаций, вызовов и проверок, то она может удерживать ядро в процессоре гораздо дольше ожидаемого (latency не гарантирована).
В Си бинаре под Linux точно так же.
>Давай сравним с Rust async. Там вытеснение невозможно вне await, там точки приостановки явные, там состояние явно сериализуется во future
Я правильно понимаю, что ты и понятия не имеешь, что кроме этих по твоему явных точек прерывания планировщик ядра сам прерывает Rust поток и в других точках? Учи мат.часть.
Разница между Golang и Rust только в том, что в Golang свой планировщик.
Это некорректное сравнение. В Си (или Rust native thread) на Linux планировщик ядра действительно может прервать поток на любой инструкции. Но это preemption ядра, это не язык и не рантайм. В Go прерывание горутины происходит только в safe points, даже если рантайм сам использует сигналы и раскрутку стека. Если горутина в tight loop без аллокаций и вызовов, то рантайм Go её не прервёт, даже если планировщик ядра выделит этому OS-треду время на процессоре. В Rust async в том же случае, если речь идёт о single-threaded executor, результат будет таким же: ничего не остановится вне await.
Попытка сравнения с Си на Линуксе вводит в заблуждение, потому что там preemption делает ядро.
Далее. Да, в Rust native thread это так. Но есть нюансы:
В Rust async всё устроено вот так — executor вызывает poll на Future, именно это фактически выполняет приостановку/возобновление. Preemption не гарантируется, точки остановки известны в await.
В Голанге прерывает рантайм Голанга, preemption не гарантируется (только safe points), точки остановки неявны.
В Rust или треде Си в Линуксе прерывает планировщик ядра Линукс, preemption гарантируется, точка остановки - любая инструкция.
То есть в Rust async прерывание вне await невозможно, а в Go прерывание вне safe points тоже невозможно, несмотря на всё, что было добавлено в рантайм когда-то ранее. Kernel preemption в Rust native thread и Си — это совсем другой уровень. Сравнивать его с рантаймом Go абсолютно некорректно. Ты упорно зачем-то пытаешься ввести меня и всех читателей комментов в заблуждение. Ты как задрот-гейткипер, который собеседует на 10-этапных собеседованиях. Узнаю я вашу породу за километр. Душнила занудный.
И ещё раз, разница принципиальная. Может, тебе поможет.
В Rust async: точки приостановки явные, состояние сериализуется во Future, стоимость очевидна заранее.
В Go: точки приостановки неявные, стек управляется рантаймом и может расти/копироваться/сканироваться, стоимость выполнения и потенциальное использование памяти не очевидны заранее, latency не гарантируется.
Ещё разок. Даже если Go имеет свой планировщик, это не делает его вытесняющей моделью в полном смысле, это эвристика рантайма.
>В Go прерывание горутины происходит только в safe points, даже если рантайм сам использует сигналы и раскрутку стека.
Тебе уже несколько раз привели пример, что Golang прерывает горутину и там где хочет программист - при чтении из канала, а не только в safe points. Не можешь прочитать написанное или понять прочитанное? В чём проблема?
Более того, никакой раскрутки стека не существует, есть скрутка стека, по английски пишется так - stack unwinding. Учи мат.часть.
У Гоголя было вот такое.
Страшную муку, видно, терпел он. «Душно мне! душно!» — простонал он диким, нечеловечьим голосом. Голос его, будто нож, царапал сердце, и мертвец вдруг ушел под землю.
Так вот, ты - душнила или тролль, или действительно не врубаешься в то, что я тебе написал:
https://another-it.ru/2025/06/14/the-future-is-merciless/#comment-68120
Да, когда горутина блокируется на <-ch , она фактически приостанавливается. Но это кооперативная приостановка, встроенная в рантайм. Голанг не гарантирует, что произвольный tight loop без вызовов функций или аллокаций будет прерван. Safe points — это места, где рантайм может безопасно приостановить горутину для эвристического вытеснения. К ним относятся аллокации, вызовы функций и некоторые внутренние проверки стека. Блокировки на канале или time.Sleep — это точки кооперативной приостановки, реализованные в рантайме. Горутину на этих вызовах рантайм ставит в ожидание, освобождая OS-тред для других горутин.
В Go для увеличения стека используется то, что называется терминами stack growth / stack copying, а не stack unwinding. А unwinding, который обычно называют именно словом "раскрутка", применяется для другого.
Эти вещи не связаны с обычным планировщиком горутин и не влияют на эвристическое вытеснение.
>Программист не видит, где именно горутина может быть остановлена. Состояние размазано по стеку, который может расти, сканироваться и перемещаться, а корректность и производительность зависят от того, как написали планировщик и как написали сам код.
Вопрос, а код который работает с Async/Await он работает в рамках одного потока? Ведь если в рамках одного потока то разницы между горутинами и Rust Async/Await нету, в голанг можно так же передать управление другой горутине просто "заснув" на канале. Это будет равнозначно вызову Future::get();
Не совсем так. Засыпание на канале не равно "Future::get()".
В Расте Future исполняется в рамках executor, который может быть single-threaded или multi-threaded. Приостановка всегда явная, только на await. Код между await выполняется синхронно, никто его не прерывает. Executor сам решает, когда вызвать poll для следующего future. Управление передаётся только там, где явно указан await. Даже в single-threaded executor каждая задача исполняется по частям, всё строго контролируется, и состояние сериализуется во Future.
В Голанге горутину может прервать рантайм на safe points (это аллокация, вызов функции, внутренние проверки). Важно: safe points не всегда совпадают с вызовами каналов! То есть tight loop без вызова функций или аллокаций может выполняться непрерывно. Рантайм может перераспределять OS-треды между горутинами, увеличивать стек и сканировать его. Состояние программы размазано по стеку/куче.
Да, и Rust async, и Go <-ch позволяют передать управление другой задаче/горутине, но в Go вытеснение неявное и эвристическое, а в Rust async — явное и детерминированное. Это принципиально важно для latency и предсказуемости исполнения, и этого нет в Голанге.
Ну раз мой пост исчез, продублирую его:
>То есть это кооперативная модель, обмазанная эвристиками, чтобы всё выглядело как preemptive
Я в основном на Си, С++ и Rust пишу, но даже я знаю, что с определённой версии Golang в нём отошли от кооперативной в пользу вытесняющей многозадачности.
>В горутинах можно вызывать async из sync. Но минусы — динамический рост стека.
Нет, в минусах рост стека располагаемого в куче (Heap). Процы заточенны на стек растущий в сторону уменьшения адресов от начала адресного пространства ядра, процы имеют регистры для указания на дресное пространствос тека и т.д. и т.п. Стек в Golang и стек в Си/C++/Rust это совсем разные вещи. Сейчас например в процы внедрили новую технологию - Shadow stack, поскольку в Golang для горутин для стека используется куча то этот Shadow stack ничего не сможет предложить в плане безопасности. По сути стек в Golang для горутин это эмуляция стека через кучу, как и сами горутины эмуляция многопоточности (в C++ 20 такое же завезли, называется Coroutines).
Решение Golang по стеку может быть более экономно в плане памяти. Нужно проверять. Ядро выделяет фиксированный кусок стека (8 кб, или 4 кб если урезать лимиты, или вроде даже 16 кб на редких архитектурах) для нового потока/процесса, а вот у Golang оно может быть не фиксированно или сильно меньше 4 кб, например 1 кб, могу ошибаться.
>Это требует GC, сканирования стека, патча указателей. Без GC будет фрагментация.
Сканирования кучи, fixed.
>100 тыс. тасков жрёт 6 гигов памяти. В Голанге такое возможно?
Разрабы декларируют, что это не просто возможно, но и будет кратно если не на десятичный порядок потреблять меньше памяти, но практика показывает, что создать 10 тыс. горутин проблема, процесс крешится. Может в последний версиях пофиксили, я не проверял.
Ответил тут:
https://another-it.ru/2025/06/14/the-future-is-merciless/#comment-68116
На го просто проще писать код. Разработчик прочел го-тур и все, может идти писать и читать коды. В раст порог вхождения выше. И для большинства проектов как будто те возможности, которые раст предоставляет, не особо-то и нужны. Всякие супер производительные вещи, где нужен минимальный оверхед и полный контроль происходящего - там да, можно и раст затащить.
Всякий обычный бекенд с энтерпрайзной бизнес логикой - Go имхо лучше подходит под эти задачи. Вот платежные шлюзы всякие, маркетплейсы, доски объявлений, сервисы доставки еды - там лучше Go имхо. Я в общем-то прямо сейчас вижу, как много легаси с питона/пхп/джавы частично на Go переводят. И в России, и в Европе, и в Америке и Австралии. Даже самое дремучее европейское легаси, которое никто не трогал десятилетиями, сейчас начали тормошить, потому что много чего было написано в 90е годы в эпоху дискет, win3.1, win95, win98 и это "много чего" банально полностью устарело и больше не отвечает современным реалиям и банально перестало выполнять свои бизнес-задачи, ради которых этот софт и писали в 90е годы.
И в обычных задачах тоже есть интересные и сложные вещи. Особенно все, что касается задач синхронизации и consistency в распределенных системах. Тот же движок Temporal не на ровном месте появился, а потому что есть запрос на durable execution чтобы разрабам не приходилось самим писать оркестрации саг и двухфазные коммиты, потому что это банально тяжело... Не всем же писать юникернелы и
Раст лучше подходит, писал уже тут:
https://another-it.ru/2025/06/14/the-future-is-merciless/#comment-68072
Если LLM запилила все таски, написала все тесты на любой случай жизни, сделала код-ревью, глянула в линтер и выхлоп компилятора, то, скорее всего, багов в коде не будет ни сейчас, ни через полгода, когда нагрузка на сервис вырастет. А ещё в Раст со временем будут добавлять разные штучки из формальной верификации. Постепенно. И это тоже можно будет делать нейронкой как ещё один слой проверок.
https://elixirforum.com/t/durable-workflow-execution-temporal-alternative-for-elixir/69952
Если так подумать, то для возобновления выполнения после полного отключения всей системы можно использовать Commanded, EventStore, GenServer / GenStateMachine. Для потоковой обработки событий - Broadway:
https://github.com/dashbitco/broadway
Проблевался с этого нарциссизма. В общем, по данному тексту вполне понятно, почему люди не любят айтишников, почему таких персонажей буллят в школах и армии и презирают любые женщины, даже заплывшие жиром 40-летние РСП. Интересно, что бы на такой пост сказал профессиональный психолог вроде Вероники Степановой.
Про кланы повесилило, конечно.
А наиболее вероятное будущее больше всего описывает игра Fallout и фильм "Безумный Макс", а не киберпанковские фантазии наркоманов (американский быдложанр для умственно отсталых, аналог российских впопуданцев и британского фэнтези).
Её психология — не наука, а ремесло. Инфоцыганский нарратив с ценником за час.