Hacker News Digest

Тег: #dotnet

Постов: 4

Heroku Support for .NET 10 (heroku.com)

Предоставленный фрагмент содержит навигационное меню сайта Heroku, но не содержит самой статьи о поддержке .NET 10 LTS. В разделе "Languages" упоминается .NET как один из поддерживаемых языков, но нет конкретной информации о версии 10 LTS или детальных технических деталей.

В меню также есть ссылки на различные продукты Heroku, включая Heroku Platform, Heroku AI, Heroku Data Services, Heroku Enterprise и Heroku Elements Marketplace, что указывает на широкий спектр услуг платформы. Однако без доступа к полной статье о поддержке .NET 10 LTS невозможно предоставить точный пересказ её содержания.

by runesoerensen • 11 ноября 2025 г. в 22:18 • 100 points

ОригиналHN

#heroku#aws#vercel#netlify#dotnet#cloud-native-buildpacks

Комментарии (34)

  • Обсуждение началось с жалоб на стоимость Heroku, которая оказалась выше AWS даже с учетом DevOps-инженера.
  • Участники вспомнили, что Heroku когда-то был первым выбором для MVP и мелких проектов, но теперь у них есть альтернативы вроде Vercel и Netlify.
  • Разговор перешел к тому, что экосистема .NET и инструменты вроде Cloud Native Buildpacks всё ещё открыты и могут быть использованы где угодно.
  • Несколько человек отметили, что даже несмотря на то, что Heroku всё ещё работает, он уже давно не является конкурентоспособным вариантом для большинства проектов.

What .NET 10 GC changes mean for developers (roxeem.com) 🔥 Горячее 💬 Длинная дискуссия

В .NET 10 сборщик мусора получает серьёзные улучшения, которые могут вдвое или втрое сократить использование памяти и повысить производительность. Ключевые изменения включают расширенный escape-анализ для выделения объектов на стеке, оптимизацию делегатов и настройку размеров регионов кучи. Также активирована система DATAS, автоматически адаптирующая сборку мусора под поведение приложения, особенно в контейнерах.

Однако эти улучшения требуют осторожного подхода: они доступны через runtime-флаги и могут иметь компромиссы, например, увеличение пауз или нагрузки на CPU. Разработчикам стоит тестировать новые настройки в боевых сценариях, а не включать их вслепую. Инструменты мониторинга, такие как счетчики GC и дампы памяти, помогут оценить эффект для конкретного приложения.

by roxeem • 01 октября 2025 г. в 08:40 • 272 points

ОригиналHN

#dotnet#garbage-collection#performance-optimization#memory-management#wasm#fsharp#java#linq

Комментарии (196)

  • Пользователи отмечают значительное повышение производительности в .NET 10 по сравнению с .NET 8, особенно в приложениях для анализа аудио и текста.
  • Высказываются опасения, что оптимизации .NET могут отдалить его от совместимости с WASMGC, что критично для использования в браузере.
  • Обсуждаются потенциальные риски, такие как переполнение стека в программах, которые ранее работали стабильно, и сложность настройки GC.
  • Упоминаются альтернативные фреймворки для кроссплатформенной разработки (Avalonia, Flutter, MvvmCross) на фоне скептического отношения к стабильности и будущему MAUI.
  • Поднимаются вопросы о применимости .NET для high-frequency trading и оптимизации LINQ, а также о сравнении с JVM и другими языками (F#, Java).

Safe zero-copy operations in C# (ssg.dev)

В C# операции с массивами автоматически проверяют границы для безопасности, что может снижать производительность. Компилятор способен убрать проверки в идеальных условиях, например, в цикле с известными границами, но при передаче индексов извне проверки остаются, что видно по ассемблерному коду.

Можно использовать небезопасный код с указателями для полного избежания проверок, но это рискованно: ошибки ведут к сбоям или уязвимостям. Решение — тип Span<T>, который объединяет ссылку на данные и их длину, обеспечивая безопасный нулевой копирование доступ без дополнительных проверок. Это позволяет писать высокопроизводительный код без ущерба для безопасности, сочетая низкоуровневую эффективность с управляемыми гарантиями.

by sedatk • 29 сентября 2025 г. в 23:12 • 197 points

ОригиналHN

#csharp#span#readonlyspan#memory-management#performance-optimization#unsafe-code#pointers#dotnet

Комментарии (60)

  • Использование Span<T> и ReadOnlySpan<T> позволяет избежать лишних выделений памяти и повысить производительность, особенно при работе со строками и массивами.
  • Эти структуры предоставляют безопасные, безграничные представления памяти, заменяя необходимость в небезопасном коде и указателях.
  • Оптимизации с помощью Span<T наиболее эффективны в сценариях с интенсивной обработкой данных (например, парсинг, игры), а не в типичных CMS, где узкие места обычно в БД или кэше.
  • Внедрение Span<T в .NET стандартизировало ранее фрагментированные подходы к работе с памятью, улучшив interoperability между библиотеками.
  • Хотя Span<T предлагает контроль, сравнимый с Rust, он ограничен моделью сборки мусора C#, тогда как Rust предоставляет более строгие гарантии времени жизни на уровне компилятора.

SimpleIDE (github.com)

simpleide — лёгкая IDE для Visual Basic, работает на Linux и использует нативный .NET.
Позволяет писать, компилировать и запускать VB-код без Windows.

by impendingchange • 20 августа 2025 г. в 23:15 • 79 points

ОригиналHN

#visual-basic#vb.net#linux#dotnet#gtk#open-source#github

Комментарии (42)

  • Обсуждали SimpleIDE — лёгкий open-source IDE для VB.NET на Linux (GTK# 3, .NET 8).
  • Пользователи делятся ностальгией по VB, но отмечают падение популярности языка и отсутствие drag-and-drop GUI-редактора.
  • Кому нужен .exe под Windows 11, советуют Visual Studio или Rider + Avalonia/C#; SimpleIDE заточен под Linux.
  • Автор проекта за два месяца «с нуля» написал IDE с Claude и готовит библиотеку кастомных виджетов.
  • Поднимается тема «AI-IDE нового поколения» и альтернатив вроде Gambas, Lazarus, React Native и веб-технологий.