LINUX.ORG.RU

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


0

0

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

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

> Вообще согласен, операторы не нужны. Точка.

fixed

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

Уважаемый, выше есть только сопли про перегрузку и мантра фанатиков «нужно потому что это везде есть и балмер пророк его». А я вам предлагаю подумать 8)

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

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

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

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

скажи это математикам, они поржут

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


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


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


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


v2 v3 + v1 * v4 +

или, можно так:

v4 v1 v2 v3 + * +

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

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

скажи это математикам, они поржут


над записью, вида: f(d, g(a, h(b, c))) ???

Это каким же нужно быть мулом...

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

Над записью вида -(+(a,b), c)

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

В школе учат именно записи вида:a + b + c. В вузе тоже вроде бы ничего лиспоподобного не преподают. А вот например польская запись для человека менее естественна, хотя ее и легче парсить компилятором. В советских MK она была полезна, так как экономила память и место под программу. Но сейчас это не нужно.

И потом, перегрузка операторов это не только арифметические операции. Что плохого например в том, чтобы всесто vector.at(i) или g_ptr_array_index(a, i) писать vector[i]? Где тут потенциальные ошибки? А еще есть классы-функции. Тоже удобная вещь. А в джаве перегрузки нет, потому что от туда выкидывали все, лишь бы сделать язык более понятным быдлокодеру.

winlogon
()

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

Если проект небольшой, то выучивать .NET ради него явно будет странно. Лучше выучить его просто так, в свободное время.

С одной стороны заказчик платит за приложение именно на дотнете, а не просто за приложение. Значит у него есть причины, и они врядли заключаются в криках «си-шярп» МСанутых на ЛОРе или другом форуме Хотя роль слухов нельзя сильно недооценивать. Причины могут заключаться в существующем парке Windows машин, с уже купленым серверным ПО и MS SQL СУБД. Заказчик может хотеть всякие интеграции с мс офисом, или всякую доставку ClickOnce (хотя это я уже загнул) и прочее. У него уже могут быть наняты на работу программисты, которые поддерживают существующие .NET разработки.

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

1. Кроссплатформенность. Очевидно, мы не знаем как сложится будущее и даже без вендокапеца, роль маков и *nix будет рости. Ну и мы все что обычно стоит на серверах. И пускай у вашего заказчика очевидно винда, но со временем может и прижать, прийдется перелезать на Linux.

2. Интероперабельность. Java в принципе проектировалась с мыслью, что ничего не известно о удаленном компоненте. То же касается СУБД. В .NET часто бывает так, что фича доступна только в связке или с MS SQL или IE. Ну а IE, все с ним понятно...

3. Все по спецификации. Мигрировать с одной библиотеки для Java EE на другую проще. Склеиваются тоже просто.

4. Цена. Бесплатно почти все, кроме очень серьезных серверов.

5. С покупкой от Oracle денег у проекта Java станет больше. Думаю скоро список можна будет пополнить.

5. Обычно приложения состоят из очень изолированных компонентов, которые можно легко заменять простым редактированием конфига.

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

В школе учат именно записи вида:a + b + c.

А еще в школе учат списывать, и тому что преподаватель всегда прав.

И потом, перегрузка операторов это не только арифметические операции.

перечитайте последнее предложение

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

>перечитайте последнее предложение

Лучше объясни, над чем я должен подумать? Впрочем я уверен что ответа не добьюсь.

А еще в школе учат списывать, и тому что преподаватель всегда прав.

С такой логикой можно вообще забыть все чему учили в школе.

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

>> А еще в школе учат списывать, и тому что преподаватель всегда прав.

С такой логикой можно вообще забыть все чему учили в школе.


Нет.

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

Лучше объясни, над чем я должен подумать? Впрочем я уверен что ответа не добьюсь.

Я лучше намеками, надо развивать мышление, вот вам последнее предложение из моего другого поста сопоставьте, его, элегантность лиспа, и «с# в котором так много синтаксического сахара что слипается в жопе», и подумайте, почему имея пару скобок и алфавит удалось создать язык понятнее и мощнее чем c# который только тупо тырит идеи из лиспа?

С такой логикой можно вообще забыть все чему учили в школе.

Только при полно амозглии, или если в школе не учили думать, что в принципе одно и тоже 8)

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