Я сам лично писал на asm ещё 3 года назад, но я был такой один на всю компанию в 1500 человек. Ну, позже мне выдали ещё джуна и нас стало двое) Но в итоге вы вернулись к интринсикам, т.к. поддержка asm слишком неудобна оказалась.
И я пока не вижу зачем эти 5% продолжают писать на asm)
Я не припомню где бы си не справился) В этом мире даже самая распоследняя ручка имеет компилятор на Си)
Я помнится какой-то температурный датчик программировал, у него даже ассемблера не было, а компилятор на Си был) Компилировал он сразу в unsigned char массив, который ты хоть азбукой морзе загоняй по SPI внутрь этого контроллера)
Есть ровно один правильный путь - два телефона. Один для государства, другой для повседневных дел. Всё остальное полная фигня. Следующее же обновление следящего приложения найдет ещё какую-нибудь лазейку и вся информация об используемом VPN скомпроментирована.
Оберни циклы в лямбду и получишь ленивые вычисления) Буквально ценой пары скобочек)
Только в отличие от ranges, лямбду можно прикопать в std::function на всякий случай, если хочется. Как прикопать шаблонное месиво, которое плодят ranges - я не знаю)
Не нужно сеть, не нужны парсеры, это вещи пользовательского домена.
Именно поэтому они есть в стандартной библиотеке... Вообще любого языка?)
Пакетных менеджеров хоть попой жуй
Пакетный менеджер один другого хуже) Хотя практически любой современный язык идёт комплектом с тулингом. "Жопой жуй" - это самый плохой сценарий. Это значит, что при смене места работы, заново учить очередные сборочные костыли. А это значит, что при необходимости добавить библиотеку снова придется приседать, склеивая ежа с ужом. Надоело.
Впрочем, зная комитет - соглашусь. Им такую задачу доверять нельзя. Сделают говно.
оставь рынку решить
С++ уже сколько лет? Ну даже если отсчитывать от первого стандарта - уже 28 лет. Нихрена рынок не может, это мы уже поняли)
Переносимые бинарники (можно запустить свою программу у друга)
Позволяет достаточно легко прыгнуть в Си, для желающих копаться "в кишочках", т.к. синтаксически похож, компилируемый и в целом есть unsafe, через который можно сделать "первое прикосновение"
Минусы конечно тоже есть, но по-моему неплохой кандидат.
Да не так, чтобы "хватает". Просто на текущий момент физически доступ быстрее не сделать к объёмам памяти больше, чем то, что есть.
Полно сценариев, где объем кэша недостаточен и хотелось бы побольше, просто ну вот никак. Увеличивая объем - приходится увеличивать скорость доступа и в какой-то момент достигается паритет между кэшом и RAM)
Compile time рефлексия С++26 не имеет ничего общего с рантайм рефлексией UE.
Первая нужна для генерации кода во время компиляции и обход полей класса "по порядку" не зная ничего о самом классе. Вторая для создания объектов "на лету" по их строковому описанию.
С++26 рефлексия полезна для замены сишных макросов и всякой ерунды, вроде обобщенного кода для сериализации/десериализации.
Абсолютно бессмысленно в рантайме, ведь после компиляции сгенерированные типы точно также ничего о себе не знают в рантайме.
Я сам лично писал на asm ещё 3 года назад, но я был такой один на всю компанию в 1500 человек. Ну, позже мне выдали ещё джуна и нас стало двое) Но в итоге вы вернулись к интринсикам, т.к. поддержка asm слишком неудобна оказалась.
И я пока не вижу зачем эти 5% продолжают писать на asm)
Я не спорю, что всегда есть такое местечко, где ну вот вообще никак, хоть убей, но 300 строчек на асме надо написать)
Но сколько таких мест? И сколько надо программистов для них? И не справится ли LLM с этой задачей?)
Вопросы для меня не имеющие очевидного ответа, я просто не живу в мире настолько низкоуровневого программирования и не знаю никого, кто бы жил
Я не припомню где бы си не справился) В этом мире даже самая распоследняя ручка имеет компилятор на Си)
Я помнится какой-то температурный датчик программировал, у него даже ассемблера не было, а компилятор на Си был) Компилировал он сразу в unsigned char массив, который ты хоть азбукой морзе загоняй по SPI внутрь этого контроллера)
Но сколько нужно программистов для этого дела? 300 человек на весь мир?)
Есть ровно один правильный путь - два телефона. Один для государства, другой для повседневных дел. Всё остальное полная фигня. Следующее же обновление следящего приложения найдет ещё какую-нибудь лазейку и вся информация об используемом VPN скомпроментирована.
Да вполне обходятся. Практически все драйвера в Linux написаны на Си, без всяких ассемблерных вставок.
asm более или менее оправдан в крипте, да и то, на нем там не пишут, а прячут за кодогенерацией и/или макросами.
10 ms - это довольно много. За это время можно прилично трафика обработать)
Это не так, если ядра изолировать
Получится Rust) Ну, почти)
Да?
Но... Всё тоже самое можно сделать просто на композиции функций)
Оберни циклы в лямбду и получишь ленивые вычисления) Буквально ценой пары скобочек)
Только в отличие от ranges, лямбду можно прикопать в std::function на всякий случай, если хочется. Как прикопать шаблонное месиво, которое плодят ranges - я не знаю)
Именно поэтому они есть в стандартной библиотеке... Вообще любого языка?)
Пакетный менеджер один другого хуже) Хотя практически любой современный язык идёт комплектом с тулингом. "Жопой жуй" - это самый плохой сценарий. Это значит, что при смене места работы, заново учить очередные сборочные костыли. А это значит, что при необходимости добавить библиотеку снова придется приседать, склеивая ежа с ужом. Надоело.
Впрочем, зная комитет - соглашусь. Им такую задачу доверять нельзя. Сделают говно.
С++ уже сколько лет? Ну даже если отсчитывать от первого стандарта - уже 28 лет. Нихрена рынок не может, это мы уже поняли)
Добавить сеть
Добавить приличные парсеры популярных текстовых форматов
Выкинуть всё говно, которое наворотили со строками и сделать по-человечески. Заколебало везде за собой таскать ICU.
Запретить устаревший синтаксис (хоть те же "эпохи" ввести)
Стандартизировать ABI
Хочется стандартный пакетный менеджер
Интрузивные контейнеры
Стандартизировать отключение исключений
Но в целом, С++ уже ничего не поможет) Он слишком многословный и хрупкий) Его придётся любить таким, какой он есть
От ответа теперь только больше вопросов:)
По какой памяти? Что значит "проезд"? Зачем мне вообще ranges, если они такое говно?)
А проблема-то в чём?)
Чем плох go для старта обучения?
Он относительно простой.
Достаточно низкоуровневый если захотеть
Используется в реальной жизни
Богатый тулинг для дальнейшего развития
Переносимые бинарники (можно запустить свою программу у друга)
Позволяет достаточно легко прыгнуть в Си, для желающих копаться "в кишочках", т.к. синтаксически похож, компилируемый и в целом есть unsafe, через который можно сделать "первое прикосновение"
Минусы конечно тоже есть, но по-моему неплохой кандидат.
Microsoft нынче разрабатывает PowerToys. Это эдакий швейцарский нож из ништяков, без которых мне уже и винда - не винда. Там есть аналог unlocker
Да не так, чтобы "хватает". Просто на текущий момент физически доступ быстрее не сделать к объёмам памяти больше, чем то, что есть.
Полно сценариев, где объем кэша недостаточен и хотелось бы побольше, просто ну вот никак. Увеличивая объем - приходится увеличивать скорость доступа и в какой-то момент достигается паритет между кэшом и RAM)
Compile time рефлексия С++26 не имеет ничего общего с рантайм рефлексией UE.
Первая нужна для генерации кода во время компиляции и обход полей класса "по порядку" не зная ничего о самом классе. Вторая для создания объектов "на лету" по их строковому описанию.
С++26 рефлексия полезна для замены сишных макросов и всякой ерунды, вроде обобщенного кода для сериализации/десериализации.
Абсолютно бессмысленно в рантайме, ведь после компиляции сгенерированные типы точно также ничего о себе не знают в рантайме.