LINUX.ORG.RU

Преимущество Java


0

0

Всем привет. Тут такая ситуация, заказчик хочет веб приложение на дотнете, а я не люблю дотнет, меня Java очень даже устраивает. И чтобы не использовать поделие от MS, надо обосновать заказчику, чем Java лучше. Но, поскольку, боюсь что-нибудь упустить, отчасти и потому, что .NET знаю гораздо хуже, то прошу вашего совета. Кто какие аргументы приведет? Только пожалуйста, без флейма.

Ответ на: комментарий от Sauron_AZM

>да, это уже интересно

Нифига себе не интересно. Это же самая большая фишка.

elf
()
Ответ на: комментарий от wfrr

>Вас не учили что перегрузка операторов - зло?

Почему это зло? Всегда использую перегрузку операторов, нахожу это очень интересной особеностью

elf
()
Ответ на: комментарий от elf

Почему это зло? Всегда использую перегрузку операторов, нахожу это очень интересной особеностью

Не вижу противоречия. Зло тоже может быть очень интересным. И иногда и приятным. Даже весьма.

bibi
()
Ответ на: комментарий от bibi

>Вендор лок и пр. детский лепет не в счёт. Сказки можете рассказывать в талксах.

А почему ви считаете вендор лок децким лепетом?

elf
()
Ответ на: комментарий от wfrr

Тупая белочка, то что ты назывешь костылями гораздо удобной и читаемей всяких префиксных нотаций. Тебя кстати не смущает, что к тебе обращаются в женском роде? Может быть тебе это наоборот нравится, гомосекуальный ты любитель лиспов?

anonymous
()
Ответ на: комментарий от Corey

Ну если идея в скобках и куча перегруженных операторов - то все равно не вижу никакой проблемы. Скобки корректируют лишь порядок вычислений, в остальном все слева на право.
И никогда не сталкивался с какими либо ошибками. Кодю на С++

elf
()
Ответ на: комментарий от anonymous

>Тупая белочка, то что ты назывешь костылями гораздо удобной и читаемей всяких префиксных нотаций.

инфиксную грамматику сложнее распарсить.

dimon555 ★★★★★
()
Ответ на: комментарий от bibi

>Заказчику то нужен именно мс. Независимо от постгреса или ещё хбз чего. Он его вполне устраивает.

Часто заказчику нужен именно мс просто потому, что кроме как о мс он ничего не слышал. И на постгресе он будет гораздо довольнее, чем на мс-е.

«Все беды от незнания».

anonymous
()
Ответ на: комментарий от dimon555

кто-то все еще пишет парсеры вручную?

anonymous
()
Ответ на: комментарий от wfrr

я больше никогда не буду переоперделять операторы! :-(

Zloddey
()

Напиши, что не любишь и гораздо хуже знаешь .NET, и твой код на Java будет на порядок качественнее (в силу твоих индивидуальных особенностей). А врать не хорошо. Нет у явы никаких особенных преимуществ перед дотнетом.

Legioner ★★★★★
()

дешевизна, кроссплатформенность и масштабируемость

aydar ★★★★★
()
Ответ на: комментарий от Legioner

>Напиши, что не любишь и гораздо хуже знаешь .NET, и твой код на Java будет на порядок качественнее (в силу твоих индивидуальных особенностей).

Ну, в общем, так и сделаю.

Sauron_AZM
() автор топика

В общем, подводя итог вышесказанному, в плюсы Java выносятся: кроссплатформенность, относительная дешевизна(перед .NET, даже если использовать платные серверы), преимущество перед плохой обратной совместимостью MS. Сделаю я, как сказал выше, всем большое спасибо.

Sauron_AZM
() автор топика
Ответ на: комментарий от Sauron_AZM

Теоретически можно ещё порассказывать про языки - Java, Groovy, Scala, Clojure, Jython, JRuby, итп., хотя учитывая, что под .net тоже туча языков компилируется, это может и не слишком убедительно.

runtime ★★★★
()
Ответ на: комментарий от Sauron_AZM

Ещё - Java появилась раньше .net и под неё написано очень много библиотек, да и Java-кодеров как собак. Можешь привести примеры Ъ-Ынтырпрайз продуктов типа Оракла.

runtime ★★★★
()
Ответ на: комментарий от www_linux_org_ru

>> Вас не учили что перегрузка операторов - зло

я не пытаюсь заявить, что я лучше Гослинга, я утверждаю, что Хейлсберг и Одерски учили бы меня другому


И Брайт с Александреску ;)

naryl ★★★★★
()
Ответ на: комментарий от winlogon

> Чем v4.add(v1.mul(v2.add(v3))) лучше чем v4 + v1 * (v2 + v3)?

Чем и то и то лучше чем (+ v4 (* v1 (+ v2 v3)))?

И никаких философских проблем с перегрузкой операторов.

naryl ★★★★★
()
Ответ на: комментарий от winlogon

>> +(v4, *(v1, +(v2, v3) ) )

И чем эта польская запись лучше нормальной?


Во-первых, это не польская запись, во-вторых, что Вы называете «нормальной записью»?

naryl ★★★★★
()
Ответ на: комментарий от winlogon

>Чем v4.add(v1.mul(v2.add(v3))) лучше чем v4 + v1 * (v2 + v3)?

Мне не нравится когда выражение a += 2 имеет произвольную сложность вплоть до O(N!) и произвольный смысл вплоть до форматирования HDD.

Absurd ★★★
()

Лицензия на линуксовый сервак c JRE и JBoss-ом - зеро. Зеро можно умножать на любое число и все равно получать зеро.

Absurd ★★★
()
Ответ на: комментарий от Absurd

В D перегрузка операторов (а так же наследование для структур и ещё пара фичей) по дизайну сделаны именно для того чтобы кодер мог определять свои численные типы.

Вот скажите, где граница? Если запрещаете переопределять операторы, то запрещайте и давать имена функциям. Вдруг функция add на самом деле форматирует HDD? Пусть имена функциям даёт компилятор на основании содержащегося в них алгоритма, а ещё лучше просто вызывать функции по адресу. Так ни для каких неожиданностей не останется места.

naryl ★★★★★
()
Ответ на: комментарий от naryl

>В D перегрузка операторов (а так же наследование для структур и ещё пара фичей) по дизайну сделаны именно для того чтобы кодер мог определять свои численные типы.

Как давно ты в последний раз определил свой численный тип?

Вдруг функция add на самом деле форматирует HDD?

Красиво опровергнуть это конечно не получится. Можно сказать что выражения на перегруженных операторах могут быть крайне неэффективны. Т.е нельзя посмотреть на код и сразу на глаз определить его примерную стоимость.

Absurd ★★★
()
Ответ на: комментарий от anonymous

>Не повезло заказчику. Ох как не повезло.

Как ты лицензируешь свой виндовый сервер? По количеству камней или по количеству подключений?

Absurd ★★★
()
Ответ на: комментарий от Absurd

В первоначальной реализации ты оптимизировать не будешь, а профайлер покажет тормоза и в операторах и в функциях. Не вижу между операторами и функциями никакой разницы, кроме синтаксиса.

Или у вас корпоративный стандарт предписывает называть функции addOn2 и addOnlogn?

naryl ★★★★★
()

а у меня лисп головного мозга, мне нравиться когда

(+ v4 (* v1 (+ v2 v3)))

но сам бы я на таком сайт не стал бы делать.

ciss
()
Ответ на: комментарий от naryl

>во-вторых, что Вы называете «нормальной записью»?

Правда не понятно? Для особо непонятливых: «нормальная запись» это a + b + c.

winlogon
()
Ответ на: комментарий от winlogon

Это называется инфиксной записью. ИМХО не самый удобный вариант.

naryl ★★★★★
()
Ответ на: комментарий от Absurd

А мне не нравятся громоздкие вложенные функции там, где можно записать проще при помощи операторов. Например в boost::python или luabind.

winlogon
()
Ответ на: комментарий от Absurd

>Как ты лицензируешь свой виндовый сервер?

Этим занимаются сисадмины, школьник.

anonymous
()

Java объективно хуже по всем статьям. Так что не морочь людям мозги, и не бери заказ, который тебе не по силам.

anonymous
()
Ответ на: комментарий от wfrr

Занятно. Никчемный ничтожный студентишка, ничего ценного в жизни не сделавший, осмеливается оспаривать точку зрения таких монстров, как Одерски.

anonymous
()

«Я к вам клиента привел. Его проблемы - это мои проблемы. Мои проблемы - это ваши проблемы. Ваши проблемы - это ваши проблемы. Цепочка ясна?»

Это цитата из «Жмурок»© ?

Karapuz ★★★★★
()
Ответ на: комментарий от Absurd

>Т.е нельзя посмотреть на код и сразу на глаз определить его примерную стоимость.

Никогда нельзя на глаз определиь стоимость. Потому что если кретин может сделать operator+() со сложностью O(N!), то он может сделать такойже fast_add().

legolegs ★★★★★
()
Ответ на: комментарий от dimon555

>инфиксную грамматику сложнее распарсить.

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

DonkeyHot ★★★★★
()
Ответ на: комментарий от Devix

В том же, в чём и зло полиморфизма и наследования, которые тоже зло. ;)

naryl ★★★★★
()
Ответ на: комментарий от winlogon

Не будет, я вам уже предлагал пошевелить мозгом, прежде чем писать. И еще подумайте о принципе бритвы оккама, и поясните зачем новые сущности в виде операторов?

wfrr ★★☆
()
Ответ на: комментарий от wfrr

> зачем новые сущности в виде операторов?
Ну, к примеру, очень парит отсутствие дефолтной перегрузки операторов для BigInteger в java6.
Вообще согласен, перегрузка не нужна (кроме очень особых случаев).

metar ★★★
()
Ответ на: комментарий от wfrr

>поясните зачем новые сущности в виде операторов?

Выше уже объяснено зачем. Затем же, зачем все языки высокого уровня.

winlogon
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.