Модераторы: LSD, AntonSaburov

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Java или .NET ? 
:(
    Опции темы
Domestic Cat
Дата 7.4.2005, 09:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5452
Регистрация: 3.5.2004
Где: Dallas, US

Репутация: 50
Всего: 172



Предлагаю обсуждать тут достоинства и недостатки обеих платформ.
См. также http://forum.vingrad.ru/index.php?showtopic=47924

Любые переходы на "крутизну", "проприетарность", личности будут сурово караться.


--------------------

PM   Вверх
batigoal
Дата 17.5.2005, 13:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Нелетучий Мыш
****


Профиль
Группа: Участник Клуба
Сообщений: 6423
Регистрация: 28.12.2004
Где: Санктъ-Петербургъ

Репутация: 24
Всего: 151



В общем, аналоги прослеживаются четко, и чтобы понять, что удобнее, надо пробовать. А возможности близки.


--------------------
"Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли)
ЖоржЖЖ
PM WWW   Вверх
Domestic Cat
Дата 17.5.2005, 18:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5452
Регистрация: 3.5.2004
Где: Dallas, US

Репутация: 50
Всего: 172



Старенькие статьи,
Цитата(arilou @ 17.5.2005, 02:22)

1) Код, написанный с помощью .NET fx


Java код тоже "managed", в .NET кодом "управляет" CLR, в Java - JVM

.
Цитата(arilou @ 17.5.2005, 02:22)
"Metadata attributes are a VERY, VERY powerful feature" - что это за фича?

Эта фича есть в Java 1.5.


--------------------

PM   Вверх
Guest
Дата 1.9.2005, 20:02 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











smile smile
Но почему Java такая медленная? Одна и та же программа на .NET выполняется в 1,5 раза быстрее, чем на Java? Почему? http://gzip.rsdn.ru/Forum/Message.aspx?mid=1358598&only=1

smile smile
  Вверх
LSD
Дата 1.9.2005, 20:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 210
Всего: 538



Те скоростные тесты которые мы здесь гоняли показали, что Java не медленней C#.


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
bars_uz
Дата 3.9.2005, 12:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 106
Регистрация: 26.3.2005
Где: Tashkent

Репутация: нет
Всего: нет



Vsetaki Java kruche esli ... esli eshe polzovatsya pri programirovanie DB JDataStore 7 to,, kruche nichego ne naydeote..

k primeru.. ya nedavna sozdal baze dlya muzeya holakost... 40000-50000 zapis. otkrivaet za 1.3 sekunu.. eto na kompe P4 256RAM.. a na P1 32RAM uhodit 3-4 sek.


nu nascheot C# .. Horoshiy yazik.. no na Win95/98 ne rabotaet.. vchem prikol. vsetaki Java kruche..
PM MAIL ICQ   Вверх
mr.DUDA
Дата 8.9.2005, 12:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

Репутация: 1
Всего: 232



Цитата(bars_uz @ 3.9.2005, 12:11)
nu nascheot C# .. Horoshiy yazik.. no na Win95/98 ne rabotaet.. vchem prikol. vsetaki Java kruche..

Полный гон. Работает .NET на 98-ой винде, и на 95-й, при наличии IE6.


--------------------
user posted image
PM MAIL WWW   Вверх
programador
Дата 26.4.2006, 00:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 65
Регистрация: 12.4.2006

Репутация: нет
Всего: нет



Цитата(mr.DUDA @  8.9.2005,  12:02 Найти цитируемый пост)
Работает .NET на 98-ой винде, и на 95-й, при наличии IE6. 

Ну этим все и сказано smile . Что за зависимость такая странная - Java от Мозиллы вроде не зависит smile (шутка, естественно).
Я принадлежу к тем, кто считает .NET коммерческой попыткой Microsoft выбить с рынка или, хотя бы, ослабить своих злосных "солнцевских" конкурентов.  smile С другой стороны IBM явно пытается отомстить Microsoft за то как Билл Гейтс водил их за нос пол десятка лет и взростил свою фирму на их деньгах. 40 000 000 $ за проект Eclipse сумма не маленькая даже для такого гиганта как IBM. Мощный подарок-инвестиция. А ведь его даже Борланд поддержал (ALM обещают).
Что в .NET радикально нового? Managed-код не их изобретение, а Java. Промежуточные коды тоже. Тут есть реальный повод задуматься, что будет когда затея Microsoft достигнет своей цели или провалиться. Им ничто не мешает сказать через пару лет - "Извините, но проект .NET признан нами неперспективным и устаревшим, после 200... мы полностью прекращаем его поддержку." Java существует с 1995 г. и постоянно развивается (когда быстрее, а когда медленнее, но развивается). 
Более высокая производительность у С# как правило обнаруживалась под виндой, что и не удивительно smile ... Вот даже такой момент 
Цитата(arilou @  7.4.2005,  19:12 Найти цитируемый пост)
just-in-time-компилируется в native при первом запуске, и работает в управляемой среде. Вот это, на мой взгляд, самое важное преимущество перед Java.
 можно интерпретировать как намек, что запускаться он будет скорее всего в Винде и программиста никто не спрашивает что он хочет увидеть на экране. В Java я имею свободу выбора - могу использовать SWT и создать, а после оптимизировать native-код, что даст производительное приложение унаследовавшее (в крайнем случае сэмулировавшее) элементы интерфейса ОС; а могу использовать Swing - и моя прога будет похожа на изначально задуманную в любой системе без native-кода. И в этой свободе также преимущество Java. Сюда можно отнести и широкий выбор технологий доступа к данным и обмена данными. А что нам предлагает Microsoft?.. - в основном свои продукты и парочку других, для приличия. И не потому что не могут, а потому что не хотят! Это жестокий мир бизнеса и корпоративных войн, где .NET очередное оружие smile против отлаженной и проверенной военной smile Java-машины (хотя тут, как минимум плацдарм smile ). Тут вопрос в том на чьей стороне воевать - коварного титана Microsoft или отряда великанов таких как Sun Microsystem, IBM и Oracle...  

Это сообщение отредактировал(а) programador - 26.4.2006, 00:40
PM MAIL   Вверх
mr.DUDA
Дата 6.5.2006, 14:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

Репутация: 1
Всего: 232



Цитата(programador @  25.4.2006,  23:37 Найти цитируемый пост)
Ну этим все и сказано  . Что за зависимость такая странная - Java от Мозиллы вроде не зависит  (шутка, естественно).

Да уж, странно, конечно. По-моему дело тут не в самом браузере, а в ActiveX и прочих компонентах, которые ставятся вместе с ним.

Цитата(programador @  25.4.2006,  23:37 Найти цитируемый пост)
Я принадлежу к тем, кто считает .NET коммерческой попыткой Microsoft выбить с рынка или, хотя бы, ослабить своих злосных "солнцевских" конкурентов.  

С этим полностью согласен smile. Никто (и сама M$) этого не отрицает. С другой стороны, что плохого в наличии конкуренции ?

Цитата(programador @  25.4.2006,  23:37 Найти цитируемый пост)
Что в .NET радикально нового? Managed-код не их изобретение, а Java. Промежуточные коды тоже.

Если сравнивать то что предлагала M$ до сих пор в плане API и технологий (COM, ActiveX), .NET радикально отличается в лучшую сторону. Если же сравнивать с Java, то нового кроме поддержки нескольких языков, ничего.

Цитата(programador @  25.4.2006,  23:37 Найти цитируемый пост)
что будет когда затея Microsoft достигнет своей цели или провалиться. Им ничто не мешает сказать через пару лет - "Извините, но проект .NET признан нами неперспективным и устаревшим, после 200... мы полностью прекращаем его поддержку." Java существует с 1995 г. и постоянно развивается (когда быстрее, а когда медленнее, но развивается). 

Будем надеяться, что этот момент произойдёт тогда, когда все будут к нему готовы. В любом случае, для этого потребуется достаточно веская причина. Сама по себе платформа уже устоялась, и выход новых версий windows к отказу от .NET не приведёт. 


--------------------
user posted image
PM MAIL WWW   Вверх
vinegr
Дата 15.5.2006, 13:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 23
Регистрация: 6.2.2006

Репутация: 1
Всего: 3



Позвольте описать конкретную проблемку, на которой IMHO хорошо видна разница между дотНет и Java:
в проекте на C# (.Net 2.0) разделил сервер на два модуля (Транспорт и АппСервер), общающиеся через Remouting.
Транспорт обслуживает клиентские соединения, парсит команды, для выполнения которых асинхронно вызваыет методы АппСервера ([OneWay] в атрибутах метода, SingleCall в конфиге). Если бы делал подобное на Java, пришлось бы писать пул нитей-обработчиков, менеджер их порождения, механизмы синхронизации и тп. - т.е. в 10 раз больше кода, причем достаточно хитрого кода. 
На C# все красивенько-компактненько, работает просто с офигительной скоростью, НО - абсолютно непрозрачно. Когда эта механика начала сбоить (рано или поздно, но закономерно) - сервер после нескольких десятков тысяч команд (нескольких суток работы) стал тихо умирать.
Где-то подтекает какой-то ресурс (скорее всего, системный пул внутри Remoutinga) - но где и какой ? Вся механика-то СИСТЕМНАЯ, встроена в недра исполняющей системы, причем не в виде "системных объектов", из которых можно надеяться выжать хоть какую-нибудь диагностику, а встроена прямо в язык - атрибут в коде и две строчки в конфиг-файле.
Т.е. вместо исследования проблемы предполагаются пляски с бубном вокруг черного ящика. 

Черный ящик (исполняющая система .Net) УМЫШЛЕННО И ПРИНЦИПИАЛЬНО НЕ ПОДДЕРЖИВАЕТ возможность своего исследования.  Хочу это особенно подчеркнуть, потому что именно НЕПРОЗРАЧНОСТЬ - ГЛАВНОЕ ОТЛИЧИЕ .Net от Java. 
В Java есть возможность "спуститься" на любой уровень, полностью отследить цепочку выполнения (пусть это "принципиальная возможность" - на практике слишко трудоемкая) -  в .Net ничего такого вообще нет. 
Да, в Java есть включения native-кода, но они обособлены, специфицированы и в 99% cлучаев их можно заменить штатными средствами (в ранних Сановских версиях долго гулял баг в работе с сокетом - но он никого особенно не напрягал, потому что сразу появилась туча альтернативных DLLей).
.Net  основан на native-компонентах, и весь managed-код всегда будет лишь "обмазкой" для них, что, может быть, в теории допустимо, но на практике отдает жульничеством.
 (конкретно в моем случае - теоретически можно встроить в Remouting sink свои обработчики - но на практике подключение managed кода не только резко сажает производительность (раз в 30), но и кардинально меняет поведение системы - а  какой смысл в дебаггере, если под ним программа исполняется совсем не так, как без него).

Ну, путем шаманства и рихтовки, довел я uptime своего сервера до приемлемой цифры - но что я получил, полноценный продукт, независимый от MS ? 
PM MAIL   Вверх
ALKS
Дата 15.5.2006, 15:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 354
Регистрация: 22.3.2006

Репутация: 1
Всего: 11



vinegr, ну я думаю самому не пришлось бы писать "пул нитей-обработчиков, менеджер их порождения, механизмы синхронизации и тп. - т.е.". наверняка есть уже готовые бибилотеки и вообще асинхронные коммуникации ты бы основал скорее всего на JMX. ну т.е. я думаю наврдяли на самом деле тебе бы пришлось полностью разрабатывать нужный механизм с нуля. особенность современной разработки на Java уже в том сейчас, что прежде чем сделать что-то входит в привычку порыться в комъюнити - и всегда находиться smile

по-теме: суть разницы между .NET и Java по-моему придельна ясна.  .NET никогда не будет по настоящему кросплатформенным решение, просто потому что это прямо протеворечит интересам MS. Какой смысл MS вваливать десятки милонов баксов в разработку мощной среды которая позволит разрабатывать приложения работающее НЕ ПОД Windows? это откровенно глупо!!! люди должны покупать Windows.Windows - основной продукт и ядро бизнеса MS. все и любые разработки MS должны подталкивать людей покупать Windows. 

весь шум и вся борьба между .NET и Java. она не вокруг того какой язык C# или Java лучше. она вокруг разработчиков софта. Прямой интерес MS в том, чтобы люди писали софт под Windows, а не под другую OS. и если для этого нужно разработать альтернативную J2EE платформу - то вот она. и более того я убежден что .NET функционально будет лучше J2EE, так же как C# ,будет богаче Java(собственно Java уже отстает от С#...) Ведь если мы не может предложить кросплатформенность мы должны предложить нечто альтернативное, чтoбы склонять разработчиков к нужному нам выбору...

Делать так чтобы .NET работал под Free BSD??? чтобы вместо того чтобы покупать Windows 2003 Server (стоящий кстати конкретно!) люди радостно ставили BSD?? 

MS можно как угодно обзывать. но уж дураками их назвать точно нельзя. более того - они очень умные и дальновидные ребята именно поэтому они доминируют на этом рынке. Вы что всерьез думаетете что .NET нету под BSD, потому что это трудно сделать? - увольте, для компании которая может легко ввалить в любую разработку миллиард - это вообще не проблема. оне НЕ не могут.они совершенно сознательно НЕ хотят.

У Sun в одиночку нет никаких шансов против MS. Sun повезло в том что интересы монстров индустрии IBM и Oracle совпадают с интересами Sun. И дело тут вовсе не в желании насолить MS, а в том что этим компаниям жизненно необходимо развитое кросплатформенное средство разработки софта и проще присоедениться к чужому и хорошему, чем разрабатывать свое с нуля... 
PM   Вверх
COVD
Дата 15.5.2006, 15:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1655
Регистрация: 26.7.2005

Репутация: 17
Всего: 43



Цитата

особенность современной разработки на Java уже в том сейчас, что прежде чем сделать что-то входит в привычку порыться в комъюнити - и всегда находиться 
 .. и оканчивается все те ми же плясками с бубном  smile. Теоретически разобраться можно, но не просто это. И пестрят форумы по java вопросами типа как прикрутить технологию А к технологии В.   smile  А это и не java уже вовсе.  
PM MAIL   Вверх
batigoal
Дата 15.5.2006, 15:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Нелетучий Мыш
****


Профиль
Группа: Участник Клуба
Сообщений: 6423
Регистрация: 28.12.2004
Где: Санктъ-Петербургъ

Репутация: 24
Всего: 151



Цитата(COVD @  15.5.2006,  16:42 Найти цитируемый пост)
И пестрят форумы по java вопросами типа как прикрутить технологию А к технологии В.   smile  А это и не java уже вовсе.   

Почему? Мы же рассматриваем платформу в целом. 


--------------------
"Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли)
ЖоржЖЖ
PM WWW   Вверх
ALKS
Дата 15.5.2006, 15:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 354
Регистрация: 22.3.2006

Репутация: 1
Всего: 11



Цитата(COVD @ 15.5.2006,  15:42)
Цитата

особенность современной разработки на Java уже в том сейчас, что прежде чем сделать что-то входит в привычку порыться в комъюнити - и всегда находиться 
 .. и оканчивается все те ми же плясками с бубном  smile. Теоретически разобраться можно, но не просто это. И пестрят форумы по java вопросами типа как прикрутить технологию А к технологии В.   smile  А это и не java уже вовсе.

да не только... часто выясняеться что тебе нужен не просто специалист в J2EE  а человек опытный в ряде фреймворков. потому что изучение группы не простых технологий отнимает недели в лучшем случае.  это с одной стороны паршиво, потому что начинают появляеться класс спецов которые не знают базовые спецификации но знаю скажем как юзать Struts... т.е. развитие фреймворков поощряет деградацию специалистов. smile
но с дургой стороны это и большая свобода выбора и возможность подобрать или найти, что-то удобное именно для твоей задачи что приимущество ... 
PM   Вверх
COVD
Дата 15.5.2006, 16:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1655
Регистрация: 26.7.2005

Репутация: 17
Всего: 43



Цитата

Почему? Мы же рассматриваем платформу в целом. 

Конечно, чтобы воспользоваться, например, Hibernate, надо знать для начала java. Но владение собственно языком в программировании на java является все еще необходимым, но уже все менее достаточным. Я про это. Ничего нового  smile . 
PM MAIL   Вверх
vinegr
Дата 17.5.2006, 10:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 23
Регистрация: 6.2.2006

Репутация: 1
Всего: 3



меня лично мало напрягает НЕ-кросс-платформенность дотНета (под виндой он удобнее и будет только все более удобным со временем).  Выбрать технологию очень просто: виндовый сервер=доНет, уникс(или кросс-платф)=Java.
Меня ДИКО напрягает непрозрачность дотНета - т.е. масса механизмов, включенных в недра исполняющей системы, которыми принципиально нельзя управлять. 
Практических ситуаций - море (необязательно в хитрых механизмах вроде асинхронных коммуникаций - вон в треде 
обсуждается тривиальная ситуация - форма, порожденная в асинхронном вызове. Такая форма в дотНете почему-то принудительно закрывается при сворачивании родительской формы.  В Java cуществует тысяча путей прояснения и обхода подобной ситуации, а как бороться с этим в дотНете - НИКАК! и такие "никак" будут только накапливаться и усугубляться. 
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
javastic
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0974 ]   [ Использовано запросов: 23 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.