Числовой тип данных с плавающей точкой float IEEE 754

Как устроен формат кодирования с плавающей точкой, что он из себя представляют и где может использоваться.

Объектно-ориентированный язык программирования

Как устроен формат кодирования с плавающей точкой, что он из себя представляют и где может использоваться.

Всем привет! Рады представить новую версию Explyt 5.0 с поддержкой Rider 🚀 новым тестовым агентом, Web search & Web fetch и другими приятными улучшениями.

👋 Всем привет
Часто в моем окружении среди разработчиков много холивара на тему MVx-паттернов. Что обозначают все эти буквы? Почему в разных командах называют по-разному? Чем один отличается от другого? И зачем оно вообще все?
Поэтому решил сделать несколько статей на тему MVX паттернов с примерами на Unity. Хочется прояснить его для создания единого контекста в gamedev о концепции как самого паттерна MVC, так и их различные реализации.
Итак. Поехали!
Рассмотрим следующую ситуацию...

Работа с графикой невозможна без специальных инструментов — графических редакторов. Но что если ваш редактор вылетит прям во время работы из-за багов?
Давайте с помощью статического анализатора поищем потенциальные ошибки и странные места в исходном коде открытого проекта PixiEditor.

Всем привет, я Кирилл, и я оказался на рынке труда осенью 2025 года. Давайте разберем, почему же нам, разработчикам с большим стажем перестали приходить отклики, количество собеседований уменьшилось до нуля, а со всех сторон все HR-специалисты трубят о нехватке кадров в IT. А также рассмотрим новую боль всех HR-ов. Статья носит статистический характер, пару советов и философские высказывания автора, и немного юмора.

Мир программирования разнообразен, и новичкам сложно выбрать первый язык. Важно понять свои цели и предпочтения, чтобы сделать правильный выбор и уверенно начать.
Сложность языка зависит не только от его особенностей, но и от вашего опыта и готовности разбираться в материалах. Объективного критерия нет.
Часто сложность связывают с уровнем языка: низкоуровневые ближе к машинному коду и требуют работы с памятью и процессором, что сложнее, но даёт больше контроля. Высокоуровневые проще в использовании благодаря большим стандартным библиотекам и готовым решениям. Однако эта классификация не всегда однозначна и вызывает споры.

Я прочитал статью, и меня поразило, сколько сомнительных решений можно использовать для одной простой задачи.
В этой статье я расскажу, как правильно создать сервис для конкурентных обновлений остатков данных в базе данных. Буду использовать .NET, C#, Entity Framework и PostgreSql.
В предыдущей статье "Адаптированный паттерн Command с использованием Dependency Injection", я описывал как инкапсуляция логики приложений в отдельные объекты-функции позволяет получить преимущества в архитектуре приложений.
В качестве основы для концепции объекта-функции мной был выбран известный паттерн Command, но обсуждение статьи показало, что читателям тяжело отказатся от слишком узкой специфики паттерна Command и это мешяет восприятию материала.
Эта статья пытается исправиль допущенную автором ошибку.
Статья является дополнением к предыдущей.

Привет, Хабр!
Наткнулись на задачу: нужен плагин на C#, который можно грузить как обычную C-библиотеку без CLR и JIT, а вызывать из Rust и Python. Без обвязок, без CoreCLR-хостинга и прочего. Чистый C ABI, нормальные строки, предсказуемые структуры, обработка ошибок и нулевой JIT-прогрев. Это как раз случай для NativeAOT: компилируем библиотеку в нативный .dll/.so/.dylib, экспортируем функции через [UnmanagedCallersOnly], а дальше живём как с любой C-библиотекой. Нюансов хватает: что экспортируется и как назвать символ, как договориться по ABI, что делать со строками UTF-8, как возвращать ошибку, как освобождать память снаружи, почему исключения нельзя проталкивать за границу, и в каком месте «cdecl» реально что-то значит.

Files — это сторонний файловый менеджер для Windows. Он сделан для того, чтобы быть лучшим открытым файловым менеджером для ОС, который поддерживается сообществом. А в этой статье мы взглянем на ошибки в исходном коде Files и внесём свой вклад в open source сообщество.
Паттерн Command — широко известный и мощный инструмент построения гибких систем, позволяющий целиком вынести логику каждого метода в отдельный класс.
В статье показано как совмещение Command с Dependency Injection (DI) даёт дополнительные преимущества в архитектуре приложений.
Статья будет полезна разработчикам всех уровней, а также архитекторам приложений.

Aspid.MVVM — это высокопроизводительный фреймворк MVVM для Unity, построенный на Source Generator и разработанный с акцентом на простоту, масштабируемость и четкое разделение бизнес-логики и представления.

C# — гибкий язык. На нём можно писать мобильные и десктопные приложения, игры, веб-сайты, сервисы и API. Можно писать на нём, как на Java, со всеми абстракциями и AbstractionFactoryClassProvider. Но, в отличие от Java, на нём также можно писать низкоуровневый и небезопасный код. И когда я говорю о низкоуровневом, то имею в виду отсутствие сборщика мусора и сырые указатели.
Низкоуровневый код обычно требуется для высокой производительности или взаимодействия с библиотеками C/операционной системой. Низкоуровневый код помогает повысить производительность благодаря тому, что с его помощью можно избавиться от проверок доступа к памяти в среде исполнения.
Для безопасности доступ к элементам массивов выполняется в C# с проверкой границ. Но из-за этого страдает производительность, если только, конечно, компилятор не сможет избавиться от операции проверки границ. Логика устранения проверок границ должна гарантировать, что проверка границ индекса массива уже выполнялась раньше или что во время компиляции индекс точно будет находиться в границах. Для примера возьмём простую функцию:

Привет, Хабр! Меня зовут Максим Вишневский, я архитектор (в основном фронтенда) и автор небольшого Telegram-канала Вишнёвые истории. Эта статья основана на моём докладе с TeamLead Conf++ 2024.
Сегодня я проведу для вас экскурсию в мир фронтенда и немного поделюсь болями: расскажу, из чего он состоит, как работает, обсудим архитектурные проблемы и почему формочку так долго поставлять в продакшен.

Привет, Хабр!
В проде полно таблиц и маппингов, которые создаются один раз и потом живут годами на чистом чтении. Раньше выбирали между ReadOnlyDictionary и Immutable*. Первый не ускоряет доступ и просто прикрывает исходную коллекцию, второй дает чистые апдейты, но платит временем построения и lookup. В .NET 8 появился третий путь для такого профиля: System.Collections.Frozen.
Задача у Frozen простая и приземленная. Заплатить за построение структуры один раз на старте, а дальше получать быстрый TryGetValue/Contains и предсказуемое перечисление без блокировок. Контейнер неизменяемый, потокобезопасен для чтения и специально заточен под lookup. Стоимость сборки выше обычной, это ожидаемо, поэтому применять его есть смысл там, где чтений на порядки больше, чем конструирований.
С .NET 9 стало еще удобнее: появился alternate lookup. Теперь словарь со строковыми ключами может принимать ReadOnlySpan<char> прямо на lookup, без лишних аллокаций. Это хорошо заходит в веб-пути, парсеры заголовков и любые сценарии, где строка у вас уже как span.

Обычно под .NET разрабатывают в Visual Studio, собирая и запуская приложения локально на компьютере. А что если IDE работала бы прямо в браузере? Как Figma, только для .NET приложений.
Мы задались именно этой целью — сделать онлайн IDE для .NET.
Сейчас в нашем инструменте уже работает:
✏️ Редактор UI на XAML (подмножество WPF) с drag-and-drop.
⚡ Компиляция C# и XAML полностью в браузере без участия сервера.
🖥️ Запуск приложения прямо в браузере в изолированном окружении.
☁️ Сохранение проектов на сервере и возможность скачать их для Visual Studio.
Можно поиграться и попробовать предварительную версию: https://xaml.io
А ниже — рассказ о том, как это всё работает под капотом.

или Почему наша система теперь не боится ни распродаж, ни внезапного наплыва любителей гречки и сковородок
Всем привет!
Меня зовут Александр Исай, я тимлид в Ozon Tech. Сегодня я расскажу историю о том, как мы спасали нашу систему резервации товаров от краха в самый горячий момент года.

Делаем на c# репетитора по чтению вслух на 20+ языках.
Идея простая: открываем текст на (почти) любом интересующем языке, и читаем в микрофон. Все распознанные слова в тексте помечаются цветом.

Приветствую тебя, читатель, меня зовут Вадим Бельский, и я уже больше полугода делаю свою небольшую 4-x стратегию MyCivGame, вдохновленную играми Civilization и Total War. Сейчас я расскажу тебе, как устроен мир в нашей любимой игре Civilization, и мы с тобой вместе подумаем, можно ли сделать его лучше (а самое главное, нужно ли это)!

Так или иначе, вайб-кодинг становится, — а где-то уже стал, — частью процесса разработки программного кода. Команда PVS-Studio видит в этом новые задачи для статических анализаторов по поиску ошибок в коде, возникающих при использовании ИИ-ассистентов и т.п. Первый шаг — собрать примеры реальных дефектов для изучения.
Отношение к вайб-кодингу и его вариациям неоднозначное. Я разделяю мнение, что использование сгенерированного кода, особенно без полного его понимания программистом, плохо скажется на надёжности и безопасности приложений. Так что работы у статических анализаторов только прибавляется :)
AI-сгенерированный код, возможно, будет содержать новые непривычные виды ошибок. Соответственно, чтобы их изучить и научиться выявлять, необходимо сначала собрать их коллекцию.