24 декабря 2023 г. Архивач восстановлен после серьёзной аварии. К сожалению, значительная часть сохранённых изображений и видео была потеряна.
Подробности случившегося. Мы призываем всех неравнодушных
помочь нам с восстановлением утраченного контента!
По критериям:
Performance. Clr не занимается оптимизациями во время runtime, в отличии от jvm. Вот, например разница производительности, когда jvm не прогрета: https://benchmarksgame-team.pages.debian.net/benchmarksgame/fastest/csharp.html
Кмк, у них схожая производительность. И то и другое можно оптимизировать до производительности схожей с c/++.
Safety. Тут тоже по ровну. И тот и другой типобезопасен, строго типизирован, у обоих имеется модель памяти.
Security. Без понятия. Вот например в жабе постоянно находят уязвимости в фреймворках, например: https://www.opennet.ru/opennews/art.shtml?num=56319
Впрочем как связаны яп и фреймворки другой вопрос, но пусть будет за шарпом.
Syntax. Главное преимущество, как я думаю, это перегрузка операторов, нормальные дженерики, лямбды. Ну и сахар.
На счет async вряд ли, тк https://openjdk.org/jeps/444 , которые уже есть в джаве, как превью фича.
Несомненно за c# тут преимущество. Но например использование перегрузки операторов в неопределённых поведениях - зло.
Frameworks&platform. Тут банально время на стороне, покуда шарп был ограничен платформой и майкрософт самостоятельно писала окружение, в java сделали spring, который является буквально всем и множество проектов, улучшающие некоторые аспекты. Также java-based яп - kotlin, scala, groovy.
Хотелось бы уточнить, есть ли у c# что-то лучшее.
Cross-Platform. У c# все еще есть проблемы в этой области.
Не учитывая такие ахуетельные метрики как популярность, размер зп, стредний возраст, размер писюна пограмистов и пр, я не вижу тотального превосходства шарпов над жабой. Где конкретно я проебался?