|
Во первых давайте определимся, что такое ява. Это по большому счету спецификация, которая может реализовываться ЛЮБЫМ поставщиком купив лицензию у сана.
Сан поставляет лишь reference implementation, у IBM свой собственный JDK и JRE(JVM), BEA имеет свою собственную JVM. При желании Microsoft может сделать свой собственный вариант java, но в рамках утвержденной спецификации с другими производителями.
.NET появилась имеено в результате нежелания Microsoft что-то с кем то согласовывать. По сути это копия Java 2 Standart Edition.
Почему .NET приобретает популярность? Она не так академична концептуальна, и успешно закрывает некоторые слабые места явы - например GUI. К сожалению, процесс программирования у начинающих (например в России)начинается не с обдумывания того что ты хочешь сделать хоть примерно и не с изучения минимального набора паттернов (покажите мне обсуждение паттернов в книге по дельфи) а с помещения батона и прочего на форму.
Поэтому mvc, лежащее в основе свинга очень часто ставит начинающих в тупик, и тем самым вызывает убежденность что ява "кривая" и "сложная".
Alex__G добавил [date]1099299618[/date]:
Это лишь один из примеров того, почему learning curve для .net намного короче чем для java. А многим компаниям (на западе компании вкладывают деньги в обучение специалистов) просто надо лабать для заказчика сайты или небольшие приложения, а учитывая что для .NET есть простая в освоении и удобная в разработке IDE возникает вопрос - "а если нет разницы зачем платить больше?". Тем большинство проектов работает все равно под windows, на которой .NET работает быстрее (в частности windows forms намного быстрее тормозного неакселлирированного свинга).
Alex__G добавил [date]1099300322[/date]:
Разница проявляется при разработке крупных проектах, и вот здесь .NET выглядит пока очень бледненько.
COM 1.5+ (Enterprise Services)+ WebServices + remoting объективно не могут сравниться с J2EE CORBA+EJB, несмотря на все заявления маркетинга. Единой стандартной платформы развертывания приложений (Сервера приложений WebSphere, WebLogic, OAS 10g, и др.) под .NET нет, и не будет разработано независиммыми поставщиками - так как нет открытой спецификации разрабатываемой с их участием.
Тем более что Enterprise Services не реализовано в mono, и к реализации не планируется, что делает этот порт .net непригодным для реализации и развертывании серьезных приложений.
|