Изучите С# или Java для веб-разработки

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

Я начал думать, что я буду изучать Java из-за его общего повселокального присутствия в мире развития и особенно с насыщением J2ME в мобильной разработке. Однако казалось, что платформа .NET, особенно С#, лучше подходит для веб-разработки, учитывая всю систему/структуру.

Кажется, что С# будет хорошим компромиссом для языка как для разработки веб-приложений, так и для разработки приложений, и, надеюсь, не является сложным переключением на Java/J2ME, учитывая сходство между С# и Java.

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

Мой вопрос в том, является ли это точной оценкой Java? Это так же подходит для веб-разработки, как .NET с хостами и фреймворками? Я знаю, что это отличный язык, но я просто не понимаю, какова типичная дорожная карта для создания веб-разработки.

Извините за подробный вопрос. Любой вход был бы оценен.

Ответ 1

В дополнение к некоторым из уже сделанных замечаний есть и другие вещи, которые следует учитывать профессионально:

  • В корпоративном программном обеспечении в основном доминирует Java, потому что многие крупномасштабные клиенты предпочитают развертывать в среде UNIX и .NET CLR, которые там не согласны с большинством ИТ-магазинов этих крупных клиентов.

  • Java, как правило, считается более привлекательной целью приобретения в программном пространстве предприятия.

  • Географический спрос, по-видимому, является разрозненным между этими двумя. На западном побережье, в Северной Калифорнии, доминирует Ява. То, что вы специализируетесь, может диктовать, где вы найдете работу.

Если вы заинтересованы в создании потребительского сайта, многие потребительские сайты в наши дни не построены ни на Java, ни на .NET/С#. В дополнение к старому резервному сценарию PHP - также стоит рассмотреть Django/Python и Rails/Ruby. Существуют чрезвычайно зрелые решения для развертывания во всех этих областях. Я знаю это по опыту.

IMO, стек Rails на несколько лет опережает все, что предлагается в мире Java, которое в большинстве случаев все же требует, чтобы вы сшивали разрозненную платформу и надеетесь, что она будет играть хорошо (это меньше проблема с С#/. СЕТЬ). Сами строго типизированные языки также имеют тенденцию быть более многословными, чем Python/Ruby, где вы можете использовать функциональные методы программирования, такие как clojures и lambdas.

Перемещение между языками достаточно просто, но, как в случае с программированием, оно использует то, что уже было построено - это сложная часть. Изучение языка - это 10% усилий по отношению к истинному мастерству. Знание капризов используемой структуры, библиотек и понимание того, что доступно, является сложной частью. Только классы Java Foundation содержат тысячи файлов классов! Важно пропустить хотя бы одну платформу, прежде чем пропустить.

Ответ 2

Я использовал и для веб-разработки. В настоящее время я использую С#/.NET(и имею какое-то время сейчас), но это не говорит о том, что это превосходная платформа (или это?). В мире Java я использовал Struts/Hibernate с большим успехом для создания веб-сайтов, и на самом деле не было жалоб (производительность была отличная, развертывание было довольно простым). В мире .Net есть аналоги, такие как Monorail/ASP.Net MVC и, конечно же, NHibernate, поэтому вы можете создавать веб-приложения на одинаковой основе на обеих платформах.

Я думаю, что определяющий фактор должен будет свести к вашим собственным предпочтениям. Есть ли что-то об инфраструктуре .Net, которую вы считаете более привлекательной, чем Java? Вам действительно нравится развиваться в Eclipse и не хочу выкладывать деньги для Visual Studio? (Хотя, я должен отметить, что SharpDevelop - довольно красивая IDE)

Все очень неспецифические ответы... множество "Использовать силу Люка", но на самом деле, когда все это сказано и сделано, это личный выбор, так что идите с тем, что делает вас счастливым.

Ответ 3

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

Я видел много разработок в Java как в веб-приложениях, так и в настольных приложениях, поэтому я действительно не вижу, чья поддержка.

Хотя это не по теме, если вы только начали изучать программирование, я выступаю за то, чтобы сначала изучить C. Проницательность, необходимая для освоения этого языка на ранней стадии, действительно поможет в будущем.

Ответ 4

Предполагая, что вы используете Visual Studio, С# будет делать больше (и будет немного проще из коробки). Вам не нужно беспокоиться об установке внешних фреймворков или настройке чего-либо. У вас может быть пример приложения в секундах.

Если вы не знаете ЛЮБОЙ язык программирования, возможно, имеет смысл начать с чего-то вроде php? Вы будете работать быстрее и быстрее, хотя вам проще сделать неаккуратный выбор кода (IMHO).

Если вы хотите попасть в крупную корпоративную разработку на надежных серверах * nix, обязательно изучите Java. Однако, если у вас нет опыта программирования, кажется маловероятным, что вы сможете подобрать достаточно Java, чтобы "обмануть" эти предприятия, чтобы нанять вас. К сожалению, требования к записи для разработчика PHP или С# часто ниже.

Ответ 5

С#/.NET легче учиться и развиваться, но у Java есть преимущество быть открытым и кросс-платформенным.

Если бы я был на твоем месте, я бы начал с .NET/С# (включая ASP.NET MVC), а затем перешел на Java. Имейте в виду, что есть много сходств, но также и некоторые существенные различия.

(Я разработчик .NET, но я также изучаю Java для мобильного проекта.)

Ответ 6

если вы хотите разработать многоплатформенную Java (и это JSP/Applet/Servlet)
если вы хотите остаться с .Net(и Mono), возьмите С# или, возможно, VB.Net вместе с ASP.NET

лично я узнаю Ajax (как необходимый), если мои существующие знания были языком программирования на стороне сервера (ASP/PHP/Python), особенно PHP, поскольку он объектно-ориентированный и многоплатформенный

Ответ 7

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

Я занимаюсь разработкой веб-сайтов с помощью Java и рекомендую его использовать .Net, потому что для него существует так много бесплатных инструментов, серверов приложений и фреймворков. Вы можете создать java-сайт с помощью Tomcat, Apache, MySQL и Linux без каких-либо лицензионных сборов.

Не заходите за борт и старайтесь делать все сразу.

Изучите некоторые Java и JDBC Создайте свой сайт с помощью JSP (модель 1), это даст вам почувствовать платформу. Затем попробуйте одну из фреймворков, таких как Struts, или JSF, вы сможете оценить их гораздо больше к тому времени.