Надежные разработчики пишут о Java и .NET? - PullRequest
3 голосов
/ 19 декабря 2008

Позвольте мне прежде всего сказать, что я НЕ заинтересован в пламенной войне о том, что лучше: .NET или Java ... ПОЖАЛУЙСТА, не пишите, если вы хотите рассказать мне, как убийца .NET или как Microsoft это империя зла, поэтому разработчик с душой не может написать .NET или что-то еще. Мы все слышали это слишком много раньше.

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

Ответы [ 5 ]

3 голосов
/ 19 декабря 2008

Я не Тед Ньюард, но у меня достаточно опыта как в Java, так и в C #.

Несмотря на ранний проект Microsoft спецификации C #, утверждающей, что это смесь C ++ и VB, очевидно, что Java оказал огромное влияние. Однако, начиная с C # 1.0, я бы сказал, что C # был движущей силой инноваций в языке. (Хорошо, многие новые функции уже присутствуют на других языках, но не на Java ...)

Многие из предложенных функций Java 7 очень похожи на то, что на них повлиял C #, но я не удивлюсь, если бы они рассматривались до того, как C # получил их (как и дженерики). в Java разрабатывались годами, и в другом направлении были еще исследовательские проекты с дженериками в .NET еще до выпуска .NET 1.0).

Что ждет нас в будущем? Что ж, лично я хотел бы видеть true Java 2.0, который отказывается от обратной совместимости, чтобы очистить некоторые путаницы прошлого - и в значительной степени сделать его похожим на C #, но с существующей независимостью от платформы. Ничто на языке C # не связано с Windows. С этой стороны, это настоящий позор, что Mono не пошел дальше (или не был поддержан Microsoft, кроме Moonlight).

3 голосов
/ 19 декабря 2008

Мартин Фаулер написал об обоих.
Рон Джеффрис был бы другим, кто много писал о java и совсем недавно написал немало о C #

2 голосов
/ 19 декабря 2008

Я работал с обеими платформами с момента создания .NET, в основном в проектах на двух языках.

Java - это "испанский" язык (написанный испанский мало изменился за последние несколько сотен лет или около того), C # - английский (большинство из нас не может читать 200-летнюю английскую литературу)

В C # добавлены "все навороты", красиво и чисто добавленные в язык. Java довольно примитивен в сравнении.

У Java есть огромный выбор конкурирующих библиотек и разных способов / стилей кодирования, .NET гораздо более «единый выбор»; Часто Microsoft делает хороший выбор для вас. Эти аргументы объективно не приводят ни к чему конкретному; некоторые люди могут посчитать хорошим выбор, это хорошо, другие могут подумать, что это ненужные расходы. Мой текущий проект Java использует ни одну из библиотек, которые я использовал в аналогичном проекте 5 лет назад; так что, хотя язык один и тот же, среда программирования (библиотеки, IDE) значительно улучшилась.

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

0 голосов
/ 19 декабря 2008

Если вы ищете человека, который сравнил обе платформы Java vs .Net, то у меня нет имени, однако есть одна ключевая фраза, которую я хотел бы, чтобы вы знали о

Тип стирания

Дженерики в Java <- упомянуто здесь, я пришел к этому по слову друга по работе. (Я не уверен, когда будет исправление для этого) </p>

Это будет означать, что Java всегда будет боксировать и распаковывать.

со ссылкой на кросенволд

У Java огромный выбор библиотек и разные способы кодирования .NET есть гораздо больше «единого выбора». Это хорошо и плохо в обоих направлениях.

Я не совсем уверен, что он имеет в виду под этим. Если бы я догадался об этом, вы ссылаетесь на DataNet .Net. и как .Net (раньше) быть ориентированным на данные, а не управляемым доменом?

Если это так, я хотел бы упомянуть, что в .Net есть движение под названием «Alt.Net», также называемое «NHibernate Mafia», где есть ряд библиотек с открытым исходным кодом, позволяющих разработчику .net выполнять ORM / DI / MVC / TDD. и т. д. Со многими библиотеками, имеющими корни в мире Java (весна, гибернация), однако это не является ядром .Net или даже фреймворка Java.

Я бы предложил рассмотреть, что вы хотите сравнить. например

  • Каркасы (включая сообщества / с открытым исходным кодом)
  • Ограничения (Java - 1 язык, но работает на нескольких ОС, .Net является мульти томится, но "официально" поддерживает Windows платформы, используя Mono)
  • Доступные IDE

Вот несколько ссылок, с которых можно начать.

Сравнение платформ Java и .Net

Сравнение Csharp и Java (посмотрите, например, они по-разному обрабатывают перечисления)

НТН

Кости

0 голосов
/ 19 декабря 2008

Компания, в которой я работаю, имеет около половины своей разработки на Java (внутренние приложения) и половину на .Net (общедоступные приложения). Что вы хотите знать? в компании, в которой я работаю, есть несколько человек, которые могут сравнивать и сравнивать. Я признаю, что не очень хорошо знал Java. Вы ищете конкретные статьи, блоггеры или книги?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...