Chameleon |
26.06.2012 09:30 |
После каждодневой работы с обоими языками и платформами для меня однозначнный выбор - C#/.NET/VS.
Если сравнивать языки, то С# 2.0 и Java 1.5 еще как-то поддавались сравнению (хотя и тогда С# был приятнее из-за нормальной реализации генериков, присутсвия стэк структур и т.п.), так с тех пор Java только стоит на месте, в то время как C# продолжает разширяться полезными вещами. Смотреть на усовершенствования языка в Java 1.7 просто смешно.
Если сравнивать платформы, то библиотеки в .NET поприятнее, в то время как к JDK надо прикрутить кучу сторонних библиотек, чтобы нормально писать (например Spring, Joda.DateTime и т.п.). Но это интуитивное впечатление, так что за факт выдавать не стану.
JVM vs CLR: Моя любимая фича в VS - возможность нормально модифицировать код из под дебаггера и менять позицию IP. В JVM тоже пытались прикрутить что-то подобное в виде Hot Swap, но по моему опыту применение изменений работает гораздо хуже и перемещать положение следующей исполяемой строки из под дебаггера не позволяет. А это бывает очень полезно в дебаге, чтобы заново выполнить или пропустить какие-то определенные строки.
IDEs:
VS vs Eclipse - эклипс нужно весь переконфигурить, чтобы нормально использовать имхо. IntelliJ делает разработку для JDK терпимой, но уже за деньги, как и VS.
Итого единственный минус .NET - финансовые затраты на лицензии. В целях экономии многие крупные компании повелись на Джаву. Но затраты на лицензии берут на себя компании, а преимущества или недостатки в каждодневном использовании приходятся на обычных прогеров.
|