• C# вопросы новичка: выбор, лицензирование, платформа?

    @hatman
    1) C# юзается главным образом для энтерпрайза и гейм-дева. В отличие от Java (где главные клиенты Финтех, Телеком и Логистика), C# больше склонен к гос-аппарату и производству, но это так депендс от места к месту.
    2) .Net 5 (который выйдет в этом году) - будет просто Java + батарейки. .Net Core 3.1, который идет сейчас - уже продакшен реди.
    3) C# для десктопа - больше, как поддержка легаси приложений (которых дофига). Даже сам майкрософт для новых приложений юзает либо Electron (js), либо QT.
    4) Мобильные приложения писать можно, но смысла в этом не так много. Пока все компании, что имеют деньги, нанимают Java/kotlin + Swift/Object+C программистов, ибо получается стабильное и предсказуемое. А всякие гибриды в пользу бедных, а там лучше не работать.
    5) Майкрософт на забросит C# - ибо это главный инструмент их экосистемы. А экосистема (Лицензии и Azure) приносят им килотонны бабла.
    6) Свои сайты писать можно, есть простые способы собрать продакшен реди проект. Смысла в этом не очень много, но можно в общем.

    __
    6. Для машинного обучения, datascience юзают?
    7. Новая фича webassembly, есть же поддержка?

    А оно тебе нужно, если ты идешь в бекенд? Распыление не приносит денег.
    __

    В общем, рекомендации такие. Что если тебе 33-35+, ты уже задумываешься о том, в каком районе лучше купить квартиру, какой виски или коньяк купить себе на выходные, какую купить машину жене, чтобы она возила детей в кружки, то нужно уже учить C#/Java (выбор вообще не принципиален вплоть до того, куда на работу ближе ездить).

    Если пока лет не так много, то можно что-то более драйвовое типа php/python/ruby/swift/kotlin итл.
    Ответ написан
    Комментировать
  • C# вопросы новичка: выбор, лицензирование, платформа?

    2chevskii
    @2chevskii
    Если бы каждый мог в поиск, тостер бы вымер.
    Можно ли мне использовать для этих целей .NET Core в корпоративной среде?

    Можно, .Net Core - лицензирован под условиями MIT.

    1. Есть
    2. Разрабатывают
    3. А зачем все разворачивать на Windows Server? В любом случае, если с математикой уровня 2 класса дружите - посчитаете без проблем.
    4. Делают, можете.
    5. Лучше делать, наличие других платформ не ограничивает использования данной.
    6. Тут не в курсе, почитайте в интернете.
    7. По сути весь асп на ней и пашет.
    8. Грандиозные.
    9. Во-первых - не говорите глупостей, это основной язык майков, на кой черт им его забрасывать в обозримом будущем? Он также стабильно в десятке популярнейших языков мира. Во-вторых - что вы подразумеваете под "жить"? С живет уже хренову тучу лет, несмотря на то, что его никто не обновляет.
    Ответ написан
    6 комментариев
  • Какие задачи решают на Rust, а какие на Golang?

    bingo347
    @bingo347
    Crazy on performance...
    Какие задачи решают на Rust
    любые. Rust - язык общего назначения, применимый к большинству возможных задач. Rust достаточно высокоуровневый для написания на нем прикладного ПО и компилируется в достаточно эффективный машинный код, для применения в ядрах ОС, драйверах или embedded разработке. Так же Rust на сегодня имеет самый маленький размер при компиляции в wasm, что критично для использования в web. Я честно не знаю такой сферы, к которой бы не подошел Rust.
    Единственной проблемой в применимости Rust я вижу недостаточную его распиаренность в РФ, что часто бывает самым важным критерием для "манагеров" и прочих людей принимающих решения о используемом стеке.
    а какие на Golang
    Golang тоже язык общего назначения, но имеющий ряд ограничений:
    - Крайне тяжелый рантайм не дает возможность использовать его в wasm, embedded или компонентах ядра.
    - Необходимость в сборке мусора опять таки ограничивает разработку для embedded или компонентов ядра.
    - Отказ от llvm в качестве бэкенда компилятора ограничивает число целевых платформ.
    Можно один заменить другим?
    Rust спокойно заменяет Golang в любой возможной на последнем задаче, наоборот же иногда имеем ряд ограничений.

    Вместо P.S.:
    Golang скорее всего окажется более быстрым для прототипирования и быстрого старта. Однако отсутствие полиморфизма в любом виде (утиная типизация не в счет) и ограниченность одной парадигмой структурного программирования делает этот язык крайне дорогим в поддержке. Так же этому (и быстрому прототипированию и дорогой поддержке кода) способствует лютая ненависть создателей языка к принципу DRY.
    Rust имеет такую редкую сегодня строгую типизацию, одним из нюансов которой являются концепции владения и заимствования (которые позволяют делать автоматическое управление памятью в compile time), что порождает с одной стороны высокий порог входа в технологию (что сглаживается человекопонятным выводом компилятора, если входящие умеют читать, что еще более редко встречается сегодня, чем строгая типизация), но так же удешевляет поддержку продукта длительное время. Так же надо понимать, что Rust не спасет от кривых рученок быдлокодеров (разве что они не смогут его освоить), так как при большом желании можно сделать и утечки памяти и дедлоки и гонки данных (хотя в Golang это все сделать на порядок проще).
    Ну и надо не забывать, что много где присутствует hype-driven-development и Golang распиарен, а Rust нет.
    Ответ написан
    3 комментария