C# vs Java для удалённой работы за рубежом. Что востребовано?

Здравствуйте.
Очень долго в своей жизни, я выбирал языки программирования. Программирование я начал изучать в 2013 году, но по причине учебы, я не мог тратить на это достаточное количество времени.
В этом году я решил, что программирование может помочь мне заработать деньги. Меня интересует работа за рубежом, и удалённая работа. Не важно, фриланс (работа на заказчика/Upwork) или работа на организацию, но удалённая работа.
И на первое место, я поставил Python. Меня интересовал веб, но я понял, что выбирать PHP глупо. Сравните стоимость труда PHP и Python программиста за рубежом, и поймете, о чем речь.
Но со временем, Python мне стало не хватать. Существовали задачи, которые я не мог решить на Python. Например клиент-серверные приложения, игры. Не хватает производительности.
Я понял, что должен посмотреть в сторону других языков.
Взял C#, понравился, подошел. Но когда я столкнулся с тем, что хотелось бы разрабатывать еще и на Android, то решил посмотреть Java.
Java №1 в мире, и кросс-платформенный. Я имею возможность разрабатывать как на Android, так и на Windows.
А недавно подкинули эту статью:
https://habr.com/company/jugru/blog/327492/
Из чего следует, что C# развивается, и кросс-платформенность тоже развивается.
Потому я задался вопросом, остаться на Java, или же вернуться к C#, ну или изучать 3 языка программирования. Ведь как я знаю, для программиста, это не предел.
Вот что я вижу для себя:
По сравнению с Java у C# выше производительность, хотя майнкрафт сделан на Java, и вроде никто пока не жалуется;
Как я знаю, в Java нельзя работать с памятью. У меня знакомый информатик крутил JVM, говорит, что как-то вроде можно, но непонятно как. А в C# говорят, что можно в некоторых областях программы сделать неуправляемый код и контролировать память;
В C# комфортнее работать. Более того, он меньше по объему, чем Java;
У Java выше зарплаты, чем у C#. Кто сомневается, чекните тот же glassdoor. И в Америке, и в Британии, зарплаты выше у Java, чем у C#. А США и Британия - две страны, которые меня интересуют;
О США. Здесь мнения расходятся. Один русский ютубер из Америки, профессор, говорит, что Java в Америке уже давно никому не нужен, что шарп рулит, а другой говорит, уже Американец, что наоборот, Java рулит, а C# сплошная привязка к Microsoft и корпоративные разработки;
Наши Украинцы тоже считают, что Java №1, но при этом, востребованность выше у C#, чем у Java.
Я планирую оставить прежде всего Python, и выбрать второй язык или Java или C#. Или вы посоветуете изучать оба, и Java и C#?
Где проще найти работу за рубежом?
Заранее благодарен!
  • Вопрос задан
  • 21722 просмотра
Решения вопроса 2
opium
@opium
Просто люблю качественно работать
Если у вас учиться два три языка учите все
Ответ написан
@Namynnuz
C# вышел позднее Java, с учётом набитых чужими дядями шишек. И в дальнейшем обрастал приятным синтаксическим сахаром. После релиза .NET Core 2.0, вопрос о зрелости платформы для мультиплатформенной разработки больше не стоит, его можно тащить в прод. Проблема тут только в том, что обычно приходится поддерживать какой-то невероятно разросшийся кусок старого кода. И никто не станет переходить с одного стэка технологий на аналогичный. В лучшем случае будут потихоньку переписывать на чём-то абсолютно непохожем, если для этого есть предпосылки. В Европах больше любят Java, в США неплохо себя чувствуют .NET-чики. Так или иначе, и тем, и тем, найти работу можно. Эти языки точно не помрут. Бери то, что приятнее. Поковыряй одно, потом другое, или просто оцени книжки, которые ты можешь достать, к чему больше лежит душа. Пощупай среды разработки. Перейти с одного языка на другой в начале изучения можно совершенно безболезненно, они слишком похожи.
И ещё ремарочка. Если ты не считаешь, что будущее за Clojure (и тебя выворачивает LISP, ты не готов читать курс SICP от MIT) или Erlang/Haskell (даже при условии стремлению к параллелизму) и выберешь Java, стоит смотреть немного в будущее и в первую очередь пощупать Kotlin, который максимально удобно встраивается в уже имеющийся Java код и всю инфраструктуру, но обладает всеми фишечками C# (которые поддерживаются объектной моделью, потому как в .NET она более стройная), и даже немного сверху. Что-то придёт с C# 8, но отсутствие immutable типов из коробки удручает (в F#, например, всё это есть в лучшем виде).
В любом случае, писать потом на этом тебе, а сами языки мало чем отличаются по существу. Бери то, что тебе приятно. Не насилуй себя и не беги за модой (которая постоянно меняется) или вероятными барышами. Если ты станешь достойным специалистом, найдёшь куда приткнуться. Вообще, человек, который идёт в эту профессию за лёгким заработком (или ради денег), обычно плохо заканчивает.
Ответ написан
Пригласить эксперта
Ответы на вопрос 6
@Ambrosian
Востребованы специалисты.
Знание конкретного языка - не важно. Да и вы упомянули - оба мейнстримовых
А специалист - это не язык.
Синтаксис учится быстро.
Знания специалиста - это парадигмы, алгоритмы, паттерны и архитектура.
А вовсе не знания языка. Если только это не английский
;)
Ответ написан
Комментировать
sim3x
@sim3x
tl;rd учить нужно то что не вызывает отвращения
На зп на других ЯП нужно ориентироваться, когда у вас будет за плечами 1-5 лет разработки
И понимание, что программинг - ремесло и в редких случаях важен инструмент

Сразу нормальных денег не будет

В этом году я решил, что программирование может помочь мне заработать деньги
не поможет. Для того чтоб помогло нужно 1-5 лет вкалывать

Сравните стоимость труда PHP и Python программиста за рубежом, и поймете, о чем речь.
сравнивали. Мидл - в обоих стеках получает одинаково

Существовали задачи, которые я не мог решить на Python. Например клиент-серверные приложения, игры. Не хватает производительности.
варгеймингу хватает, а вам нет. Ок

Java №1 в мире
первое правильное утверждение

Из чего следует, что C# развивается, и кросс-платформенность тоже развивается.
ну да

По сравнению с Java у C# выше производительность,
ну да

У меня знакомый информатик крутил JVM, говорит, что как-то вроде можно, но непонятно как. А в C# говорят, что можно в некоторых областях программы сделать неуправляемый код и контролировать память.
сын маминой подруги btw умеет гуглить

В C# комфортнее работать. Более того, он меньше по объему, чем Java.
очень важный параметр

Наши Украинцы тоже считают, что Java №1, но при этом, востребованность выше у C#, чем у Java.

Колличество вакансий для Украины (от джуна до синьора)
Java 306
.NET 315
Ответ написан
saboteur_kiev
@saboteur_kiev Куратор тега Карьера в IT
software engineer
Ориентироваться на зарплаты по языкам программирования - это полный идиотизм.
Много платят за уровень специалиста, а не за язык.
Найти опытного специалиста по PHP, который зарабатывает больше среднего специалиста по Java или C# - несложно.

Поэтому пока вы годами будете выбирать и прыгать с одного на другое, кто-то другой уже приобретет опыт и устроится.
Ответ написан
Комментировать
@seamen
программист любитель
Можно потратить ещё несколько месяцев/лет на изучение Явы или можно начать зарабатывать $ на Питоне уже сейчас. Деловой человек выбрал бы второй вариант, а первый - сами решите...
Ответ написан
На java работают в основном стартапы, крупные сетевые компании, банки и различные провайдеры телефонии, нета, телекома и прочее, которые не хотят иметь вендор-лок (по правде говоря, они его имеют, но это уже третье).

На .net работают производственные предприятия, государственный сектор, логистические компании, ретейл.

т.е. язык то похожий, но его сферы применения сильно различаются. Т.е. например, в США (до .net core - да и сейчас), вообще ни у кого нет идеи по принципу: а давай замутим стартап на .net, так как все знают, что в случае роста они разденутся на хостинг, базу данных, софт итд.

Плох ли .net из-за этого - Нет. Например, Bank of America имеет штат пользователей софта на .net больше (сотрудников банка), чем весь Гугл, Амазон и Оракл вместе взятыми.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы