Ru-MaNGOS

Ru-MaNGOS (http://mangos.ytdb.ru/index.php)
-   Флудильня (http://mangos.ytdb.ru/forumdisplay.php?f=30)
-   -   C# vs Java (http://mangos.ytdb.ru/showthread.php?t=5550)

Dragon 26.06.2012 01:41

C# vs Java
 
холиварчик :)

LordJZ 26.06.2012 02:06

Выкинуть оба. Писать на DCPU-16.

Vladimir 26.06.2012 02:12

Несколько не ясно что сравнивается - языки в смысле синтаксиса/удобства кодинга - тогда чисто религия и безсмысленно обскждать, или платформы Java/.Net. Если как платформу то Java убог по сравнению с .Net, что не удивительно, учитывая что .Net был (a.k.a Juice написанный вроде в Церне будущим сотрудником MS) решение главной проблемы Java - потерю высоко-уровневой информации о коде программы при записи ее в .class

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 - финансовые затраты на лицензии. В целях экономии многие крупные компании повелись на Джаву. Но затраты на лицензии берут на себя компании, а преимущества или недостатки в каждодневном использовании приходятся на обычных прогеров.

zergtmn 26.06.2012 10:36

Цитата:

Сообщение от Chameleon (Сообщение 27804)
с тех пор Java только стоит на месте

Не правда.
http://qconlondon.com/dl/qcon-london...aSE8Beyond.pdf

Chameleon 26.06.2012 10:44

Цитата:

Сообщение от zergtmn (Сообщение 27807)

Я не говорю про то, что теоретически должно выйти в следующем году, после чего его еще вероятно будут дебагить месяцами. Факт в том, что за последние 8 лет (с J2SE 5.0 (September 30, 2004)) вышли всего 2 версии 1.6 и 1.7 без каких-либо значительно полезных улучшений, который могли бы сократить разрыв с C#.

partizanes 26.06.2012 13:01

манит ++

zergtmn 26.06.2012 16:55

Цитата:

Сообщение от Chameleon (Сообщение 27810)
Я не говорю про то, что теоретически должно выйти в следующем году, после чего его еще вероятно будут дебагить месяцами. Факт в том, что за последние 8 лет (с J2SE 5.0 (September 30, 2004)) вышли всего 2 версии 1.6 и 1.7 без каких-либо значительно полезных улучшений, который могли бы сократить разрыв с C#.

Наверное ваша точка зрения о полезности улучшений отличается от точки зрения разработчиков.
invokedynamic бесполезен? JavaFX? новые API тоже никому не нужны?
Разработчики Java более консервативны. C# и .NET уже перегружены, юзеры не успевают внедрить фичи, как M$ уже выпускает новые, при этом с легкостью избавляясь от старых. Вспомним истории с WPF, на котором когда-то планировали сделать интерфейс Windows, историю с Silverlight, который кроме как на мобилках нигде не прижился. В Metro-приложениях Windows 8 уже ограничены возможности использования Win32 и .NET BCL, а из .NET 4.5 выпилили поддержку XP, не добавив практически ничего нового. Продолжайте есть кактус.

Den 26.06.2012 21:15


Chameleon 27.06.2012 05:29

Цитата:

Сообщение от zergtmn (Сообщение 27818)
invokedynamic бесполезен? JavaFX? новые API тоже никому не нужны?

Все перечисленное не является улучшением языка Java. А разговор шел про простой языка Java на месте по сравнению с языком C#.
Библиотеки и виртуальные машины я сравнивал отдельно.

rsa 27.06.2012 07:09

Цитата:

Сообщение от Chameleon (Сообщение 27823)
А разговор шел про простой языка Java на месте по сравнению с языком C#.

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


Текущее время: 04:53. Часовой пояс GMT +3.

ru-mangos.ru - Русское сообщество MaNGOS