Я пишу на C# и писал немного на Python. Мне второй понравился тем, что там можно быстро писать всякие небольшие программы. Быстро что-то набросать. Есть много разных книг по машинному обучению. Ну и как новое после C# было интересно учить. С одной стороны динамическая типизация - это удобно, с другой можно наворотить страшные вещи. Я за строгую типизацию. В таких проектах легче разбираться, легче поддерживать, рефакторить и т.д. Я за C#. Бэкенд на C# тоже можно писать весьма приличный. На C# можно писать под Linux, MacOS и Windows. Скорость разработки упадёт или нет это ещё спорный вопрос, смотря как код писать, если на Python чисто копипастить - за то быстро, то я бы посмотрел на выражение лица того, кто этот проект будет поддерживать. Я хотел сказать, что на любом языке можно написать плохо и динамическая типизация не спасёт от того, что человек будет зависать на частях проекта, что-то менять и ломать другую часть проекта. Со строгой типизацией и средствами рефакторинга вроде
JetBrains ReSharper (в JetBrains Rider это сразу встроено) в C# проект не поломаешь так легко, а если поломаешь, то он просто не соберётся, пока не поправишь все ошибки, ведь типизация статическая и сразу будут видны все нестыковки. Вообще странное утверждение, что под Windows хорош C#. Он хорош под всё. На Python, какое-то время назад было больше библиотек для науки, для машинного обучения и т.д. сейчас уже много чего для этих дел
есть и у C# (там, кстати, есть и сравнение с Python библиотеками - раздел High performance and accuracy). Ну и сам язык развивается, постоянно появляются новые крутые фишки в нём. Так же есть ещё и F#, почти Python, но не так популярен и распространён.
Среды разработки:
*
Microsoft Visual Studio - под Windows
*
JetBrains Rider - под всё