Уже долго не могу определиться между этими языками. Облазив интернет пришел к выводу, что java популярнее, перспективнее ( в плане зарплат по крайней мере) и андроид с энтерпрайзом на нем лежит в основном. А c# не такой популярный, но хорошо кодируется в вебе и разработке игр, десктопе.
Да у C# появился .net core, xamarin и microsoft очень активно продвигают свое детище в последние годы. Но говорят, что у xamarina крайне мало перспектив, разработка игр в России это довольно рискованное дело, десктоп практически сдох, в вебе очень сильно уступает джаве, а .net core еще развиваться и развиваться. В голове складывается такая картина: C# на котором можно уйти во все сферы, но по факту жив он только в web и GameDev. И Java который хоть и уступает в плане красоты синтаксина и комфортности своему конкуренту, при этом намного популярнее и надежнее.
Как бы получается, все факты в сторону джавы склоняются, но все равно C# вызывает больше симпатии, хоть я его так и унизил.
Вот что из этих двух выбрать? И вообще у этих двух все так в реальности или я не прав?
Сам по себе тяготею к backend, разработке мобильных приложений и игр для мобилок.
В реальности, перспектив больше у того, кто долгое время учит, а не выбирает.
Идите туда, к чему больше тяготеете. Потому что мотивация делать что-то для себя крайне пригодится, когда станет ясно, что ИТ это не так уж и весело, и надо вкалывать.
Зачем ограничивать себя выбором?! ;-)
Посмотрите еще в сторону go и python.
А так...
ИМХО предпочтительнее выглядит Java.
У C# вся инфраструктура приколочена к Windows и MS.
Сейчас есть робкие попытки от этого оторваться, но там есть куча "нюансов".
Java же нормально живет почти на всех актуальных платформах - Windows, Linux, MacOS.
И инфраструктура для разработки м/у ними мало отличается.
Единственное для Windows проблемы с docker/kubernetes.
Чтобы контейнеризация под Windows заработала, нужно затратить чуть больше усилий, чем под MacOS и Linux.
Выбирайте c# - порог вхождения ниже. Когда освоитесь будет проще выбрать Java, как дополнительный язык программирования. Но к этому времени станете высокооплачиваемым C# разработчиком.
По вашим аргументам. Падение интереса к C# в РФ связано с уходом Макрософта из России. Поэтому так ярко выглядит.
Красота синтаксиса, в современной Java все гораздо лучше шарпа. Или если любите синтакисческий сахар берите Kothlin.
C# не обязательно только web и gamedev. Лично видел внутри одного банка приложение на шарпе. Есть одна студия, которая все свои продукты выпускает на шарпе. Да много где шарп применяется.
Могу поделиться своим субъективным ИМХО полиглота способного закодить многие вещи примерно на 15 различных ЯП - DX (Developer Experience) лучше у шарпа. Система типов будет понадежнее. Контракты на дженерики сделаны весьма хорошо (если бы я не знал Rust, то может и сказал бы, что отлично). Куча приятного сахара, вродеpublic int Field { get; private set; }или async/await или функциональных фишечек вроде замыканий (хотя в Java вроде тоже завезли уже)
Но самое важное, шарп позволяет писать в любой из 3х парадигм (процедурщина, ФП, ООП) и успешно их комбинировать, а Java хоть и притворяется ООП языком, адекватно и не сожрав всю память пользователя на ней можно писать только процедурщину, пусть и в ООП обертке.
Bavashi, это не только мое мнение. Например Егор Бугаенко, очень хорошо владеющий Java, считает так же. А еще так считает Алан Кей, который вообще автор ООП парадигмы.
Лично знаком с этим челом. Он все что угодно скажет, что бы хайп поймать. С этого и живет. Лишь бы книженки свои толкнуть. Это тот чел, который говорит, что программисты не нужны. И прочие хайпожерские вещи.