• C# заменит ли Java?

    Mrrl
    @Mrrl
    Заводчик кардиганов
    Возможно, что и никогда - вряд ли многие захотят переходить с Java на C#, равно как и с C# на Java.
    Когда появился C# (в 2003 году), мы перевели на него проект с С++ без колебаний и без особых проблем. С тех пор не жалеем. Идеи переносить его на Java даже не возникало.
    В этом году понадобилось запустить одну из программ проекта на встроенном компьютере с Linux - тоже пошла почти сразу (под Mono). Причин переходить на Java или возвращаться на С++ не возникло.
    Но возможно, что у тех, кто пишет на Java, точно так же не возникает причин переходить на C#.
    Ответ написан
    Комментировать
  • C# заменит ли Java?

    heksen
    @heksen
    на windows заменит и заменяет.
    Ответ написан
    Комментировать
  • C# заменит ли Java?

    angrySCV
    @angrySCV
    machine learning, programming, startuping
    даже не знаю ни одного продукта достойного на C#
    вокруг всё написанно на C++, Java (Scala), JS, python и тд
    даже GO и Haskell я регулярно встречаю и вижу, а вот C# - что это вобще? где его и для чего используют????
    Ответ написан
  • C# заменит ли Java?

    Olej
    @Olej
    инженер, программист, преподаватель
    да ни в жизть!
    C# - это жалкое подобие Java, и было в своё время разработано только потому, что автором Java был не Microsoft а Sun Microsystems, и Sun отказались продавать MS это творение.
    Ответ написан
  • C# заменит ли Java?

    Oxoron ну что тут сказать навскидку...
    Я всегда считал .net допиленной java-платформой. Не то, чтобы в дотнете прям нереальные невероятные новшества, но все же некоторые вещи были обдуманы еще раз. Например, очень важным считаю разделение на reference и value типы. Правда, ИМХО, MS не довела идею до победного конца (слишком много технических вопросов нужно учитывать при выборе struct vs class), но все равно шаг очень правильный.
    Плюс, считаю важным отсутствие корреляции между логическим структурированием библиотек (по неймспейсам) и физическим (по сборкам). На каждом уровне должны приниматься отдельные решения насчет того, что куда класть.
    Еще одним преимуществом (нивелированным на данный момент) была изначальная ориентация .net на мультиязычную поддержку. Сейчас конечно JVM-языков навалом, но раньше это все-таки смотрелось киллер-фичей .net. Особенно поддержка "склеивающих" языков, таких как C++/CLI, которые позволяли интегрировать уже существующие компоненты с .net-приложениями. Дотнет изначально не был платформой в себе, разработчикам давали массу инструментов для интеграцией с COM и native-кодом. Ну и само собой managed-языки в приличном количестве, вон F# уже довольно давно подтянулся как официально (!!) поддерживаемый.

    А вообще конечно изначальным преимуществом .net были именно языки. Я думаю даже самые ярые джависты со мной согласятся, что с момента выпуска C#, язык Java развивается догоняющим образом. Можно опять сказать, что есть Scala, но тогда нужно учесть, что C# изначально был визитной карточкой платформы с момента ее появления. Ну и самое главное - инструменты. В мире Java достаточно хороших IDE, но уровень взаимоподдержки Студии и .net насколько мне известно пока не достигнут.

    И тут мы выходим на стандартное основное преимущество решений от MS - максимальная "готовность" и интеграция продуктов. К сожалению последние года 3 в Джаву не совался, но знакомые не раз говорили, что с отсутствием знаний об обеих платформах им гораздо легче было поднять hello-world веб-сайт (!) на asp.net в студии, нежели на том же Spring. Так или иначе, это фактор.

    Теперь библиотеки. Конечно, в мире джава их огромное количество. Я думаю и сегодня их значительно больше, чем в дотнет. Две либы в моем текущем проекте - NHibernate и NetTopologySuite - это порты с джавовских либ. Джава рулит на сервере. Про..аная Майкрософтом настоящая кроссплатформенность .net не давала ему потеснить джаву. Сейчас конечно это усиленно исправляется - в дотнете уже наступило перерождение после массовых релизов в open-source, переделанного asp.net, и появления DNX. По сути теперь .net официально поддерживается на *nix - системах. Это конечно надо было сделать намного раньше, но и сейчас этому рады.
    NuGet прекрасно справляется со своими задачами, более тесная интеграция в билд-процесс в DNX только улучшит процесс взаимодействия с ним.

    Ну и последнее - разработка UI. Все что есть в Java-мире (JavaFX, Java3D, Swing) это совсем не то. Windows Forms был отличным аналогом Дельфийских компонентов для UI, WPF в свое время вышиб немало дверей своим появлением. Если б он еще и развивался как подобает... Да, конечно, на джавовских технологиях вы напишите кроссплатформенную вещь, но она будет одинаково чужеродно смотреться и на винде, и в линуксовых desktop-средах. А людям в enterprise не особо нужна кроссплатформенность в UI - им намного важнее аккуратный привычный интерфейс, в том числе на Винде. Сейчас WPF может потеснить только современный Qt. Выбирая сегодня UI для десктопа, я бы выбирал между WPF и Qt, про джаву бы даже не подумал (да, я считаю что сегодня далеко не все можно и нужно пихать в браузер на тормозной JS. Весь новомодный неповоротливый софт, написанный с использованием Atom-а, меня удручает).
    ПРАВКА: посмотрел последние демки по JavaFX. В общем-то неплохо, осталось только дождаться хорошего роста коммьюнити и надеяться что не будет проблем с производительностью в сложных приложениях.

    Сколько тут преимуществ в штуках, посчитайте сами. Самый главный вывод - мало у кого возникает желание переходить на другую платформу просто потому, что обе сейчас очень хорошо развиты, и в обоих есть что поизучать, в обоих есть клиент и сервер, куча библиотек. Изучив один стек, никто не будет тратить время на другой, в этом просто нет смысла. Если кто-то и переучивается, то ради хорошей зарплаты: в банках и прочих страховых джава чуть популярнее, и за нее больше платят, процентов на 20.

    P.S. Да, тут кстати пишут что игродельство на C# достигло серьезного уровня. Я 3d делал и делаю на C++, поэтому тут пусть кто-нибудь другой прокомментирует.
    Ответ написан
    1 комментарий
  • Java или .NET - выбор с перспективой (не холивар)?

    @bromzh
    Drugs-driven development
    Java перспективнее:
    • Язык развивается, пусть не так быстро, но зато с сохранением обратной совмесимости
    • Язык кроссплатформенный и open source. Да, .net тоже открыли, но пока только частично
    • Уже существует огромное количество разных решений: много серверов, много фреймворков. Все они проверены временем и пашут быстрее шарпов. Под .net решений мало, сервера пока развёртываются только под виндой, фреймворков - единицы
    • Из этих пунктов следует то, что энтерпрайз будет и дальше выбирать java, а не .net
    • Под JVM есть крутые вещи типа Scala, Kotlin, Groovy
    • Android - имеет хорошую перспективу. Сейчас влепить его можно на любой дешёвый китайский ширпотреп, что не скажешь о виндофоне.
    • Для десктопа есть классная JavaFX, которая ещё и запускается везде. Решения для .net только сейчас начинают становиться по истине кроссплатформенными.
    Ответ написан
    Комментировать
  • Java или .NET - выбор с перспективой (не холивар)?

    @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 - для сравнения сложности трудоустройства в одну и ту же фирму в разных направлениях.
    Ответ написан
    Комментировать
  • Java или .NET - выбор с перспективой (не холивар)?

    gadfi
    @gadfi
    https://gamega.org
    И .NET и Java довольно таки ентерпрайзные вещи, в этом бизнесе спешку не любят ─ раньше чем через 5/10 лет .NET на линукс никто ставить не будет (я не про энтузиастов ) собирать баги новой технологии на своей шкуре когда это может стоить миллионы мертвых енотов никто не хочет.
    По трудоустройству примерно равны, да и сами технологии похожи
    Учите то что больше нравится, если хочется мобильного то java (вход для android сильно ниже java ee за год вполне сможете работать )
    Ответ написан
    3 комментария
  • Java или .NET - выбор с перспективой (не холивар)?

    @M1Anderson
    Ruby on Rails developer
    Важно, что бы через год-два я смог найти работу хотя бы полу-джуниором, не получал на много меньше чем джуниоры из другой платформы

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

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

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

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