Учебный путь для веб-разработчика .NET или Java [закрыт]

10

Мне интересно узнать, сколько реальных серверов веб-приложений размещено в Windows?

Я собираюсь изучать C # и ASP.NET и хочу превратить себя из встроенного разработчика в разработчика веб-приложений.

Мои друзья сказали мне, что существует множество серверов на базе Linux, а не Windows-серверов. Он также отметил, что стек навыков Java гораздо полезнее, чем .NET в мире веб-приложений.

Мой опыт работы с Java и C # примерно одинаков. Я опытный разработчик C ++, хотя.

Кто-нибудь может дать мне какое-нибудь предложение по этому поводу?

Большое спасибо

Кевин Чжан
источник
@home - Почему эта мания для закрытия вопросов на этом форуме? Это вопрос для программистов о программировании и возможность дать довольно конкретные ответы о плюсах и минусах, не прибегая к пламенной войне.
Джеймс Андерсон

Ответы:

14

В отличие от @John Fisher (+1) я парень из Java.

Я всегда завидую миру Windows / .Net, потому что все кажется гораздо более интегрированным, по крайней мере, для тех, кто не знаком со всеми деталями и подводными камнями.

Java-место немного более хаотично, поэтому оно порождает ряд довольно инновационных идей (например, hadoop, Spring и т. Д.) Вне JCP, которые продвигают официальные стандарты JavaSE и JavaEE. Поскольку JCP управляется кучей различных (коммерческих) организаций, он иногда сильно отстает (например, лямбда-функции в Java), так как просто требуется время, чтобы найти соглашения между всеми различными участниками.

Есть много плюсов и минусов для обеих сторон. Тем не менее, с технической точки зрения, на самом деле не имеет значения, следует ли делать Java или .Net, так как веб-разработка - это гораздо больше, чем думать о масштабируемости и общей сложности, когда речь идет, например, о 10k одновременных пользователей, обращающихся к вашей системе.

С точки зрения архитектуры программного обеспечения .Net и Java (платформы EE +) довольно похожи, они оба предоставляют API для решения всех распространенных проблем (например, MVC, Rest, JSON, Persistence, обмен сообщениями - и это лишь некоторые из них), которые мы » сталкиваются в современном мире.

В заключение - взгляните на обе концепции и выберите одну. Это не решение на всю жизнь.

дом
источник
2
+1 Ты прав, это не решение на всю жизнь. Я на самом деле ставлю своей целью в жизни изучение как можно большего количества различных языков программирования и сред. ИМХО, это дает мне понимание программирования независимо от языка. Я бы почти предложил людям изучить оба.
Джеймс Хоури
1
@James Khoury: Мудрые слова, у меня в повестке дня «недоверчивый .Net» уже 3-4 года - проблема в том, чтобы найти место, и я думаю, что это вызов для всех нас. Я просто отступил от «раздутых» корпоративных структур и перешел к функциональному миру - чему я научился несколько лет назад в университете, но никогда не применял в реальных сценариях.
дома
+1 за это не решение на всю жизнь.
Badar
12

Я не уверен, что количество серверов действительно имеет значение. Что делает дело: Можете ли вы достичь цели надежно, быстро и достаточно дешево с {х}?

Что касается .NET, то было бы редко получить ответ «нет» на этот вопрос. (Я не Java-человек, поэтому не могу помочь.)

Серверы Linux и Windows тоже не совсем подходят. Вы можете разрабатывать веб-приложения .NET для запуска на серверах Linux, используя Mono .

Джон Фишер
источник
1
+1 за "linux vs windows не совсем подходит".
Джеймс Хоури
8

Хорошо поработав в Java и немного в .NET, я бы категорически и абсолютно сказал, что .NET - гораздо более приятная среда для работы.

Его гораздо более последовательной и интегрированной среды программирования и «.NET» база завершена . Java во многом похожа на поиск сокровищ. Есть хорошие библиотеки и фреймворки, но вам нужно активно искать и оценивать практически все, что вам нужно для практического проекта, просто для правильной настройки среды разработки может потребоваться несколько дней.

Серверов * nix намного больше, чем серверов Windows (и их дешевле арендовать), но не многие из них содержат сервер J2EE - поэтому количество серверов не имеет значения. Это гораздо больше в случае .ASP против PHP.

Основная причина отдать предпочтение Java над .NET заключается в том, что многие из компаний из списка Fortune 500 стандартизированы на одной из двух крупных платформ J2EE: Webshpere от IBM или Weblogic от Oracle. За пределами этого, по общему признанию, гигантского, нишевая Java как платформа веб-приложений, кажется, потеряла популярность.

Джеймс Андерсон
источник
4

В наши дни спор идет скорее о php против asp.net, чем asp.net против jsp. Я не вижу много решений JSP / Tomcat в эти дни. В любом случае, почему бы не изучить как asp.net, так и jsp? Это схожие идеи, и я думаю, что jsp создает хорошую основу для понимания asp.net. Я согласен с @John, что Linux против Windows действительно не имеет значения. .NET отлично работает в Linux и Apache. Если вы знаете JAVA, то, возможно, потратите пару недель на написание некоторого кода JSP, а затем перейдите на asp.net и c #. Смотрите, какой вам нравится, и идти оттуда.

Джонатан Хенсон
источник