🔥 Разработчики GNOME взялись за C++: Удаляем всё лишнее!
Привыкли, что C++ — это язык с тоннами возможностей, половину из которых никто не использует? Разработчики GNOME решили исправить эту «проблему» и объявили о масштабной чистке языка.
Вот что ждёт C++ в ближайшем будущем.
Что удалят?
• Шаблоны — заменят на «опциональную динамическую типизацию» (да, вы не ослышались).
• Исключения — вместо них вернут коды ошибок в стиле Go: if err != nil.
• Системы сборки — их заменят на аналог PHP Composer.
• Множественное наследование — останется только один базовый класс Object, потому что «всё должно быть объектом».
• Undefined Behavior — его не удалят, но добавят юнит-тесты, которые 10 раз проверят, какой вариант UB выбрал компилятор.
Основатель C++ Бьярне Страуструп уже выразил скепсис, заметив, что разработчики GNOME «не пользуются ни C++, ни GNOME».
Зачем это нужно?
По мнению авторов инициативы, C++ слишком сложен, а новые языки вроде Rust показывают, что можно жить и без legacy-фич. Планируется, что в итоге от C++ останется «минимальный C--».
Реакция сообщества
Одни радуются: «Давно пора!» Другие шутят, что следующим шагом будет удаление всех «плюсов» из C++, чтобы вернуться к чистому C. Третьи вспоминают, как GNOME «упрощал» свои конфиги, удаляя из XML пробелы — и теперь предлагает аналогичный подход к языку программирования.
Что думаете?
Это гениальный план по спасению C++ или очередной эксперимент в стиле «сделаем GNOME, но для компиляторов»?
#2_апреля
Привыкли, что C++ — это язык с тоннами возможностей, половину из которых никто не использует? Разработчики GNOME решили исправить эту «проблему» и объявили о масштабной чистке языка.
Вот что ждёт C++ в ближайшем будущем.
Что удалят?
• Шаблоны — заменят на «опциональную динамическую типизацию» (да, вы не ослышались).
• Исключения — вместо них вернут коды ошибок в стиле Go: if err != nil.
• Системы сборки — их заменят на аналог PHP Composer.
• Множественное наследование — останется только один базовый класс Object, потому что «всё должно быть объектом».
• Undefined Behavior — его не удалят, но добавят юнит-тесты, которые 10 раз проверят, какой вариант UB выбрал компилятор.
Основатель C++ Бьярне Страуструп уже выразил скепсис, заметив, что разработчики GNOME «не пользуются ни C++, ни GNOME».
Зачем это нужно?
По мнению авторов инициативы, C++ слишком сложен, а новые языки вроде Rust показывают, что можно жить и без legacy-фич. Планируется, что в итоге от C++ останется «минимальный C--».
Реакция сообщества
Одни радуются: «Давно пора!» Другие шутят, что следующим шагом будет удаление всех «плюсов» из C++, чтобы вернуться к чистому C. Третьи вспоминают, как GNOME «упрощал» свои конфиги, удаляя из XML пробелы — и теперь предлагает аналогичный подход к языку программирования.
Что думаете?
Это гениальный план по спасению C++ или очередной эксперимент в стиле «сделаем GNOME, но для компиляторов»?
#2_апреля
Forwarded from Библиотека собеса по C++ | вопросы с собеседований
Что такое EBO (Empty Base Optimization)?
👾 — Способ оптимизации пустых функций
👍 — Метод оптимизации размера классов с пустыми базовыми классами
🥰 — Техника минимизации использования памяти
👻 — Техника минимизации использования памяти
Библиотека C/C++ разработчика
👾 — Способ оптимизации пустых функций
👍 — Метод оптимизации размера классов с пустыми базовыми классами
🥰 — Техника минимизации использования памяти
👻 — Техника минимизации использования памяти
Библиотека C/C++ разработчика
Forwarded from Proglib.academy | IT-курсы
Математика в действии — как уравнения, придуманные века назад, сегодня управляют интернетом, медициной, космосом и вашими финансами.
— Как египтяне строили пирамиды с помощью математики
— Почему Wi-Fi и JPEG невозможны без преобразования Фурье
— Что объединяет кота Шредингера и квантовые компьютеры
— Как формула Гаусса управляет фондовыми рынками
— И при чём тут Джеймс Гарфилд и i² = –1
🔗 Читайте статью
Proglib Academy
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from IT Job Hub | Работа и вакансии в IT
Работа на международном рынке — это не только доход в валюте, но и ценный опыт, развитие и конкурентоспособность. Однако ее поиск требует подготовки.
В первой части мы разобрали:
Теперь настало время погрузиться в следующий этап
В этой части мы разберем:
Если вы хотите работать в международной компании и получать оплату в долларах или евро, но не знаете, как пробиться на этот рынок — этот материал для вас
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from IT Job Hub | Работа и вакансии в IT
Если вы следили за нашим мини-сериалом о валютной удаленке, то уже знаете:
И вот финальная часть — потому что оффер это только начало.
Что в статье:
Читать гайд по выживанию айтишника в валютных джунглях
Please open Telegram to view this post
VIEW IN TELEGRAM
Принято считать, что в C++ нет сборки мусора, но это не совсем так. Например, библиотека Boehm-Demers-Weiser (BDW) GC добавляет в C++ поддержку неинтрузивного сборщика мусора. Это значит, что можно выделять память через GC_malloc() и не беспокоиться о ручном освобождении — сборщик сам найдёт и очистит недостижимые объекты.
Хотя такой подход удобен для некоторых сценариев (например, сложные графы объектов), он не заменяет RAII и умные указатели. BDW GC требует осторожности с указателями и может уступать в производительности ручному управлению.
Подробнее о библиотеке: GitHub.
Хотя такой подход удобен для некоторых сценариев (например, сложные графы объектов), он не заменяет RAII и умные указатели. BDW GC требует осторожности с указателями и может уступать в производительности ручному управлению.
Подробнее о библиотеке: GitHub.
Плюсовики!
Проголосуйте за наш канал, и в сторис мы опубликуем топ материалов, которые должен прочитать каждый плюсовик.
➡️ Поддержать канал: https://yangx.top/boost/cppproglib
Проголосуйте за наш канал, и в сторис мы опубликуем топ материалов, которые должен прочитать каждый плюсовик.
Please open Telegram to view this post
VIEW IN TELEGRAM
Сомневаетесь в своем прогрессе? Мы собрали 7 четких признаков того, что вы реально растете как разраб. Спойлер: дело не только в коде!
👉 Подробнее в статье
👉 Подробнее в статье
Media is too big
VIEW IN TELEGRAM
🙈 Что скрывает дисперсия: разгадка секрета точных ML-моделей
Представьте, что вы строите модель, которая прекрасно работает на тренировочных данных, но стоит подать ей новые примеры... и всё рушится. Знакомо? За этим почти всегда скрывается неправильное обращение с дисперсией.
🧐 Но что, если есть простая формула, способная:
• Мгновенно определить, насколько «разбросаны» ваши данные
• Значительно улучшить точность ваших ML-моделей
• Помочь обнаружить аномалии, которые вы раньше не замечали
В нашем вебинаре мы раскрываем все секреты дисперсии — без сложных терминов и занудных объяснений. Вы узнаете, почему дисперсия — как соль: без нее все пресно, а с переизбытком — несъедобно.
Хотите узнать, как находить идеальный баланс в своих моделях, причем тут Random Forest и много другого о Data Science?
➡️ Тогда смотрите бесплатный вебинар от Proglib: https://proglib.io/w/af29291e
Представьте, что вы строите модель, которая прекрасно работает на тренировочных данных, но стоит подать ей новые примеры... и всё рушится. Знакомо? За этим почти всегда скрывается неправильное обращение с дисперсией.
🧐 Но что, если есть простая формула, способная:
• Мгновенно определить, насколько «разбросаны» ваши данные
• Значительно улучшить точность ваших ML-моделей
• Помочь обнаружить аномалии, которые вы раньше не замечали
В нашем вебинаре мы раскрываем все секреты дисперсии — без сложных терминов и занудных объяснений. Вы узнаете, почему дисперсия — как соль: без нее все пресно, а с переизбытком — несъедобно.
Хотите узнать, как находить идеальный баланс в своих моделях, причем тут Random Forest и много другого о Data Science?
Please open Telegram to view this post
VIEW IN TELEGRAM
rwkv.cpp — легковесная C++-библиотека для работы с моделями RWKV
Если вы работаете с языковыми моделями RWKV и хотите максимальной производительности без лишних зависимостей, обратите внимание на rwkv.cpp. Это минималистичная C++-реализация инференса для моделей RWKV, которая работает даже на CPU с поддержкой AVX/AVX2. Проект активно развивается и поддерживает загрузку весов из оригинальных моделей PyTorch.
Библиотека отлично подходит для встраивания в C++-приложения, где важны скорость и низкие накладные расходы. Код чистый и простой для модификации — если вам нужен эффективный инференс без перегруженных фреймворков, стоит попробовать. К тому же, проект поддерживает GGML, что открывает возможности для квантования и оптимизации под разное железо.
Библиотека C/C++ разработчика
Если вы работаете с языковыми моделями RWKV и хотите максимальной производительности без лишних зависимостей, обратите внимание на rwkv.cpp. Это минималистичная C++-реализация инференса для моделей RWKV, которая работает даже на CPU с поддержкой AVX/AVX2. Проект активно развивается и поддерживает загрузку весов из оригинальных моделей PyTorch.
Библиотека отлично подходит для встраивания в C++-приложения, где важны скорость и низкие накладные расходы. Код чистый и простой для модификации — если вам нужен эффективный инференс без перегруженных фреймворков, стоит попробовать. К тому же, проект поддерживает GGML, что открывает возможности для квантования и оптимизации под разное железо.
Библиотека C/C++ разработчика
Forwarded from Библиотека задач по C++ | тесты, код, задания
Что выведет код?
❤️ 1 4 8
🔥 1 4 4
🙏 Зависит от платформы
🌚 Ошибка компиляции
Библиотека C/C++ разработчика
❤️ 1 4 8
🔥 1 4 4
🙏 Зависит от платформы
🌚 Ошибка компиляции
Библиотека C/C++ разработчика
Forwarded from Библиотека джависта | Java, Spring, Maven, Hibernate
💼⌛️ ТОП-5 причин, почему программист не может долго найти работу
Почему некоторые разработчики остаются "между работами" месяцы?
Не всегда дело в нехватке вакансий или «рынок просел». Часто дело в подходе к поиску проекта. Вроде бы есть опыт, стек, даже pet-проекты, но офферов всё нет.
Часто корень проблемы — неумение продать себя правильно. Отказ выполнять тестовые задания, считая их ненужными или обидными. Кроме того, нежелание рассматривать стажировки как стартовую площадку для получения опыта и расширения профессиональных связей также может замедлить процесс трудоустройства. И это далеко не все возможные причины.
🔗 Подробнее в статье
🐸 Библиотека джависта
Почему некоторые разработчики остаются "между работами" месяцы?
Не всегда дело в нехватке вакансий или «рынок просел». Часто дело в подходе к поиску проекта. Вроде бы есть опыт, стек, даже pet-проекты, но офферов всё нет.
Часто корень проблемы — неумение продать себя правильно. Отказ выполнять тестовые задания, считая их ненужными или обидными. Кроме того, нежелание рассматривать стажировки как стартовую площадку для получения опыта и расширения профессиональных связей также может замедлить процесс трудоустройства. И это далеко не все возможные причины.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
😎 Делаем собственный анализатор C++ кода в виде плагина для Clang
«Решил написать свой статический анализатор для C++, а там такие грабли... 🤦♂️" — знакомо, если вы когда-нибудь задумывались о создании инструментов для анализа исходного кода.
💡 Автор статьи делиться опытом разработки плагина для Clang, который превращает стандартный C++ в более безопасный язык с контролем динамической памяти и ссылочных типов.
❗ Ключевые моменты:
- AST Matcher vs RecursiveASTVisitor: простота или гибкость?
- Как удобно дебажить AST без просмотра огромных портянок кода;
- Правильное разделение логики между парсером атрибутов и анализатором AST.
Основной фокус статьи — практические советы по созданию плагина для Clang с минимальными подводными камнями. Разбор реальных примеров кода и нестандартных ситуаций.
Это будет полезно разработчикам на C++, которые хотят создать свои инструменты статического анализа или улучшить безопасность существующего кода без нарушения обратной совместимости.
Библиотека C/C++ разработчика
«Решил написать свой статический анализатор для C++, а там такие грабли... 🤦♂️" — знакомо, если вы когда-нибудь задумывались о создании инструментов для анализа исходного кода.
💡 Автор статьи делиться опытом разработки плагина для Clang, который превращает стандартный C++ в более безопасный язык с контролем динамической памяти и ссылочных типов.
❗ Ключевые моменты:
- AST Matcher vs RecursiveASTVisitor: простота или гибкость?
- Как удобно дебажить AST без просмотра огромных портянок кода;
- Правильное разделение логики между парсером атрибутов и анализатором AST.
Основной фокус статьи — практические советы по созданию плагина для Clang с минимальными подводными камнями. Разбор реальных примеров кода и нестандартных ситуаций.
Это будет полезно разработчикам на C++, которые хотят создать свои инструменты статического анализа или улучшить безопасность существующего кода без нарушения обратной совместимости.
Библиотека C/C++ разработчика
Forwarded from Библиотека джависта | Java, Spring, Maven, Hibernate
В каждой команде бывают специалисты, чья ценность не укладывается в привычные метрики продуктивности. Они редко в топе по количеству закрытых задач, но именно их вклад критически важен для общего результата.
Такие люди помогают менее опытным коллегам разобраться в сложных вопросах, улучшают архитектуру и процессы незаметными правками, предотвращают ошибки ещё до того, как они стали задачами, создают культуру качества, которую не видно в отчётах.
Иногда стоит пересмотреть, как мы оцениваем эффективность. Потому что не все цифры отражают суть.
Please open Telegram to view this post
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Что объединяет успешный собес и продвинутый анализ данных? Оба требуют способности выделять главное из информационного шума!
В мире данных этот суперскилл называется методом главных компонент (PCA) — это как рентген для ваших данных, который мгновенно показывает всю суть, отбрасывая неважные детали.
Например, мы проанализировали 453 акции компаний из списка S&P 500 и выяснили, что всего одна главная компонента объясняет 38% всей динамики рынка. Как такое возможно?
Вы будете работать с реальными данными, научитесь выявлять скрытые закономерности и применять эти инсайты в своих проектах.
Стоимость: 3990 ₽
Не беспокойтесь, если теоретическая база пока хромает — вы можете заранее посмотреть запись нашего вебинара по основам по ссылке ниже.
Please open Telegram to view this post
VIEW IN TELEGRAM