Модераторы: 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   Вверх
nucer
Дата 7.4.2005, 15:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Се ля ви, согласен на 95%...


<Удалено модератором>

По-моему, я предупреждал в самом первом посте.


Это сообщение отредактировал(а) Domestic Cat - 7.4.2005, 18:24
PM MAIL   Вверх
mr.DUDA
Дата 7.4.2005, 17:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



Цитата(nucer @ 7.4.2005, 15:53)
В .net человек имеющий весьма скромные представления о программировании (именно о программировании, а не синтаксисе языка) может что-нибудь накликать и назвать это программой.
Скорее это даже противостояние идеологий и подходов к программированию в принципе... Академического и накликательного )
Всё-таки .net этот какой то "детский" )) И вообще не видел я на нём ни одного серьёзного проекта. Самая сложная прога на .net которую я видел - ремэйк диггера :-D
Надеюсь загнётся весь этот .net вместе с лонгхорном и его WinFX )


Типичный неаргументированный ответ человека, не имеющего абсолютно никакого понятия о том, о чём он говорит. Наверное, в Ваших проектах всё по-настоящему сложно и Вы не используете "накликательный" подход, и Ваши продукты действительно являются примером академически-выверенного подхода, правда ?

smile


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


Опытный
**


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

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



[quote]И вообще не видел я на нём ни одного серьёзного проекта.[quote]
Мож кто пример приведет серьезного проекта на .net (слышал, что были)? smile
PM MAIL ICQ   Вверх
mr.DUDA
Дата 7.4.2005, 18:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



1) DevExpress
2) RA.NET Framework / BusinessFramework / Workflow
3) Mono smile
4) GTK#
5) Axiom 3D Engine
6) DotGNU
.....


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


Эксперт
****


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

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



mr.DUDA, погоди... разве Моно и дотГНУ написаны на .NET?


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

PM   Вверх
arilou
Дата 7.4.2005, 19:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Великий МунаБудвин
****


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

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



Цитата
спецификация языков под .NET убивает всякие "маленькие приятности" различных языков программирования (т.е. акробатические трюки, позволяющие некоторые задачи решать очень короткими элегантными кусочками кода),

Скорее, человек явно не видел, что языки даже в поставке VS.NET различаются тем, что по-английски называется "syntactical sugar".
Например, в VB.NET можно объявить событие без явного указания типа делегата. Событие можно выбрасывать не проверяя, есть ли подписчики. В C# придется сначала объявить делегата, потом событие, а при его выбрасывании проверять, есть ли подписчики (чтобы не было NullReferenceException).

Цитата
Но вот отсутствие альтернативных сред разработки - реальный минус

Рекомендую посмотреть на SharpDevelop - бесплатная среда. Мне кажется, нельзя судить .NET за то что практически нет альтернативных сред - слишком мало времени на рынке. Среды появляются.

Цитата
(кстати, можно ли под вижуал-студию писать свои скины и плагины? Я ничего такого там не видал - возможно, плохо искал).

Можно плагины. Так делают очень многие.

Цитата
.NET в бОльшей степени отвечает требованиям неквалифицированного разработчика, которому необходимо погружаться в глубину реализации лишь всилу нестандартности его задачи - подход, в значительной степени был взят из Delphi (какой-то крупный начальник из Borland`а перешёл работать в Microsoft и имел отношение к руководству проекта .NET - неудивительно, что Delphi тоже приспособили под .NET - платформу - кароче спелись).

Это очень спорное и, на мой взгляд, хорошо завуалированное, утверждение о том, что квалификация программистов, использующих .NET низка. Буду рад ошибаться. Скорее всего, Вы тут путаете с ориентированностью среды VS.NET на низкоквалифицированных программистов со всеми ее drag-n-drop'ами и вождениями "за ручку". Да, согласен, не без этого. Но это отнюдь не означает ориентированности .NET framework на новичков. Без отсутствия навыков которые приобретаются только с опытом на .NET, как и на любом другом языке/технологии (кроме, наверное, Лого, если кто помнит такое) серьезные приложения никто не напишет.

Цитата
По-этому, частично и не от хорошей жизни, но Java - это демократия, открытый исходный код,........ .NET же - это полная тоталитарность и авторские права как угроза тому, что если ты их нарушишь......... По-этому .NET для перспективных проектов в нашей ситуации - это западня.

К сожалению, тут очень легко можно перейти к войне open vs propietary source. Не будем этого делать. Как сказал mr.DUDA, исходный код .NET приложений элементарно просматривается. Мне кажется, это связано с ориентированностью MS на западный рынок, где программу купят, если она нужна, а не будут использовать хакнутую версию.
Во-вторых, "открытость" кода в .NET не означает "возможность его модифицировать и предоставить под другим именем". Не зря лицензия на ROTOR (типа как исходный код .NET framework) запрещает использовать код или его фрагменты кроме как для образовательных целей.

Цитата
В Java же хороший проект можно создать на основе абсолютно-открытого софта на открытой IDE и на открытом сервере

.NET framework SDK 1.1 (free download) + SharpDevelop (free download) + MSDE (free download) при условии лицензионности Винды: можно писать Forms и ASP.NET приложения и веб-сервисы работающие с SQL.
Для тех, кто под *nix:
Mono 1.1.6 (open source) + MonoDevelop + mySQL - решают те же самые задачи.

Где глобальное преимущество? 2 примерно равные по возможностям среды конкурируют. Но в .NET не байт-код выполняется, а байт-код (простите меня апологеты .NET'а, я назову его так, чтобы не пришлось потом выяснять, чем байт-код Java отличается от кода MSIL smile ) just-in-time-компилируется в native при первом запуске, и работает в управляемой среде. Вот это, на мой взгляд, самое важное преимущество перед Java.
Добавлено @ 19:16
Я надеюсь, что ответил на все аргументы


--------------------
user posted imageuser posted image
PM WWW ICQ   Вверх
Domestic Cat
Дата 7.4.2005, 19:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Цитата
.NET framework SDK 1.1 (free download) + SharpDevelop (free download) + MSDE (free download) при условии лицензионности Винды: можно писать Forms и ASP.NET приложения и веб-сервисы работающие с SQL.


В принципе - да, но к сожалению, все упирается в Винду + ИИС.


Цитата(arilou @ 7.4.2005, 10:12)
Где глобальное преимущество? 2 примерно равные по возможностям среды конкурируют. Но в .NET не байт-код выполняется, а байт-код (простите меня апологеты .NET'а, я назову его так, чтобы не пришлось потом выяснять, чем байт-код Java отличается от кода MSIL smile ) just-in-time-компилируется в native при первом запуске, и работает в управляемой среде. Вот это, на мой взгляд, самое важное преимущество перед Java.

В Java JIT тоже компилит байткод в нативный - не полностью, но тем не менее. Собственно, преимущество было бы, если бы по скорости .НЕТ из-за этого значительно выигрывал, но реально Java/.NET программы почти идентичны в этом плане.

Цитата
Mono 1.1.6 (open source) + MonoDevelop + mySQL - решают те же самые задачи.


Моно в моем понимании - совсем не .НЕТ. Вопрос: можно ли на Моно писать АСП.НЕТ? Насколько Моно охватывает энтерпрайз приложения?
Другой пример : я пишу программку на .НЕТ и мне понадобился звук.... Ыпс... Естественно, я пользую винапи. Теперь мне понадобились стандартные звуки, и я не задумываясь лезу в регистри. Пойдет такая программа на Моно?


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

PM   Вверх
arilou
Дата 7.4.2005, 19:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Великий МунаБудвин
****


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

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



Цитата(Domestic @ 7.4.2005, 18:25)
погоди... разве Моно и дотГНУ написаны на .NET?

Еще одна вещь по поводу propietar'ности. MS сделали спецификацию доступной для всех. То, что их реализация спецификации пропиетарна является всего-лишь следствием их позиции на рынке.
Mono - это свободная реализация свободной платформы. И никто их судить не будет (если копирайтов не нарушат). У них даже многие вещи лучше получаются, чем у MS.
Заслуга MS в том, что они соединили воедино простоту использования VB (не путать с его простотой) с мощью C++ и без интерпретации, как в Java.
Так вот, то, что появился такой проект как Mono как раз свидетельствует о том, что придуманная платформа - вполне жизнеспособный и нужный другим проект, а соотв. это и есть признание .NET сообществом Open Source.

P.S.
Кстати, насчет интерпретации в Java я могу ошибаться, или мои сведения устарели.
Добавлено @ 19:30
Цитата(Domestic @ 7.4.2005, 19:24)
В Java JIT тоже компилит байткод в нативный - не полностью, но тем не менее. Собственно, преимущество было бы, если бы по скорости .НЕТ из-за этого значительно выигрывал, но реально Java/.NET программы почти идентичны в этом плане.

Давайте сделаем тест. Предложи текст проги на Java, мы предложим тоже самое на .NET.
Цитата(Domestic @ 7.4.2005, 19:24)
В принципе - да, но к сожалению, все упирается в Винду + ИИС.

Можно поставить Apache. К нему есть модуль поддержки Mono.
Цитата(Domestic @ 7.4.2005, 19:24)
Моно в моем понимании - совсем не .НЕТ. Вопрос: можно ли на Моно писать АСП.НЕТ? Насколько Моно охватывает энтерпрайз приложения?

System.EnterpriseServices не поддерживается в силу закрытости того, как MS его реализовало. ASP.NET + WebServices поддерживается при помощи как xsp/xsp2 (lightweight веб-сервер, написанный, кстати на C#), так и через Apache.
Цитата(Domestic @ 7.4.2005, 19:24)
я пишу программку на .НЕТ и мне понадобился звук

Да, ты прав - надо лезть в WinAPI. Можно использовать Managed DirectX. Можно использовать сторонние разработки. It's up to you, как говорится.
Registry -
Цитата(Domestic @ 7.4.2005, 19:24)
понадобились стандартные звуки, и я не задумываясь лезу в регистри. Пойдет такая программа на Моно?

Не знаю, но почти уверен, что доступ к реестру в Mono реализован. Не знаю, правда, как это состыкуется с другими осями.


--------------------
user posted imageuser posted image
PM WWW ICQ   Вверх
Domestic Cat
Дата 7.4.2005, 19:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Цитата
Так вот, то, что появился такой проект как Mono как раз свидетельствует о том, что придуманная платформа - вполне жизнеспособный и нужный другим проект, а соотв. это и есть признание .NET сообществом Open Source.


Скорее не признание .НЕТ, а своя интерпретация .НЕТ smile


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

PM   Вверх
Domestic Cat
Дата 7.4.2005, 19:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Цитата
Не знаю, но почти уверен, что доступ к реестру в Mono реализован. Не знаю, правда, как это состыкуется с другими осями.

Я об этом и говорю - какой реестр на Линухе?

Цитата
Да, ты прав - надо лезть в WinAPI. Можно использовать Managed DirectX. Можно использовать сторонние разработки. It's up to you, как говорится.

Ну вот, и так ведь не я один. Получается что большинство автоматически замкнуты на винде + .НЕТ; ведь серьезный проект без подобных "украшений" не сделаешь. Кросплатформенности нет.


Цитата
System.EnterpriseServices не поддерживается в силу закрытости того, как MS его реализовало. ASP.NET + WebServices поддерживается при помощи как xsp/xsp2 (lightweight веб-сервер, написанный, кстати на C#), так и через Apache.

То есть, Моно проигрывает Java на не-виндоус ОС на 99%, т.к. в основном Java используется там для энтерпрайз приложений.
Опять-таки, пишу я на .НЕТ с ИИС... Могу я перейти на Линух?

Цитата
Давайте сделаем тест. Предложи текст проги на Java, мы предложим тоже самое на .NET.

Делали - тут внизу где-то топик есть "Очередные данные о медленности Java" там в конце. У меня результаты получались один в один, с разбросом в сотню мс. Аналогичные результаты приведены в "Thinking in C#" Эккеля.


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

PM   Вверх
arilou
Дата 7.4.2005, 19:44 (ссылка) |   (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Великий МунаБудвин
****


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

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



Цитата(Domestic @ 7.4.2005, 19:30)
своя интерпретация .НЕТ

Не .NET а "платформы .NET"
Добавлено @ 19:52
Цитата(Domestic @ 7.4.2005, 19:43)
То есть, Моно проигрывает Java на не-виндоус ОС на 99%, т.к. в основном Java используется там для энтерпрайз приложений.


Это скорее исторически сложившаяся ситуация. Такой набор стандартных средств в .NET (я имею ввиду и Mono и MS.NET): Reflection + XML + ADO.NET + WebServices решает 70% так называемых enterprise-приложений.


Цитата(Domestic @ 7.4.2005, 19:43)
Я об этом и говорю - какой реестр на Линухе?
Ну вот, и так ведь не я один. Получается что большинство автоматически замкнуты на винде + .НЕТ; ведь серьезный проект без подобных "украшений" не сделаешь. Кросплатформенности нет.


По-моему, тут небольшая путаница. Кроссплатформенное приложение по умолчанию не будет использовать реестра. В Java тебе же тоже придется откуда-то взять стандартные звуки?


--------------------
user posted imageuser posted image
PM WWW ICQ   Вверх
arilou
Дата 7.4.2005, 19:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Великий МунаБудвин
****


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

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



Посмотрел тему "Очередные данные о медленности Java". Почему математику используем в качесте тестов? Давайте проверять скорости работы среды: вызовы, доступ к свойствам, события. Мне самому интересно, что будет быстрее работать. C++ нам тут вообще не нужен. Сравнивать будем C# и Java только в стандартных средствах среды.

Я ухожу сейчас. Если будут идеи по постановке тестовой задачи, пишите. Сам подумаю, может завтра чего предложу.




Это сообщение отредактировал(а) arilou - 7.4.2005, 20:02


--------------------
user posted imageuser posted image
PM WWW ICQ   Вверх
Domestic Cat
Дата 7.4.2005, 20:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Цитата(arilou @ 7.4.2005, 10:44)
Reflection + XML + ADO.NET + WebServices решает 70% так называемых enterprise-приложений.

Хм, разве энтерпрайз приложения - это одни вебсервиса? Это гораздо больше - веб приложения, десктоп приложения, разбросанные по различным городам/ОС. Опять-таки, нет в .NET EJB, а это очень серьезная технология.

Цитата

По-моему, тут небольшая путаница. Кроссплатформенное приложение по умолчанию не будет использовать реестра. В Java тебе же тоже придется откуда-то взять стандартные звуки?

Я их буду распространять вместе с кодом, т.к. на каждой ОС свои smile
Про реестр - это просто пример к тому, что Микрософт вообще не заботится о кроссплатформенности. Нет даже простейшего напоминания : "в вашем коде строки ХХ используют специфичхеские для ОС методы, будьте осторожны".

Цитата
Давайте проверять скорости работы среды: вызовы, доступ к свойствам, события.

События - вешь чисто дотнетовская, в ява все сводится к вызовам методов (да и в шарпе тоже).
Доступ к свойствам - тоже вызов методов, в java пишем getX() setX(), в шарпе проперти превращаются в get_X() - set_X() smile
Ну давай протестим, предлагай кот(д) smile


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

PM   Вверх
arilou
Дата 7.4.2005, 20:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Великий МунаБудвин
****


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

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



ОК.

Цитата(Domestic @ 7.4.2005, 20:12)
Хм, разве энтерпрайз приложения - это одни вебсервиса? Это гораздо больше - веб приложения, десктоп приложения, разбросанные по различным городам/ОС.

Web-service - это один из видов коннекторов, другими словамиб RPC, для распределенных приложений, о которых ты сейчас говоришь. С его помощью сервера будут общаться с другими серверами, клиенты с серверами, и т.д.
Цитата(Domestic @ 7.4.2005, 20:12)
Я их буду распространять вместе с кодом, т.к. на каждой ОС свои

А я о чем? Это не имеет ничего общего с кроссплатформенностью.
Цитата(Domestic @ 7.4.2005, 20:12)
Нет даже простейшего напоминания : "в вашем коде строки ХХ используют специфичхеские для ОС методы, будьте осторожны".

Зато Mono беспокоится smile
Цитата(Domestic @ 7.4.2005, 20:12)
События - вешь чисто дотнетовская, в ява все сводится к вызовам методов (да и в шарпе тоже).

Цитата(Domestic @ 7.4.2005, 20:12)
Ну давай протестим, предлагай кот(д)

ОК. See you tomorrow.


--------------------
user posted imageuser posted image
PM WWW ICQ   Вверх
Domestic Cat
Дата 7.4.2005, 20:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Цитата
Web-service - это один из видов коннекторов, другими словамиб RPC, для распределенных приложений, о которых ты сейчас говоришь. С его помощью сервера будут общаться с другими серверами, клиенты с серверами, и т.д


Конечно, но ведь энтерпрайз приложения - не только рапределенные приложения. Это поддержка (в т.ч. распределенных) транзакций, баланс нагрузок, и т п, для Java существуют десятки бесплатных контейнеров, обеспечивающих подобные вещи.

Цитата(arilou @ 7.4.2005, 11:17)
ОК. See you tomorrow.

ОК smile


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

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

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

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


 




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


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

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