Подтвердить что ты не робот

.Net против Java-приложений

Когда я занимаюсь поиском работы в .NET-разработчике, все это в основном те же самые .Net, ASP, SQL Server, CSS, Javascript, AJAX и, возможно, С#. В то время как с Java у вас могут быть Java, Sturts, Spring, JSF, EJB, RDMB, Eclipse RCP, CSS, Javascript, AJAX, Rest, любое количество конкретных Java-API. Легче ли быть разработчиком .Net, поскольку технологии настолько сфокусированы? Или это просто так?

4b9b3361

Ответ 1

Это другое, а не просто.

Причина, по которой задания Java перечислены в отношении фреймворков, состоит в том, что у Java есть множество фреймворков и шаблонов проектирования, готовых к использованию, чтобы упростить работу. Шаблоны и структуры дизайна начинают больше появляться и в .NET, поэтому ожидаем увидеть изменение рабочих мест, чтобы больше походить на эти задания Java.

В обоих мирах существует так же много шаблонов и практик, но они больше установлены в сообществе Java (работодатель Java будет их нажимать на вас, вы окажетесь на вашем рабочем столе .NET).

Во многом, Java vs .NET является синтаксисом. Сделайте либо (сделайте оба!). Но имейте в виду шаблоны и рамки, поскольку они действительно помогут вам лучше писать код.

Ответ 2

Я разработчик С#, поверьте, в Java больше вариантов, чем в .Net. Очевидным преимуществом в .Net, однако, является то, что в любом задании, которое вы используете на земле, используется одна и та же среда IDE (Visual Studio) и (в большинстве случаев) использует новейшую инфраструктуру .Net(за исключением поддержки устаревших приложений). Могут быть некоторые тонкие различия у разных работодателей, например, с использованием корпоративных библиотек, MVC в сравнении с формами, WPF и т.д.; Но если вы опытный разработчик С#, вы можете легко адаптироваться в зависимости от ваших основ.

Некоторые разработчики в моей области, которые не изучали какие-либо другие языки программирования, как правило, ленивы и просто перетаскивают объекты, чтобы выполнить задачи в 80% случаев (некоторые из них даже считают, что объектно-ориентированное программирование - это просто код с объектами). Если вы знакомы на С++ или любом языке на основе C, у вас обязательно будет преимущество, но это не является обязательным требованием.

Я бы посоветовал научиться лучшим практикам программирования, никогда не клал все свои яйца в одну корзину (хотя бог сделал это для нас, мужчин) и был открыт для других языков, кроме С#. Если вы изучите один язык на основе C, изучение других основных языков будет не таким сложным, а начинать с VB.Net.

В любом случае, оба они хорошо оплачивают работу, и вы не пожалеете, если вы выберете один из них.

мои 2 цента.

Ответ 3

Да, с Java у вас есть веб-фреймворки, такие как JSF, Struts, Struts2, Wicket, SpringMVC, Stripes, Tepestry, Facelets.. просто чтобы назвать несколько. Каждая компания использует разные фреймворки, поэтому, если вы меняете задание, вы узнаете новые фреймворки. И его единственная веб-структура, как насчет стойкости? JDBC, Hibernate, JDO, iBatis. Кто может назвать 5 mocking frameworks для Java? Кто использовал 5 разных серверов приложений? Что относительно баз данных? Я даже использовал Informix и Teradata. Я думаю, что все .NET использует Sql Server и легче изучить одну базу данных.

Ответ 4

Пожалуйста, не забывайте о следующих технологиях .NET: Win.Forms, Silverlight, WCF, WPF, WWF... Есть еще много обучения в .NET за пределами веб-разработки. Нелегко быть старшим.NET-разработчиком, по крайней мере, не намного проще, чем Java. Тем не менее, имхо легче начать в .NET, когда у вас нет опыта в прошлом.

Ответ 5

В мире Java, который вы разрабатываете с помощью технологий из многих сообществ, в мире .NET, вы работаете только с технологиями Microsoft. На мой взгляд, разработчики Java более свободны в плане выбора технологий, но иногда это также создает проблемы.:)

Ответ 6

Сама Java имеет больше полей, входящих в нее; Я имею в виду, что у разработчиков Java теперь больше возможностей, чем на любых других технологиях на рынке. Их привлекают привлекательные компенсации для разработки различных приложений на основе Java, программного обеспечения и игр и т.д. В будущем они будут продолжать расти. Просто придерживайтесь JAVA:)

Ответ 7

Выделите технологии, которые вы упомянули (а некоторые нет). Это обязательно будет несколько неточным, так что это будет рай для nitpickers:)

    .NET           Java        The overall encompassing technology
    ASP            Struts      A Web development framework
                   JSF
    (.NET BCL?)    Spring      An application development framework
                   EJB
    SQL Server     an RDBMS    A database
    (VS)           Eclipse     An IDE

CSS, Javascript, AJAX, REST - это все технологии, общие для обоих стеков.

Технологические концепции, которые вы должны изучить, - это то же самое, что вы выбрали, - это просто имена разные. Все .NET будут "Microsoft Blah Blah Blah", в то время как у Java все будут иметь прикольные прохладные имена...

Ответ 8

Что-то еще важное, что нужно учитывать, это то, что вы можете "заклеймить" как разработчика .NET или Java на полпути к своей карьере. В этот момент становится все труднее переключиться, поскольку (понятно) у вас меньше опыта в том, который вы не выбрали. До сих пор я чередовался, но это связано с собственным набором проблем, где у вас есть пробелы в работе с новыми библиотеками/фреймами с каждой стороны.

Любые другие мысли о преимуществах/недостатках разработки Java против .NET? Например, какие типы компаний, культуры, оплата и т.д.?

Для меня это похоже на то, что .NET имеет тенденцию быть в более известных компаниях, тогда как Java используется множеством стартапов (с учетом доступности с низкой стоимостью и доступных библиотек с открытым исходным кодом). Плата сопоставима, но .NET кажется немного выше. Разработка Java может быть немного интереснее, учитывая, что вы чаще играете с новыми фреймами и не ограничиваетесь определенными парадигмами.

Ответ 9

В разговоре с моими .Net-приятелями, похоже, что начать с чего-то довольно стандартного проще, потому что большинство людей делают что-то в Microsoft. Java большое количество вариантов означает, что вам нужно выбирать библиотеки и инструментальные средства на разных уровнях. Потенциал роста для Java заключается в том, что, когда официальный или общий способ вам не подходит, есть еще много доступных вариантов.

На практике я не думаю, что это имеет большое значение. Любой отдельный магазин Java, как правило, соглашается на одну конкретную вещь. Например, Struts или Spring или JSF, не все три. Hibernate или Ibatis или чистый JDBC, не все три. Поэтому я думаю, что там примерно столько же материала, чтобы узнать, что, если вы используете стек Java или .NET, вы все равно решаете примерно похожие проблемы.