16151
По всем вопросам- @haarrp @itchannels_telegram - 🔥 best it channels РКН: clck.ru/3FmxJF
⚡ C породил всё: как один язык стал отцом C++, Java, Rust, Go, Swift и Zig
Daniel Lemire, эксперт по производительности софта из топ-2% ученых мира (по рейтингу Stanford/Elsevier 2025) и топ-1000 разработчиков на GitHub, опубликовал статью про эволюцию языков программирования семейства C. Разбираем ключевые тезисы.
Всё началось с трех языков: Fortran (1957), Pascal (1970) и C (1972). Fortran создавался для числодробилки и научных расчетов. Pascal намеренно ограничивал низкоуровневый доступ, потому что задумывался как учебный язык для структурного программирования. А вот C победил именно потому, что позволял работать с указателями, прямым доступом к памяти и при этом оставался достаточно универсальным для системной разработки вроде Unix.
В 80-е и 90-е объектно-ориентированное программирование стало чем-то вроде религии. Lemire прямо пишет: это превратилось в секту. Но C не был объектно-ориентированным. Так появился C++, который начинался как «C with Classes». C++ принес шаблоны, обобщенное программирование и метапрограммирование на этапе компиляции. Это сделало язык мощным, но и сложным для освоения (с безумными сообщениями об ошибках).
Показываю как профессионально работать с Claude и другими ИИ у себя в телеге! И зеркало Max, если тг не работает(
C и C++ стали дико успешными, но писать кроссплатформенные приложения было больно. Приходилось целиться в Windows или конкретный Unix. Это было проблемой для Sun Microsystems, которая продавала Unix-машины и хотела конкурировать с Microsoft.
Так в 1995 году появилась Java. Безопасная, портативная альтернатива C++: без арифметики указателей, с обязательной сборкой мусора, проверкой границ массивов и виртуальной машиной (JVM) с JIT-компиляцией для производительности. Обещание «write once, run anywhere» напрямую закрывало боль портируемости C/C++. До сих пор Java остается сильным решением для enterprise и серверного кода.
В том же 1995-м появился JavaScript, который, несмотря на название, семантически почти ничего общего с Java не имеет. Lemire считает, что его лучше рассматривать отдельно от ветки C/C++. Python тоже стоит особняком.
Microsoft в 2000 году выкатила C#. Синтаксически он из того же семейства, что C++ и Java, но с поддержкой AOT-компиляции в современном .NET и возможностью работать с указателями в явно помеченных unsafe-блоках. По сути, C# можно назвать «C++ со сборкой мусора». Он даже конкурирует с C++ в геймдеве благодаря Unity.
Google создал Go как упрощенный современный C: со сборкой мусора, встроенной проверкой границ для слайсов и массивов, с указателями, но без произвольной арифметики в безопасном коде (пакет unsafe существует для низкоуровневых нужд).
Apple ответила Swift. Производительность и цели синтаксиса как у C++, но с современными фичами безопасности (проверка границ по умолчанию, паника при переполнении целых чисел в debug-режиме) и автоматическим подсчетом ссылок (ARC) для управления памятью. Swift заменил Objective-C, но Lemire рассматривает его как наследника C++.
Примерно тогда же появились Rust и Zig. Rust, как и Swift, отказался от поколенческой сборки мусора из Java, C# и Go. Вместо этого он полагается на систему владения и заимствования на этапе компиляции, с компромиссом: через циклические ссылки можно допустить утечку памяти. Zig делает работу с памятью полностью явной.
Интересный тезис Lemire: Rust и Zig правильнее считать потомками C, а не C++. Оба, конечно, намного мощнее C, но по духу они именно C-подобные языки.
Доминирующими языками для перформанс-критичных, системных, enterprise- и инфраструктурных задач до сих пор остаются C, C++, Java и C#. По эффекту Линди (чем дольше что-то существует, тем дольше оно, вероятно, просуществует), эти языки, особенно C, которому уже больше 50 лет, будут с нами еще очень долго.
https://vc.ru/dev/2860450-yazyk-c-i-vliyanie-na-c-java-rust-go-swift-i-zig
Алгоритмы - это не только про собеседования
Это способ прокачивать мышление: работать со сложностью, находить неочевидные решения и держать форму. А еще один из шансов попасть на конференцию Day&Night* Городских сервисов Яндекса, которая пройдет 18 апреля в Москве.
Решайте задачу от Ильи Царева, руководителя разработки Яндекс Go, до 12.00 11 апреля.
Решаешь правильно - получаешь шанс попасть на конференцию Day&Night* и выиграть другие призы.
А что будет на конференции?
Доклады про технологии и архитектуру
Реальные кейсы применения ИИ, бэкенда и мобильной разработки в Городских сервисах Яндекса. И живое общение с людьми, которые это все делают в формате камерных клубов.
Попасть можно по классике через заявку. А можно через задачи.
Выбирай свой способ 🙂
*День и Ночь
📱 C++/Qt/QML разработчик в команду Mobile Android
— делаешь UI и механику приложения
— 20 млн пользователей каждый день
— C++20 + Qt + QML + 3D-карта
— многопоточность и продуктовая разработка
🧠 C++ разработчик в команду алгоритмов Поиска
— разрабатываешь движок поиска 2ГИС
— алгоритмы, структуры данных, архитектура
— влияние на качество поиска для миллионов
— производительность, память, ML-модели
Обе роли:
— удалёнка
— сильные команды
— сложные задачи
👉 Другие инженерные инсайты от 2ГИС → в Telegram-канале RnD
ffead-cpp
ffead-cpp — это веб-фреймворк, фреймворк приложений и набор утилит, объединенные в один пакет. Он также предоставляет встроенное ядро сервера, совместимое с HTTP/HTT2/Web-Socket.
#для_продвинутых
🎲 Высокопроизводительная генерация случайных чисел с Zorro
Zorro - это библиотека для генерации случайных чисел на основе xoshiro256++, поддерживающая автоматическую SIMD-диспетчеризацию. Просто добавьте один заголовочный файл в проект и получите доступ к высокопроизводительным генераторам для различных распределений.
🚀Основные моменты:
- Поддержка uniform, normal, exponential и Bernoulli распределений.
- Автоматический выбор SIMD на этапе компиляции.
- Высокая производительность: до 3900 M/s для uniform генерации.
- Легкая интеграция с существующими проектами через один заголовок.
📌 GitHub: https://github.com/bobjansen/Zorro
libPhenom
libPhenom — это фреймворк событий, разработанный Facebook для создания высокопроизводительных и масштабируемых систем на C++. Он обеспечивает простой и эффективный способ публикации и подписки на события, а также маршрутизации событий между различными компонентами системы.
#для_продвинутых
🚀 GSD 2: Новый уровень автоматизации разработки
GSD 2 — это эволюция инструмента Get Shit Done, превращенная в полноценный CLI-агент. Он управляет процессами разработки, обеспечивая контроль контекста, автоматизацию задач и восстановление после сбоев. С GSD 2 вы можете просто запустить команду и вернуться к готовому проекту с чистой историей git.
🚀 Основные моменты:
- Автоматическое управление задачами с чистым контекстом.
- Восстановление после сбоев и отслеживание затрат.
- Программное управление ветками git и диагностика зависаний.
- Интеграция с Pi SDK для прямого доступа к агенту.
- Упрощенная миграция из предыдущей версии.
📌 GitHub: https://github.com/gsd-build/gsd-2
#typescript
🌟 Быстрая библиотека JSON: Glaze
Glaze — это одна из самых быстрых библиотек для работы с JSON и другими форматами, обеспечивающая высокую производительность и простоту интерфейса. Она поддерживает множество форматов, включая JSON, CBOR, YAML и другие, с акцентом на компиляцию времени и рефлексию.
🚀Основные моменты:
- Поддержка C++23 и C++26 с рефлексией для удобной работы с данными
- Высокая производительность: быстрая сериализация и десериализация
- Заголовочная библиотека без зависимости от RTTI и исключений
- Совместимость с современными компиляторами и стандартами
📌 GitHub: https://github.com/stephenberry/glaze
#cpp
🌍🚀 Эффективная библиотека для работы с часовыми поясами
vtz предлагает высокую производительность и простой API для обработки временных данных. Она значительно быстрее конкурентов, обеспечивая до 60 раз более быстрые преобразования часовых поясов и парсинг временных меток, что делает её идеальным выбором для приложений с высокими требованиями к скорости и масштабируемости.
🚀Основные моменты:
- 30-60x быстрее преобразования часовых поясов.
- Эффективный алгоритм с блочной таблицей для быстрого поиска.
- Совместимость с std::chrono::time_zone.
- Оптимизирована для работы с большими объемами данных.
📌 GitHub: https://github.com/voladynamics/vtz
#cpp
> Linux — на C
> Git — на C
> интерпретатор Python (CPython) — на C
> интерпретатор Ruby (MRI) — на C
> PostgreSQL — на C
> SQLite — на C
> Redis — на C
> GTA 5 — на C++
> MySQL — на C++
> MongoDB — на C++
> Unreal Engine — на C++
> Chrome — на C++
> Firefox — на C++
> ядро Windows — на C
> ядро macOS (XNU) — на C
> Photoshop — на C++
> VMware — на C++
> TensorFlow (ядро) — на C++
• Всё ещё не уверен нужно ли учить C и C++?
🧩 Легкий IoC контейнер для C++17
Genode.IoC — это компактный и простой в использовании контейнер внедрения зависимостей для C++17. Он не требует базовых классов или интерфейсов, что делает его идеальным для легковесных проектов. Автоматическое создание объектов и управление временем жизни упрощают интеграцию.
🚀 Основные моменты:
- Одно заголовочное файл.
- Автоматическое разрешение зависимостей.
- Минимальная конфигурация и управление временем жизни.
- Поддержка синглтонов и локальных экземпляров.
- Легкая интеграция в проекты.
📌 GitHub: https://github.com/SirusDoma/Genode.IoC
#cpp
🚀 Высокопроизводительный парсер FastParseX
FastParseX — это высокопроизводительный парсер на C++ для CSV, логов и бинарных данных. Он обеспечивает максимальную пропускную способность и минимальные накладные расходы, идеально подходя для работы с данными в реальном времени.
🚀Основные моменты:
- Поддержка параллельного парсинга и многопоточности
- Встроенная профилировка и статистика по колонкам
- Экспорт в Arrow и Parquet (Pro версия)
- Оптимизированные модули для высокой производительности
- Поддержка сжатия (gzip, xz, zstd)
📌 GitHub: https://github.com/FastParseX-dev/FastParseX
#cpp
🔥Приглашаем на открытый урок “Автономная сеть на ESP32: STA, AP, MESH без роутера” курса “Embedded Developer”. Открыта регистрация
📅 19 марта | 20:00 мск | бесплатно
🎓 На вебинаре разберем:
– Wi-Fi на ESP32: STA/AP + скрытые фичи ESP-IDF 5.5
– ESP-NOW: когда и как использовать вместо обычного Wi-Fi
– Mesh-сеть без роутера: Espressif Mesh Framework, топология и реализация
– Передача данных и управление в автономной сети
💡 Для кого: Разработчики C/C++, схемотехники и энтузиасты IoT/робототехники с опытом микроконтроллеров
✅ После вебинара:
– Настроите Wi-Fi и ESP-NOW
– Построите mesh-сеть без внешнего роутера
– Получите готовые приёмы для автономных устройств
👉 Зарегистрироваться: https://otus.pw/66W1/?erid=2W5zFJKcXeq
Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963.
🚀 Ультрабыстрый алгоритм сортировки JesseSort
JesseSort использует два вставочных этапа Patience Sort с последующим слиянием, обеспечивая высокую производительность на реальных данных. Алгоритм достигает времени O(n) при наличии естественных последовательностей, что делает его эффективным для различных типов входных данных.
🚀 Основные моменты:
- Быстрее стандартных сортировок на отсортированных входах
- Поддерживает адаптивное поведение для реальных данных
- Использует два этапа вставки и слияния
- Активно развивается, с возможными улучшениями в будущем
📌 GitHub: https://github.com/lewj85/jessesort
#cpp
Языки программирования и известные игры, созданные на них
• 🎮 GTA: Vice City - C++
• 🎮 GTA V - C++
• 🎮 GTA VI - C++
• ⛏️ Minecraft (Java Ed.) - Java
• 🧱 Minecraft (Bedrock) - C++
• 🔥 Fortnite - C++, Verse
• 🎯 PUBG: Battlegrounds - C++
• 📱 PUBG Mobile - C++
• 💣 Call of Duty: Warzone - C++
• 🧙 League of Legends - C++, Lua
• ⚔️ Dota 2 - C++, Lua
• 🔫 Counter-Strike 2 - C++
• 🪂 Apex Legends - C++
• 🎯 Valorant - C++
• 🟦 Roblox - C++, Luau
• 🌌 Genshin Impact - C#, C++
• 🍬 Candy Crush Saga - C++
• 🏰 Clash of Clans - C++
• 🔥 Free Fire - C#, C++
• 👨🚀 Among Us - C#
• 🚇 Subway Surfers - C#
• ⚡ Pokémon GO - C#
oneDNN
oneDNN — это высокопроизводительная библиотека с открытым исходным кодом, предназначенная для оптимизации машинного обучения и приложений глубокого обучения.
https://github.com/oneapi-src/oneDNN
Data-Parallel Types: алгоритмы (C++26)
Библиотека «data-parallel types» для SIMD-векторов (пространство имён std::experimental, алиас stdx) предоставляет четыре специальных алгоритма: `min, max, minmax и clamp. min, max, minmax
- min(a, b) и max(a, b) принимают два SIMD-вектора и возвращают вектор покомпонентных минимумов/максимумов.
- minmax(a, b) возвращает пару SIMD-векторов: первый — покомпонентные минимумы, второй — максимумы.
- Автор отмечает, что строка stdx::minmax(a, b) у него не компилировалась ни в GCC, ни в Clang (на момент публикации). clamp
- stdx::clamp(v, lo, hi) применяет std::clamp к каждому элементу SIMD-вектора: значения ниже lo поднимаются до нижней границы, выше hi — опускаются до верхней.
- Показаны два примера: ограничение к диапазону INT8_MIN..INT8_MAX и к 0..UINT8_MAX; на выводах видно, как выходящие за пределы элементы прижимаются к границам.
Итог
- Для SIMD-векторов доступны привычные «минимумы/максимумы» и покомпонентный clamp.
- minmax задуман как удобный возврат пары (min/max), но в текущих компиляторах может не собираться.
- Дальше автор планирует разбирать новые возможности C++26 (в частности, контракты).
https://www.modernescpp.com/index.php/data-parallel-types-algorithms/
#cpp #programming
⚡️ Хочешь собрать GPU с нуля - вот настоящий появился симулятор Mvidia
Нашли для вас сайт, где можно пройти весь путь железа руками. Без теории ради теории, а через интерактив.
• Начинаешь с базы
движение электронов, транзисторы, логика
• Дальше собираешь уровни выше
логические схемы, ALU, простой процессор
• До GPU ещё не дошли
блоки про шейдеры и графику пока в разработке, но фундамент уже есть
На Hacker News проект активно хвалят, особенно за подачу и понятную прогрессию
Хороший способ наконец понять, как всё это реально устроено под капотом, а не на уровне абстракций
Сначала проходишь симулятор потом уже думаешь, как построить Nvidia 2.0
https://jaso1024.com/mvidia/
Компилятор для языка Си, написанный на Shell
Александр Гомес Гайгалас (Alexandre Gomes Gaigalas), автор библиотеки coral для создания переносимых shell-скриптов, опубликовал C89cc.sh, компилятор для языка Си, написанный целиком на Shell. Компилятор поддерживает стандарт C89 и может генерировать исполняемые файлы в формате ELF64 для систем x86-64. Код содержит около восьми тысяч строк и открыт под лицензией ISC.
Подробнее:
https://opennet.ru/65133/
https://opennet.me/65133/
Яндекс ищет начинающих и опытных разработчиков
Работать в Яндексе — это синтезировать науку и бизнес, создавать полезные продукты для миллионов пользователей. Участвуйте в Week Offer Backend* и получите офер за неделю.
Сейчас нам нужны:
🟢Бэкенд-разработчики с опытом на C++, Python, Java/Kotlin, Go** от 4 лет.
🟢Стажёры-разработчики, с базой по алгоритмам и структурам данных, навыком кодинга на C++, Python, Java/Kotlin, Go**.
Участвуйте в быстром наймовом мероприятии, чтобы пройти все собеседования и получить офер или приглашение на оплачиваемую стажировку.
Даты мероприятия:
🟢 11–17 апреля — для опытных бэкендеров.
🟢 13–17 апреля — для стажёров.
🔶 Все этапы проходят онлайн. Подробности и регистрация — по ссылке: https://yandex.ru/project/events/wo_backend_0426
Нужны твои навыки в работе с ИИ на МТС True Tech Hack 2026!
Тебе сюда, если ты инженер данных, разработчик или системный аналитик. 1 500 000 рублей — общий призовой фонд ИТ-соревнования.
Формат: командное онлайн-соревнование с финалом в Москве. Если нет команды — поможем найти на платформе мероприятия.
Тебя ждут три задачи на выбор — каждая с уникальной технической фишкой.
Для всех финалистов — приглашение на закрытую вечеринку, а лучших участников позовут на стажировку.
Успей зарегистрироваться до 9 апреля
Как за 2 года стать разработчиком, за которого конкурируют компании?
⚡️ 8 апреля ИТМО в партнёрстве с Яндекс Практикумом проведут День открытых дверей онлайн-магистратуры «Фронтенд- и бэкенд-разработка».
Поговорим про фронтенд и бэкенд, разницу между ними и уровень знаний на старте. Обсудим, какие навыки нужны для поступления, как магистратура помогает быстрее выйти на рынок — и быть на нём конкурентоспособным.
Отдельно разберём сценарии для тех, кто уже работает в IT: как сменить стек, углубиться в текущий или перейти в новые направления, включая работу с ИИ.
На встрече обсудим:
— какой трек выбрать и как выстроить карьеру в разработке
— какую роль играет ИИ в программировании
— как устроена программа и чему вы научитесь
— как проходит обучение и как его совмещать с работой
— как поступить: вступительные испытания и ключевые даты
🏙️ Бэкэнд масштаба города: идём на Day&Night* 2026
Обсудим миллионные нагрузки, сложную архитектуру Яндекса и код, который ежесекундно воплощается в реальном мире: поездки такси, доставка продуктов и заказов.
Будут доклады Саши Аникина про роботакси и Кирилла Неймана про облачные интеграции электрокара.
Программу конференции и клубов готовили Илья Царёв — руководитель разработки в Яндекс Go, Стёпа Мороз — руководитель разработки в Яндекс Доставке и Женя Косенко — руководитель технических проектов в Техплатформе Городских сервисов Яндекса.
Поговорим про:
🔹 Инфраструктуру, платформы и инструменты разработки
🔹 Архитектуру бигтеха и роль ИИ-агентов
А ещё можно пообщаться с единомышленниками в клубах музыки и винила и активного образа жизни.
🍸 Завершит всё вечеринка с диджеями и коктейлями.
🚀 Регистрация открыта — успейте подать заявку!
Все заявки проходят модерацию, дождитесь обратной связи.
*День и Ночь
🚀 Высокопроизводительная библиотека интернирования строк на C++
Azrar::StringIndex предлагает эффективный механизм интернирования строк, создавая глобальный словарь уникальных строк. Это значительно ускоряет доступ и сравнение строк, что особенно полезно в приложениях с большим количеством идентичных строк.
🚀 Основные моменты:
- Уменьшает использование памяти за счет хранения строк только один раз.
- Обеспечивает быстрый доступ к строкам через индексы.
- Поддерживает многопоточность для повышения производительности.
- Идеально подходит для приложений, работающих с большими объемами строк.
📌 GitHub: https://github.com/kboutora/Azrar
#cpp
🔥 Полезная подборка каналов только код, практика и самые передовые инструменты, которые используют разработчики прямо сейчас.👇
🖥 ИИ: t.me/ai_machinelearning_big_data
🖥 Python: t.me/pythonl
🖥 Linux: t.me/linuxacademiya
🖥 C++ t.me/cpluspluc
🖥 Docker: t.me/DevopsDocker
🖥 Хакинг: t.me/linuxkalii
🖥 Devops: t.me/DevOPSitsec
👣 Golang: t.me/Golang_google
🖥 Аналитика: t.me/data_analysis_ml
🖥 Javascript: t.me/javascriptv
🖥 C#: t.me/csharp_ci
🖥 Java: t.me/javatg
🖥 Базы данных: t.me/sqlhub
👣 Rust: t.me/rust_code
🤖 Технологии: t.me/vistehno
💰 Экономика и инвестиции в ИИ t.me/financeStable
💼 Актуальные вакансии: t.me/addlist/_zyy_jQ_QUsyM2Vi
🖥Подборка по Golang: /channel/addlist/MUtJEeJSxeY2YTFi
⚡️ Лучшие ИИ ресурсы: /channel/addlist/2Ls-snqEeytkMDgy
Max ИИ: https://max.ru/ai_machinelearning_big_data
Max Ml: https://max.ru/vistehno
Max python: https://max.ru/pythonl
Max Go: https://max.ru/Golang_google
Max Linux: https://max.ru/linuxkalii
Max Java: https://max.ru/javatg
Max Sql: https://max.ru/sqlhub
Max Devops: https://max.ru/DevOPSitsec
Анализ данных: https://max.ru/data_analysis_ml
C++ : https://max.ru/cpluspluc
C#: https://max.ru/csharp_ci
🖥 Chatgpt бот в тг: t.me/Chatgpturbobot
📚 Бесплатные ит-книги: /channel/addlist/HwywK4fErd8wYzQy
🧩 Упрощенная сериализация в C++ по контракту
SerializationByContract предлагает инновационный подход к сериализации и десериализации данных, используя контракты для автоматизации процессов. Вместо создания отдельных функций для сериализации и десериализации, вы определяете контракт, который управляет всем процессом.
🚀 Основные моменты:
- Автоматизация сериализации и десериализации через контракты.
- Поддержка большинства STL структур данных.
- Применение в межпроцессном взаимодействии (IPC).
- Простота интеграции пользовательских структур данных.
📌 GitHub: https://github.com/amarmer/SerializationByContract
#cpp
🔊📊 AVIL - библиотека для проверки аудио и визуализации спектров
AVIL - это инструмент на C++20 для macOS, который определяет, является ли WAV-файл транскодированным MP3, и визуализирует аудиочастоты в реальном времени в терминале. Использует AVX2 для ускоренной обработки FFT.
🚀Основные моменты:
- Обнаружение транскодирования MP3 с помощью спектрального анализа.
- Визуализация спектра и уровней громкости в реальном времени.
- Поддержка микрофонного входа с подавлением обратной связи.
📌 GitHub: https://github.com/giorgiogamba/avil
#cpp
🖥 Энтузиаст запустил Linux на PS5 - и превратил консоль в полноценную Steam Machine.
После установки Linux на приставке начали работать игры из Steam со всеми преимуществами ПК-версий: настройки графики, моды и привычная экосистема ПК.
Для такого «апгрейда» понадобилась PS5 со старой прошивкой и кастомный патч для видеокарты.
Фактически за пару вечеров он сделал то, к чему Microsoft и Valve шли годами.
https://github.com/PS5Dev/Byepervisor
🎮 Минимальный шаблон проекта SDL3
sdl3-starter-template — это базовый шаблон для разработки игр на SDL3. Он включает необходимые библиотеки и упрощает процесс создания игр, позволяя сосредоточиться на коде.
🚀Основные моменты:
- Поддержка SDL3, SDL3_image и SDL3_ttf через vcpkg
- Простая структура проекта с основным циклом игры
- Совместимость с CMake и популярными компиляторами
- Легкий старт для разработчиков игр
📌 GitHub: https://github.com/Tanner-Davison/sdl3-starter-template
#cpp
🤖 MimiClaw: Ваш карманный AI на чипе за $5
MimiClaw превращает ESP32-S3 в персонального AI-ассистента. Просто подключите его к USB, настройте WiFi и общайтесь через Telegram. Он запоминает ваши предпочтения и работает 24/7, используя всего 0.5 Вт.
🚀 Основные моменты:
- Компактный и энергоэффективный
- Общение через Telegram
- Запоминает информацию между перезагрузками
- Легкая настройка и управление
- Поддержка OTA-обновлений
📌 GitHub: https://github.com/memovai/mimiclaw
#c