Задать вопрос

Java или .NET — выбор с перспективой (не холивар)?

Всем доброго времени суток. Попытаюсь как можно менее холиварный вопрос задать (хотя модераторы могут его таки за холивар принять).
Я начал учить программирование, пока учу на примере Ruby 1.9 (т.к нашёл более менее годные видео уроки с объяснением основ).
Хочу перейти на лит-ру + выбрать дальнейшее своё направление: .NET или Java?
То есть в итоге (лет за 5-7) стать хорошим программистом и делать какие либо моб. приложения или же серверную разработку (то есть в теории и на практике уметь и то, и другое), но именно на этих платформах (.NET или Java).
Важно, что бы через год-два я смог найти работу хотя бы полу-джуниором, не получал на много меньше чем джуниоры из другой платформы (допустим что бы не было такого, что Java/.NET программисты получают на 200+$ больше чем .NET/Java программисты) и что бы была востребованость.

Все аналитические посты на хабре и обсуждения в интернете датируются 2012-началом 2014 года. Вопрос возник по причинам выбора дальнейшего пути (самые основы вроде типов данных, циклов и массивов я освоил (не осваивал ни ООП, ни стеки/словари и т.п)) и по причине развития Майкрософта в сторону кроссплатформенности (как никак за год моего изучения какой либо технологии (до уровня джуниора) .NET может уже приобрести кроссплатформенность и потихоньку сместить джаву в сторону поддержки старых проектов и Android (и то есть уже решения типо Xamarin).

Всем спасибо за ответы.

И да, если важно, я пользуюсь Mac OS X, но могу с лёгкостью использовать виртуалку или компьютер брата (с windows) для изучения.
  • Вопрос задан
  • 18155 просмотров
Подписаться 8 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 6
@M1Anderson
Ruby on Rails developer
Важно, что бы через год-два я смог найти работу хотя бы полу-джуниором, не получал на много меньше чем джуниоры из другой платформы

На уровне джуниора в любой технологии примерно одинаковые расценки. Но вакансии для java джуниоров, лично я, встречаю чаще.

(как никак за год моего изучения какой либо технологии (до уровня джуниора) .NET может уже приобрести кроссплатформенность и потихоньку сместить джаву в сторону поддержки старых проектов и Android

За год? :) Нет, не может. И через 10 лет она ее не сместит, на это разве что Scala способна. А на андроиде так и останется, скорее всего.

Не буду оригинальным и посоветую попробовать и то и другое, а потом выбрать, что в душу запало. Других вариантов нет. Стать лучшим можно работая в удовольствие, а не в рассчете на какие-то перспективы, тем более что у этих двух монстров они примерно равны.
Ответ написан
DVamp1r3
@DVamp1r3
Java/PHP программист
По .NET вакансий больше в СНГ. И для Java, если они есть, то как правило это EE с некоторым количеством смежных технологий (Hybernate и т.д.) и 3+ опыта работа. На сегодняшний день работу в .NET найти проще. Да и средства разработки наиболее удобные. По окладу одинаковые должности имеют примерно одинаковые суммы. Языки схожи, но C# развивается быстрее, Java более консервативна в этом плане (что с определенной точки зрения хорошо).
За рубежом может ситуация по вакансиям отличается, но среди заказов .NET опять же мелькает чаще. Складывается впечатление, что Java это либо Android (но на высоких окладах требуют много чего другого), либо глубокий-глубокий commerce.
Ответ написан
gadfi
@gadfi
https://gamega.org
И .NET и Java довольно таки ентерпрайзные вещи, в этом бизнесе спешку не любят ─ раньше чем через 5/10 лет .NET на линукс никто ставить не будет (я не про энтузиастов ) собирать баги новой технологии на своей шкуре когда это может стоить миллионы мертвых енотов никто не хочет.
По трудоустройству примерно равны, да и сами технологии похожи
Учите то что больше нравится, если хочется мобильного то java (вход для android сильно ниже java ee за год вполне сможете работать )
Ответ написан
@beduin01
.NET перспективнее. Выход vNext если не убьет Java на серверном рынке, то очень серьезно ударит по ее популярности.
Ответ написан
@strannik_k
Учите структуры данных, алгоритмы, ООП. Пригодится, хотя бы для прохождения собеседований. Ну и выбранный стек технологий.

Почему Java или .NET?
Если в энтерпрайз собираетесь идти, то посмотрите какие там требования сейчас на джуниора. В среднем требуют пару лет опыта работы на позицию джуниора и знания десятка технологий в данном стеке. Причем в каждой конторе стек разный. Конечно, можно в какую-нибудь слабенькую фирму устроиться туда поначалу, но и зарплаты будут пониже да и скорость роста медленней.
Если вы не очень одаренный человек, то лучше искать работу в областях помоложе: IOS, Android, Node.js. Зарплаты там не хуже, а требования ниже. Также советую выбирать узкоспециализированное направление, например не все вместе (базы данных + серверная часть, IOS, Android), а только разработку серверной части, либо IOS, либо Android. Идти туда, где один разработчик должен уметь писать и под IOS и под Android - не стоит, т.к. и требований больше при той же зарплате и потом будет сложней сменить работу (будете знать 2 направления на среднем уровне, вместо одного, но на хорошем).

Порекомендую ознакомиться:
1. megamozg.ru/post/10348 (про ошибку 3)
2. megamozg.ru/company/dataart/blog/17084, megamozg.ru/company/dataart/blog/15904, habrahabr.ru/company/dataart/blog/234003 - для сравнения сложности трудоустройства в одну и ту же фирму в разных направлениях.
Ответ написан
Комментировать
@bromzh
Drugs-driven development
Java перспективнее:
  • Язык развивается, пусть не так быстро, но зато с сохранением обратной совмесимости
  • Язык кроссплатформенный и open source. Да, .net тоже открыли, но пока только частично
  • Уже существует огромное количество разных решений: много серверов, много фреймворков. Все они проверены временем и пашут быстрее шарпов. Под .net решений мало, сервера пока развёртываются только под виндой, фреймворков - единицы
  • Из этих пунктов следует то, что энтерпрайз будет и дальше выбирать java, а не .net
  • Под JVM есть крутые вещи типа Scala, Kotlin, Groovy
  • Android - имеет хорошую перспективу. Сейчас влепить его можно на любой дешёвый китайский ширпотреп, что не скажешь о виндофоне.
  • Для десктопа есть классная JavaFX, которая ещё и запускается везде. Решения для .net только сейчас начинают становиться по истине кроссплатформенными.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы