Прошлые домены не функционирует! Используйте адрес
ARHIVACH.VC.
24 декабря 2023 г. Архивач восстановлен после серьёзной аварии. К сожалению, значительная часть сохранённых изображений и видео была потеряна.
Подробности случившегося. Мы призываем всех неравнодушных
помочь нам с восстановлением утраченного контента!
Почему не C#
На самом деле дотнет и шарп великолепная альтернатива java/kotlin миру, но если поскрести, то мы увидим дешевый маркетинг и снова плохую игру в EEE (гуглите что это).
Если с вебом все хорошо (если вас устраивает ASP.NET и Blazor), то с остальным окружением как-то сомнительно.
Мобильная разработка - местами костыливарение. Это не проблема шарпа, это проблема написания универсальных кроссплатформенных решений.
Игры/Юнити - на самом деле там свой компилятор C#, а значит свои костыли (и это отставания по версиям официального шарпа и потенциальное отсутствие части фич основного шарпа итд).
Машинное обучение - какая-то обертка над питоном (просто ради маркетинга?)
MAUI - выпилили линукс. То есть, из xamarin.forms просто взяли выкинули линукс, который там был (привет ЕЕЕ, и это на фоне релиза "Compose Multiplatform").
IoT - не знаю что там, но возможно опять просто какая-то обертка и костыли ради маркетинга, чтобы показать что есть (сомнительное решение - VM язык натянуть на глобус).
Я так понял, чтобы юзать 10 шарп, нужна последняя IDE, а она в свою очередь, вроде, только на десятке (сам не пробовал, но видел слезы. Если это правда, то это ппц).
Официально есть поддержка 7 винды, но в реале нет поддержки компиляции в один файл (то есть полной поддержки на деле нет, давай покупай десятку уже).
Стоит помнить, что Net Core появился сравнительно недавно и как по мне разнообразие библиотек сравнительно мало. Какой-нибудь клон Netty тупо прокис и заброшен (и вообще вроде не под core, хз).
Почему не Java
Джава древний топорный язык, который исторически как-то забуксовал в развитие. Благо тонущий Sun успел его открыть людям раньше чем МС свой шарп, от чего он несмотря на топорность получил сильное развитие. Появление котлина и некоторый его успех, вероятно, заставило джаву как-то двигаться в ногу со временем, но все это поверх старого синтаксиса смотрится не очень. Как по мне, лучше бы джава оставалась в своей 8 версии, многих "надежный старый молоток" устраивал.
Почему не Rust
Раст превосходная альтернатива С/С++ если вы раньше не писали на С/С++, но вам стало очень надо. Правда сами плюсы это отдельный мир системной/эмбеддед разработки. То есть, даже если вы прониклись мыслью написать что-то очень быстрое, то мало просто взять С++, на нем надо еще уметь быстро и оптимизировано писать (это, наверное, уже к сотне разного рода хитростей и хаков), при этом те же VM языки по производительности идут вровень (или с некритичным отставанием) с неуправляемыми языками.
А вот если разница по производительности не сильно большая, то разработка на системной языке будет отнимать у вас солидную часть мозгового ресурса. Это не так выразительно и просто как хотелось бы, даже на расте.
Питон и динамические языки
Еще проще писать, чем на плюсах, расте и VM языках это писать на динамических языках. Но мир это уже не 10.000 строк кода и как-только ты выходишь за зону комфорта стандартной либы, начинает адок. Если в типизированных языках ты можешь тыкнуть по методу (в IDE) и посмотреть его сигнатуру (и если повезет получить доку), в край код. То в динамических языках, не ты, не IDE, вообще не понимают что тут происходит, пока ты это не принтанешь в рантайме.
В общем, скрипты нужны для скриптов. А скрипты с анатациями типов это уже даже не смешно. Если ты планируешь кодить многолетний проект, выкинь скрипты сразу после прототипа (на самом деле котлин настолько выразительный, что можно прототипировать на нём, а автовывод компилятором (и IDE) типов не даст отстрелить себе свою змею).
Go
Язык хорошо прижился в миркосервисах. И вообще идеально подходит для написания чего-то небольшого (причем мало весит и мало жрет ОЗУ). Но синтаксис реально настолько примитивен, что я бы не хотел на нем писать многолетний проект и потом этот сплошной бойреплейт сопровождать (да, можно, но оставим это фанатикам).
Надо понимать, что текущая индустрия, это код на десятки миллионов строк и нужен инструмент, который помог бы абстрагировать этот код. И без полноценного ООП, сахара - жить трудно (можно, но не стоит).
Вот простой пример почему не пригоден.
У тебя упал код в функции/методе "N", он упал на продакшене, в какой-то случайный момент. Этот метод вызывается в коде под разными условия десятки тысяч раз (и это еще мало). И где именно, в каком из этих случаев (списке вызовов) он упал - непонятно. В джаве/котлине, шарпе итд, тебе высреться огромнейшей стектрейс по которому ты поймешь где именно, в какой последовательности вызовов произошла эта ошибка. То есть, исключения и стекстрейс - это эволюция в развитии программирования. Это эволюция для многолетних и многомиллионных (по коду) проектов. Мы не живем уже в программах на 10К строк, в которых можно за несколько часов разобраться в контексте вызова функции.