Начать можно со такого вопроса — чего есть в C# + .NET такого чего нет в Java? Принимается все — начиная от конструкций языка и заканчивая технологиями и скоростями работы.
Что на ваш взгляд является главным недостатком Java?
Про недостатки .NET сразу приходит в голову — отстутствие реальной кроссплатформенности и поддержки большого числа компаний.
Вообщем, прошу к барьеру
21.11.05 20:21: Перенесено модератором из 'Священные войны' — Kupaev
Здравствуйте, Gregory_krovosos, Вы писали:
G_>А давайте поразмышляем на тему сравнения платформы .NET и Java в свете выхода Java 1.5 Tiger? G_>(про нововведения в Java 1.5 тут можно почитать — http://pt.sun.com/javaondemand04/pdf/J2SE-Tiger.pdf)
G_>Начать можно со такого вопроса — чего есть в C# + .NET такого чего нет в Java? Принимается все — начиная от конструкций языка и заканчивая технологиями и скоростями работы.
G_>Что на ваш взгляд является главным недостатком Java?
G_>Про недостатки .NET сразу приходит в голову — отстутствие реальной кроссплатформенности и поддержки большого числа компаний.
G_>Вообщем, прошу к барьеру
И началась битва великая,
И полились реки кровавые,
И полетели головы горячие
Со свистом с широких плеч.
Только в голову бьющимся,
Не пришёл вопрос отнюдь не праздный:
"А зачем вся эта битва жестокая ?"
(с)
G_>>Вообщем, прошу к барьеру
BiТ>И началась битва великая, BiТ>И полились реки кровавые, BiТ>И полетели головы горячие BiТ>Со свистом с широких плеч. BiТ>Только в голову бьющимся, BiТ>Не пришёл вопрос отнюдь не праздный: BiТ>"А зачем вся эта битва жестокая ?" BiТ>(с) BiТ>
G_>Начать можно со такого вопроса — чего есть в C# + .NET такого чего нет в Java? Принимается все — начиная от конструкций языка и заканчивая технологиями и скоростями работы.
Любители ли вы портвейн так как люблю его я.
G_>Про недостатки .NET сразу приходит в голову — отстутствие реальной кроссплатформенности и поддержки большого числа компаний.
А оно надо? Что-то win до сих пор это никак не мешало...
Здравствуйте, Gregory_krovosos, Вы писали:
G_>Начать можно со такого вопроса — чего есть в C# + .NET такого чего нет в Java? Принимается все — начиная от конструкций языка и заканчивая технологиями и скоростями работы.
enumerations, fixed, using, unsafe, Interop...
G_>Что на ваш взгляд является главным недостатком Java?
EJB Ах, да... еще создание GUI под Windows..
G_>Про недостатки .NET сразу приходит в голову — отстутствие реальной кроссплатформенности и поддержки большого числа компаний. G_>Вообщем, прошу к барьеру
А если серьезно, то Java определенно более сильна в случае Enterprise-level систем.
Во всех других случаях можно долго выяснять кто же лучше, но это пустая трата времени, т.к. в общем случае они примерно равны. В итоге все сведется к выяснению у кого же лучший набор библиотек...
Здравствуйте, Gregory_krovosos, Вы писали:
G_>Начать можно со такого вопроса — чего есть в C# + .NET такого чего нет в Java? Принимается все — начиная от конструкций языка и заканчивая технологиями и скоростями работы.
В яве нет:
1. using-а
2. Делегатов.
3. Структур (вэлью-типов определяемых пользователем).
4. Области видимости internal и pronected internal.
5. Их дженерики не дают выигрыша в скорости и немогут быть переданы в другую сборку.
G_>Что на ваш взгляд является главным недостатком Java?
Sun. У них маркетинг хуже и денег в Яву они вкладывают мнеьше.
G_>Про недостатки .NET сразу приходит в голову — отстутствие реальной кроссплатформенности и поддержки большого числа компаний.
Ну, число компаний уже немалое. По переностимости есть Моно, то это конечно далеко не дотнет.
... << RSDN@Home 1.1.3 beta 2 >>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
G_>>Начать можно со такого вопроса — чего есть в C# + .NET такого чего нет в Java? Принимается все — начиная от конструкций языка и заканчивая технологиями и скоростями работы.
J>
J>Любители ли вы портвейн так как люблю его я.
Речь как раз не о предпочтениях/традициях, а о реальных возможностях этих систем.
G_>>Про недостатки .NET сразу приходит в голову — отстутствие реальной кроссплатформенности и поддержки большого числа компаний.
J>А оно надо? Что-то win до сих пор это никак не мешало...
RB>Сама постановка вопроса
G_>>... чего есть в C# + .NET такого чего нет в Java?
RB>ставит Java на место догоняющего. Это характерно, или так получилось???
Именно. Ведь .NET появился позже и обязан был по этой причине дать что-то новое.
G_>>Начать можно со такого вопроса — чего есть в C# + .NET такого чего нет в Java? Принимается все — начиная от конструкций языка и заканчивая технологиями и скоростями работы. kuj>enumerations, fixed, using, unsafe, Interop...
Enum в 1.5 появились.
Извините, я с шарпом не так хорошо знаком.
fixed — ?
using — имеется в виду очевидно использование IDisposable? (а не подключение пакетов?) Этого в Яве нет, но в концепции сборщика мусора нужно ли это?
unsafe — это возможность вызова платформенного кода? Если да — это вроде бы в Яве с рождения.
Interop -?
G_>>Что на ваш взгляд является главным недостатком Java? kuj>EJB Ах, да... еще создание GUI под Windows..
Имеются в виду тормоза Swing? Есть Eclipse.
G_>>Про недостатки .NET сразу приходит в голову — отстутствие реальной кроссплатформенности и поддержки большого числа компаний. G_>>Вообщем, прошу к барьеру kuj>А если серьезно, то Java определенно более сильна в случае Enterprise-level систем. kuj>Во всех других случаях можно долго выяснять кто же лучше, но это пустая трата времени, т.к. в общем случае они примерно равны. В итоге все сведется к выяснению у кого же лучший набор библиотек...
S>> А вот скорости нужно сравнить
G_>Нууу. Наличие стуктуры, то есть класса, урезанного по функционалу, это вообще не аргумент!
Это пример недостатка. Но никак не аргумент. Просто непонято почему в тигре они не внедрили структуры.
А если внимательно почитаешь ту ветку то разница может быть весьма сущщественаа на многих алгоритмах.
... << RSDN@Home 1.1.0 stable >>
и солнце б утром не вставало, когда бы не было меня
Здравствуйте, Gregory_krovosos, Вы писали:
G_>fixed — ?
Блокировать класс от перемещения в памяти сборщиком мусора. Нужно для того чтобы обойтись без маршалинга при общении с неуправляемым кодом.
G_>using — имеется в виду очевидно использование IDisposable? (а не подключение пакетов?) Этого в Яве нет, но в концепции сборщика мусора нужно ли это?
Нужно. Ждать пока сборщик вызовет финалайзеры для некоторых ресурсов (например файловые хендлы или соединение с БД) неприемлемо.
G_>unsafe — это возможность вызова платформенного кода? Если да — это вроде бы в Яве с рождения.
Нет, возможность явного использования указателей и адресной арифметики. Обычно используется совместно с fixed.
G_>Interop -?
А вот это как раз и есть взаимодействие с нативным кодом.
Здравствуйте, Gregory_krovosos, Вы писали:
G_>>>Начать можно со такого вопроса — чего есть в C# + .NET такого чего нет в Java? Принимается все — начиная от конструкций языка и заканчивая технологиями и скоростями работы. kuj>>enumerations, fixed, using, unsafe, Interop... G_>Enum в 1.5 появились.
А поддержку со стороны библотек тоже сделали? G_>fixed — ?
Лазейка на низкий уровень. Позволяет использовать адресную арифметику и запретить проверку на выход за границы массива.
G_>using — имеется в виду очевидно использование IDisposable? (а не подключение пакетов?) Этого в Яве нет, но в концепции сборщика мусора нужно ли это?
Чисто ради удобства. В finally можно забыть закрыть системный ресурс, с using это происходит реже.
G_>unsafe — это возможность вызова платформенного кода? Если да — это вроде бы в Яве с рождения.
Нет. unsafe используется обычно в паре с fixed.
The unsafe keyword denotes an unsafe context, which is required for any operation involving pointers.
G_>Interop -?
Для вызова функции из внешних dll, создания COM, ActiveX объектов. В том числе предоставляет средства для маршалинга.
G_>>>Что на ваш взгляд является главным недостатком Java? kuj>>EJB Ах, да... еще создание GUI под Windows.. G_>Имеются в виду тормоза Swing? Есть Eclipse.
Да это я в шутку. Сейчас GUI на Java вполне неплох. Даже swing`овый.
G_>>>Про недостатки .NET сразу приходит в голову — отстутствие реальной кроссплатформенности и поддержки большого числа компаний. G_>>>Вообщем, прошу к барьеру kuj>>А если серьезно, то Java определенно более сильна в случае Enterprise-level систем. kuj>>Во всех других случаях можно долго выяснять кто же лучше, но это пустая трата времени, т.к. в общем случае они примерно равны. В итоге все сведется к выяснению у кого же лучший набор библиотек... G_>Ну так и у кого он лучший?
Это из серии: "в какой стране самые красивые девушки". Вопрос, на который физически не возможно дать объективный и однозначный ответ.
S>> А вот скорости нужно сравнить G_>Нууу. Наличие стуктуры, то есть класса, урезанного по функционалу, это вообще не аргумент!
Структура и класс в .NET совсем разные понятия. Структура — value-type — передается по значению. Класс — reference-type — передается по ссылке. Но самое примечательно, value-type зачастую передаются заметно быстрее reference-type. Именно поэтому структуру в .NET ну никак нельзя считать урезанным классом.
Здравствуйте, Gregory_krovosos, Вы писали:
G_>Начать можно со такого вопроса — чего есть в C# + .NET такого чего нет в Java? Принимается все — начиная от конструкций языка и заканчивая технологиями и скоростями работы.
Reflection.Emit, то есть возможность генерации кода в run-time
из того, что я слышал — генерики в Яве эмулируются с помощью reflection'a, что исключает всякий выигрыш в скорости от их использования