LINUX.ORG.RU

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

2together

>Уффф. Ты прав, а также знаешь почему я ввязался в этот спор. Похоже
>было, что в треде есть люди кому это будет интересным и понятным. Ан
>нет - ошибся.

Не ошибся. Я с тобой почти полностью согласен. Java - это целый мир, а QT только библиотека. А Java + XML это целая вселенная. А те кто кричат, что Java ацтой, так это их личные проблемы. Спорить тут не о чем.
Глухой со слепым. :)

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

2Skull

>> Ха-ха. Очень смешно. :)) Особенно про Lotus Domino :))
>А конкретнее, чем смешно? Или у вас есть достойная альтернатива?

Для моих задач навалом. Отличие только в том, что они дешевле "носа" в бесконечное число раз.

vada ★★★★★
()

>А написать вы чего - нибудь платное на QT
>сможете? Только заплатив денюжку? А на жабе?

Да. Для этого достаточно коммерческую/закрытую часть программы вынести в отдельную библиотеку.


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

>И где здесь беда Java? Все это относится к любому языку.
Да. Но Ява - язык с довольно ограничеными(сознательно) возможностями. Последнее предлагаю не оспаривать:-) - возможности не самые слабые, но и не сильно большие. Компромис, однако.

>По изложению я сказал бы не "всего лишь "это не cool", а именно sux.
Прошу прощения за то, что был неверно Вами понят.:-( Мне кажется что эти высказывания вполне полит-корректны(кроме, возможно, последнего процитированого).
Не обижайтесь, но в большинстве все же справедливы, IMHO.

Что впрочем не умаляет заслуг SUN-а по разработке "технологий". Склонен согласиться с тем, что они разработаны лучше большинства существующих. Но это "всего лишь" - API и design patterns(-:еще не выспался:-). Вполне пододящие для определенного круга задач.
Но привносящие необходимость использовать Яву в качестве языка программирования. И почему-то (не обижайтесь - просто не смог найти более правильного слова) "фанатичную" приверженность однажды изученому.

>оказывающиеся готовым колесом
>Вот один из параметров определяющий Java как технологию.
Спасибо за пояснения. Теперь есть над чем подумать:-). А вредный ifconfig едва не помешал мне получить нужные ответы:-)

DonkeyHot ★★★★★
()

2vada
>Уффф. Ты прав, а также знаешь почему я ввязался в этот спор. Похоже
>было, что в треде есть люди кому это будет интересным и понятным. Ан
>нет - ошибся.
Вообще-то это была моя фраза, а не together :)

2DonkeyHot
>>И где здесь беда Java? Все это относится к любому языку.
>Да. Но Ява - язык с довольно ограничеными(сознательно) возможностями.
>Последнее предлагаю не оспаривать:-)
Если бы не рожица в конце фразы дал бы 100% что фраза от фанатика нелюбящего Java. Раз есть улыбка, то есть надежда на исправление :)

>Не обижайтесь, но в большинстве все же справедливы, IMHO.
Дык я и не обижаюсь, но постарался указать что эо не так. Если был не понят - ничего поделать не могу. RTFM однако.

>...Но привносящие необходимость использовать Яву в качестве языка
>программирования.
Хммм. Этого никогда не понимал. Какая разница на чем писать если необходим результат? Ведь если надо говорить с англичанином, то нужно _знать_ английский и не надо сетовать, что не получается с ним разговора на японском.

Любой язык имеет ограничения. Абсолютно любой. Те попытки раздвинуть ограничения предпринятые в C# только усложняют его семантику и делают сложным для восприятия/переноса.
И говорить что Java имеет большие ограничения совсем некорректно. JavaScript, VBA имеют их на целую вечность больше. Ну и что? Из-за этого надо отказаться от JavaScript?

А ifconfig совсем не вредный, а говорит толковые вещи. :)

Korwin ★★★
()

>100% что фраза от фанатика
Я считаю себя способным менять мнение при наличии серьезных аргументов. Но добыть их не просто:-)

>постарался указать что это не так. Если был не понят - RTFM.
Увы - не получилось. А не понят был я. :-)

>Любой язык имеет ограничения.
Точно! Но при этом он должен иметь и преимущества, нивелирующие эти ограничения на определенных задачах. Ява имеет "технологии". Что вообще говоря есть свойство _не_ языка а наработок для него.

>Какая разница на чем писать если необходим результат
Экономическая целесообразность. Необходим обычно _не_ "результат" а "результат за такие-то время+деньги". На Яве есть достаточно готовых компонент, чтобы "время+деньги" были не очень велики(возможно даже меньше чем у большинства языков).
Но против утверждения об ущербности явы(языка) аргументов пока мало. Посему складывается впечатление, что асимптотически(когда остальные начнут разрабатывать _свои_ технологии) выбор явы станет хуже других(или язык изменится до неузнаваемости).

Конечно, сейчас "экономический" перевес,преимущество во времени и, возможно скорости развития(за счет массовости) на стороне явы. Что меня и печалит - ибо писание на яве менее приятно, чем на питоне и хаскеле. Хотя, возможно, это вопрос вкуса.

DonkeyHot ★★★★★
()

>>А ifconfig совсем не вредный, а говорит толковые вещи. :)

Да вредный я вредный %)))))

ifconfig
()

Отходя от темы разговора. Странно что авторы не догадались сравнить еще с PyQt - тогда бы точно еще и выиграш в скорости разработки получился хороший. Как раз вариант который перекрывает доводы про кросс-платформеность (не надо перекомпиливать); отклик приложений мгновенный так как идут вызовы на c++ библиотеку. Тоже сборка мусора (ксати еще и qt зависимая что еще упрощает работу).

Конечно яву не перекроет так как язык интерпретируемый-полукомпилируемый :) но зато для написания клиентско-прикладного уровня задач опережает и qt/c++ и java раза так в 1.5-3 (по моему опыту).

Конечно что-то системное или сложно комплексное то тогда уж лучше с++ или java.

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

2DonkeyHot

>Но против утверждения об ущербности явы(языка) аргументов пока мало.

Вах!!!!
Вот с этого места поподробнее, пожалуйста! Хотелось бы список ущербностей Java, и вчем она заключается! Смутно догадываюсь, что Вы называете "ущербностью", но не буду опережать события! Список в студию!

vada ★★★★★
()

>список ущербностей Java
Не заводитесь. Слово "ущербность" действительно излишне радикально. Скажем "недостатков".
Основной тезис: Язык "ява" обладает недостатками(как и все другие) но имеет слишком мало преимуществ. Так вот: список преимуществ в студию:-).
Желательно не ссылаться на "технологии", библиотеки и design patterns - ибо это не от языка, а "для языка", в том числе для обхода его недостатков.
Приведу 2 недостатка(-:может потом еще вспомню:-):
1. Кривое множественное наследование.
2. Относительно большой обьем кода программ, на нем писаных.

Ваш ход, коллега:-)

DonkeyHot ★★★★★
()

> 1. Кривое множественное наследование. Как точно подмечено! Отсутствие кривого множественного наследования - недостаток? > 2. Относительно большой обьем кода программ, на нем писаных Относительно чего? А что по твоему важнее - объем кода или его наглядность?

Cantor ★★
()

>Отсутствие кривого множественного наследования
Как отметил на прошлой странице fmike (2003-03-24 00:30:49.83569) оно в яве почти есть. Однако простым программистам недоступно.
Притом множественное наследование само по себе кривым не является - просто есть проблемы с реализацией. В питоне с ними вполне справились.

И вообще, отсутствие "возможности" вряд ли может быть достоинством само по себе(ибо можно не пользоваться если не необходимо). Достоинством "отсутствия" может быть только полученая в результате этого другая возможность, невозможная в случае наличия первой и приносящая бОльшие плоды, чем принесла бы первая.(-:ух... надеюсь ничего не перепутал:-).

>> 2. Относительно большой обьем кода программ, на нем писаных >Относительно чего? что важнее - объем кода или наглядность?
Мат.ожидание длинны кода на яве больше такового для питона, окамла, хаскеля. Вероятно список не исчерпывающий. И наглядность хуже. Я бы не спорил, будь у явы один из этих параметров лучше.

Не верите - напишите несколько реальных кусков кода на нескольких языках и попросите другого человека оценить наглядность. Сравните длинну кода. Оцените средние.



DonkeyHot ★★★★★
()

Жаба была переоценена маркетоидами и руководителями компаний как
уникальное средство решения всех проблем быстро и за дешево.
Но прошел угар, улеглась пыль и люди осознали что не смотря на огромное колличество денег и труда вложенного в жабовские
"технологии" чуда не произошло. У жабы своя, и довольно скромная ниша
и слава Богу что народ потихонечку осознает это и не сует жабу
куда не попадя.
C/C++ бессмертен и накакая жаба не сможет поколебать его позиции.
А вот будущее жабы довольно сомнительно, потому как это уродливое
порождение сановских руководителей и маркетоидов сдохнет вместе
с саном.
Совет жабоидам - учите классику - C/C++ и не будет так обидно
выпасть из обоймы и вообще пригодится в жизни.
А сравнимать Qt и жабу - просто смешно. Разные масштабы, разные
цели. Вобщем сравнение луны и яичницы.



anonymous
()

Пишу на С++ и Java несколько лет.
IMHO: C++ лучше и гораздо естественней приспособлен
для переложения алгоритмов в работающий код.
И как ни странно поддержка Java приложений сложнее.
+ my 2 cents

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

2DonkeyHot

>Приведу 2 недостатка(-:может потом еще вспомню:-):
>1. Кривое множественное наследование.
>2. Относительно большой обьем кода программ, на нем писаных.

И это все???? Смешно :)) Не. Правда смешно. Бедненько как.

А теперь преимущества в студию

1. Отсутствие ЯВНОГО множественного наследования;
2. Отсутствие дополнительных файлов описания типов;
3. Отсутствие препроцессора;
4. Возможность описания требуемых переменных в том месте программы, где они востребованны;
5. Правила видимости описанных переменных;
6. Отсутствие механизмов работы с укзателями;
7. Отсутствие оператора GoTo
8. Очень жесткая типизация;
9. Отличная читаемость кода программы;
10. Отсутствие ограничений на длинну идентификаторов;
11. Отсутствие явного механизма распределения освобождения памяти;
Хватит? Или еще добавить?

А вот довольно серьезный недостаток - работа с простыми типами
int, float, boolean, short, ...
Очень неудобно.

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

2DonkeyHot

>>Отсутствие кривого множественного наследования
>Как отметил на прошлой странице fmike (2003-03-24 00:30:49.83569) оно
>в яве почти есть. Однако простым программистам недоступно.

Хе! :)) Видимо, я необычный программист :)))

>Не верите - напишите несколько реальных кусков кода на нескольких
>языках и попросите другого человека оценить наглядность. Сравните
>длинну кода. Оцените средние.

Хе! Точно! Особенно читаемы вот такие конструкции на перле:
while(<USERMODS>) {
if (/^([^:]+):(\+|-|):(.*)/) {
push(@rv, [ $1, $2, [ split(/\s+/, $3) ] ]);
}
}
Читаемость просто 5 с плюсом, зато очень буковок мало. Это сколько выкурить надо, что такое написать, а потом, сколько надо выпить, чтоб потом это понять. :))) И это не экзотика. Это норма.
К сожалению с питона, окамла, хаскеля не знаком, и сказать ни чего не могу. но от перла тут кто-то перся. Я тож прусь :)))

vada ★★★★★
()

>>Совет жабоидам - учите классику - C/C++ и не будет так обидно Как человек, пишуший на C++ и на Java, все такие педостерег бы делать такие заявления. То что не сдохнет С++ это понятно, но что что процент приложений на нем медленно, но уверенно снижаеться забывать тоже нельзя.. Никто кстати саму Java не засчищает. Жаба лишь одна (правда первая) реализация ухода от привязке к харду (и проблем из этого вытекаюших) путем создания некой иниверсальной среды исполнения кода. Так или иначе, такие технологии будут в дальнейшем только развиваться. Если сдохне САН(а это очь врядли), то во впервых сама жаба никуда не денеться.. Ибо IBM ваше непотопляем (сколько бабла стригет IBM c WebShpere????), да Оракл как никак, тоже бросать жабу не намерен. Так что если таки сан и сдохнет, то еще и драка за наследника будет. И напоследок... А классика, она классикой и останеться... Но классика классикой, БАБЛО баблом... Когда срок реализации бизнес-проекта (комплексный (RDBMS+AS+WEB+DOCUMENT)), (а бабло только там) на плюсах будет занимать хотябы в 10 раз больше, то можно будет говорить о С как платформе. Насчет поддержки java кода вообще бред. Чем отличеться поддержка java прикладух от других языков??

ifconfig
()

2vada

Про недостатки языка Java (по нарастающей важности).

1) Программы на языке Java абсолютно нечитаемы. В коде программы смешаны интерфейс и реализация. Чтобы увидеть открытый интерфейс класса (а что кроме этого может интересовать?) нужно продраться через много страниц кода.Разные ide конечно помогают, но это внеязыковые средства.

2) Средства ООП в языке Java такие же недоразвитые как и в С++. Но в С++ (раннем) это было оправдано девизом "ООП при минимальном оверхеде", а чем это оправдано в языке Java?

3) Отсутствует возможность изменять и дополнять синтаксис языка, в этом плане язык Java очень недалеко ушел от Си.

Про perl.

Этот код отлично читается любым, кто проработал с perl больше месяца. Код с такой же функциональностью на java займет несколько машинописных страниц (считая необходимые библиотеки). Что легче, _понять_ смысл, прочитав три строчки, или прочитать несколько страниц кода, отсеять синтаксическую шелуху и, уже запарившись до предела, опять же вникать в прочитанное?

anonymous
()

2DonkeyHot
>>Любой язык имеет ограничения.
>Точно! Но при этом он должен иметь и преимущества, нивелирующие эти ограничения на
>определенных задачах. Ява имеет "технологии". Что вообще говоря есть свойство
>_не_ языка а наработок для него.
Точно фанатик! Как не обясняй, не приводи доводы будет до последнего искать
отмазку/оправдание. Нет бы следуя совету почитать поболее рекламных проспектов про
текущее состояние Java.

>Но против утверждения об ущербности явы(языка) аргументов пока мало.
Также как не было услышано агрументированных утверждений/подтверждений ущербности.
>. . .
>Не заводитесь. Слово "ущербность" действительно излишне радикально. Скажем "недостатков".
Я же говорю - выкручиваемся до последнего :)

>Основной тезис: Язык "ява" обладает недостатками(как и все другие) но имеет слишком мало
>преимуществ. Так вот: список преимуществ в студию:-).
А вот такие "сети" расставлять не надо - не школьники же мы.
Ваша попытка вынудить аппонента занять не выгодную позицию в споре не проходит.

>Приведу 2 недостатка(-:может потом еще вспомню:-):
>1. Кривое множественное наследование.
>2. Относительно большой обьем кода программ, на нем писаных.
??? Я бы это отнес к преимуществам. Использование множественного наследования в 99% случаях не
оправдано и _сильно_ затрудняет понимание и исп. кода. В 1% случаях Java предоставляет обходные
пути с помощью которых можно решить поставленную задачу.
Объем кода на Java несколько больше чем, скажем у Perl, Haskell, но именно это и делает
его более удобным для восприятия.

>Притом множественное наследование само по себе кривым не является
Много чего само по себе не является кривым, GoTo к примеру, но использование не поощряется
и не рекомендуется.

>И вообще, отсутствие "возможности" вряд ли может быть достоинством само по
>себе(ибо можно не пользоваться если не необходимо)
Возможно где-то это и так, но в программировании это утверждение не верно, хотя
логически кажется верным.
Поясню: чаще всего эти отсутствующие "возможности" имеют не локальный, а глобальный характер
и в таком виде они начинают воздействовать на язык, его семантику больше чем хотелось бы.
К примеру добавление поддержки UNICODE в язык его не имеющий это хорошо! Но сколько много изменений
это потребует и 100% уверенность, что поломается обратная совместимость.
Так что это отсутствующие "возможности" запросто могут уничтожить, что уже имеется.

Или возмем к примеру отсутствие в Basic работы с указателями. Их добавление не вызывает сложностей, но
_полностью_ ломает всю прелесть языка, его базисные принципы.

Далее. VB .NET и C# .NET идентичные языки отличающиеся только синтаксисом и невозможностью работы с
указателями из VB. Добавь указатели и это будет убийством Basic. Даже если если этой фишкой не пользоваться.

>Мат.ожидание длинны кода на яве больше такового для питона, окамла, хаскеля.
Ну и что??? Можно подумать, что вы не видели языка у которого синтаксис зависит от пробельных символов.
Не видели? А вот те, кто на них пишет искренне вам завидуют.

>И наглядность хуже.
Пять-двадцать пять. Чем меряется наглядность? Это очень очень личностная характеристика.
До изучения Perl я его вообще не понимал. Сейчас, зная многие его programming way все равно найдется код,
который понимается только после третьей бутылки.
У Java очень _понятный_ и легкий для восприятия синтаксис, не смотря, и, отчасти, благодаря
несколько большему объему.

>Не верите - напишите несколько реальных кусков кода на нескольких языках и попросите другого человека
>оценить наглядность. Сравните длинну кода. Оцените средние.
Делали, сравнивали. Если программа сложнее "Hello World!!!", то Java рулит даже Visual Basic из-за большей
гибкости и лучшей реализации ООП.



>Что меня и печалит - ибо писание на яве менее приятно, чем на питоне и хаскеле.
>Хотя, возможно, это вопрос вкуса.
А меня сейчас печалит исп. PHP и Perl для крупных проектов. Сильно печалит, но
приходится поддерживать такие системы.

---------------------------------
2ifconfig
>Да вредный я вредный %)))))
Ок. Так и запишем :)

>Никто кстати саму Java не засчищает.
Согласен.

>Жаба лишь одна (правда первая) реализация ухода от привязке к харду (и проблем из этого вытекаюших)
>путем создания некой иниверсальной среды исполнения кода.
Ifconfig. Java далеко не первая, до этого был Oberon к примеру - очень сильный язык с мощной концепцией которую
только в последние несколько лет оценили. Кстати основной идеолог Oberon'а работал над Java.
До Java также была даже OS реализующия принципе песочницы и ухода от привязки к харду.
Что-то типа Hardware BIOS и BDOS, а все остальное уже VM.
К сожалению дать больше инфо не смогу - забылось, потерялось. Но поискать можно.

Мне, к примеру, ипонирует реализация TCL Virtual Machine - очень приятная вещь. Простой, понятный код, гибкость,
удивительная легкость, межплатформенность. К недостаткам можно только отнести "странности" парсера (проблемы с
комментариями) и медленность на циклических вызовах.

Korwin ★★★
()

2vada

А теперь сравним java с вашим любимым perl.

> 1. Отсутствие ЯВНОГО множественного наследования;

Та же фигня.

> 2. Отсутствие дополнительных файлов описания типов;

Ну так.

> 3. Отсутствие препроцессора;

Еще бы.

> 4. Возможность описания требуемых переменных в том месте программы, где они востребованны;

Само собой (Хотя это бардак).

> 5. Правила видимости описанных переменных;

А как же без этого.

> 6. Отсутствие механизмов работы с укзателями;

Нету такого.

> 7. Отсутствие оператора GoTo

Не пользуетесь и не надо.

> 8. Очень жесткая типизация;

В java'вских контейнерах? :) Но perl она еще более строгая - хэш от скаляра можно отличить даже по имени :)

> 9. Отличная читаемость кода программы;

Еще более отличная читаемость и более короткий код.

> 10. Отсутствие ограничений на длинну идентификаторов;

Идентификатор длиной в 2 ^ 128 в студию. Так что будем считать ограничений нигде нет.

> 11. Отсутствие явного механизма распределения освобождения памяти;

Да в perl так же.

> Хватит? Или еще добавить?

А, что есть что добавить? Ну так пожалуйста.

anonymous
()

>> to Korwin

Да за Oberon никто не забыл.. Жаль что мне не довелось послушать Вирта в живую. Но я с удовольствием читал записки и конспекты одного парня, бывшего на его лекциях. Его последователи до сих пор имеються, вопрос в том, что его идеи слегонца опередили время.

Говоря "первая" я иммел ввиду не свосем то ввиду.

Кстати, не сочти за непросвященость, но я в первый раз слышу о TCL. Сегодня попытаюсь почитать об этом..

>>Программы на языке Java абсолютно нечитаемы
ну что тут еще сказать... %) А самое главное зачем????

P.S. Всем флеймерам жаркий привет. Надоело перемывать уже азбучные истины.

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

>Точно фанатик! Как не обясняй, ... текущее состояние Java.
Я уже согласился с преимуществами "текущего состояния". Остался только язык.

>не было услышано подтверждений ущербности.
Как я уже обьяснял, я не имею претензий к недостаткам Явы - они у всех есть. Считаю ущербностью отсутствие преимуществ, перевешивающих недостатки. При этом говорим о _языке_ а не текущем состоянии наработок под него.

>попытка вынудить аппонента занять не выгодную позицию
Конечно, сравнивая язык "А" с библиотеками для языка "Б" мы получим более качественные результаты:-/

>Объем кода больше чем, это и делает его более удобным для восприятия.
>Делали, сравнивали. Если программа сложнее "Hello
Интересен Ваш критерий наглядности;-). Конечно,по сравнению c "ненаглядными" perl, PHP, C++ Ява выглядит привлекательно и мощно. Сравним с Питоном? Или с Хаскелем.

>А меня сейчас печалит исп. PHP и Perl
Меня тоже. Но сейчас спор об Яве:-)

DonkeyHot ★★★★★
()

2anonymous (*) (2003-03-25 14:39:59.739844)
Бред по всем статьям. Комментировать нечего.

2ifconfig. TCL, он же TCL/TK, он же "тикль", он же Tool Command Language. Детяще Ousterhout's Ph.D. Отчасти имеет ся TclBlend который позволяет из TCL вызывать Java методы.

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

для vada
>И это все???? Смешно :)) Не. Правда смешно. Бедненько как.
Ява _не_ хуже всех. Ява хуже или не лучше _лучших_. В таком случае странно было бы получить большой список.

>А теперь преимущества
vada, с кем сравниваем?
1. какие преимущества дает _программистам_ отсутствие в их рабочем инструменте иногда полезной функции?
2-8,10,11. есть практически везде.
9. Это, очевидно, очень спорный вопрос. Ява в этом _лучше_ многих. Но хуже того же питона, который к тому же умеет делать МН и обладает остальными ТТХ не хуже(Кроме незначительного отставания по скорости выполнения). И хаскеля, как правило обгоняющего Яву.

Вопрос не в том, что "ява suxx"(цитата из Korwin). Вопрос в том, зачем писать на _не_ _лучшем_ инструменте? Только из за готовых наработок? Это очень важный фактор. Но тот ли это путь, по которому стоит идти (продолжающаяся поддержка не самого удачного дизайна)? Такое иногда делается(perl например).

IMHO лучше разработать недостающее для более качественных инструментов.

DonkeyHot ★★★★★
()

Про tcl по русски есть что-нить?С хорошим примером, например проектиком небольшим.

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

2anonymous (*) (2003-03-25 14:39:59.739844)

>А теперь сравним java с вашим любимым perl.

Вот чего ни когда не любил, так это перл.

>> 4. Возможность описания требуемых переменных в том месте программы,
>где они востребованны;
>Само собой (Хотя это бардак).

Это типы описывать в другом файле, да еще потом препроцессором с, рекурсивными инклудами, крутануть - бардак. (это не про перл) Вы хотели гамороя, оно у нас есть. :)

>> 7. Отсутствие оператора GoTo
>Не пользуетесь и не надо.

За отмаз не катит.

>хэш от скаляра можно отличить даже по имени :)
Ага. А еще круто программно сгенерировать программный код и его выполнить! Типа, как Мюнхаузен сам себя за косичку из болота вытащил :)))
Опять скажешь - не нравится не ешь?

>> 9. Отличная читаемость кода программы;
>Еще более отличная читаемость и более короткий код.

Я там где-то привел кусочек текста на перле, расскажи мне темному, что там написано. Вместе потом погагочим :) Или впадлу пол дня разбираться? :)

>Идентификатор длиной в 2 ^ 128 в студию.

Это для маразматиков :) А кстати, как называется чисто 2^128 ?
Знаю, что 10^100 называется google, и что элементарных частичек во вселенной поменьше google будет.

>> Хватит? Или еще добавить?
>А, что есть что добавить? Ну так пожалуйста.

Да, пожалуй хватит. Меня Вам не переубедить, да и я Вас переубеждать, думаю, смысла не много.

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

2anonymous (*) (2003-03-25 14:39:59.739844)

>А теперь сравним java с вашим любимым perl.

Вот чего ни когда не любил, так это перл.

>> 4. Возможность описания требуемых переменных в том месте программы,
>где они востребованны;
>Само собой (Хотя это бардак).

Это типы описывать в другом файле, да еще потом препроцессором с, рекурсивными инклудами, крутануть - бардак. (это не про перл) Вы хотели гамороя, оно у нас есть. :)

>> 7. Отсутствие оператора GoTo
>Не пользуетесь и не надо.

За отмаз не катит.

>хэш от скаляра можно отличить даже по имени :)
Ага. А еще круто программно сгенерировать программный код и его выполнить! Типа, как Мюнхаузен сам себя за косичку из болота вытащил :)))
Опять скажешь - не нравится не ешь?

>> 9. Отличная читаемость кода программы;
>Еще более отличная читаемость и более короткий код.

Я там где-то привел кусочек текста на перле, расскажи мне темному, что там написано. Вместе потом погагочим :) Или впадлу пол дня разбираться? :)

>Идентификатор длиной в 2 ^ 128 в студию.

Это для маразматиков :) А кстати, как называется чисто 2^128 ?
Знаю, что 10^100 называется google, и что элементарных частичек во вселенной поменьше google будет.

>> Хватит? Или еще добавить?
>А, что есть что добавить? Ну так пожалуйста.

Да, пожалуй хватит. Меня Вам не переубедить, да и я Вас переубеждать, думаю, смысла не много.

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

2anonymous (*) (2003-03-25 14:39:59.739844)

>А теперь сравним java с вашим любимым perl.

Вот чего ни когда не любил, так это перл.

>> 4. Возможность описания требуемых переменных в том месте программы,
>где они востребованны;
>Само собой (Хотя это бардак).

Это типы описывать в другом файле, да еще потом препроцессором с, рекурсивными инклудами, крутануть - бардак. (это не про перл) Вы хотели гамороя, оно у нас есть. :)

>> 7. Отсутствие оператора GoTo
>Не пользуетесь и не надо.

За отмаз не катит.

>хэш от скаляра можно отличить даже по имени :)
Ага. А еще круто программно сгенерировать программный код и его выполнить! Типа, как Мюнхаузен сам себя за косичку из болота вытащил :)))
Опять скажешь - не нравится не ешь?

>> 9. Отличная читаемость кода программы;
>Еще более отличная читаемость и более короткий код.

Я там где-то привел кусочек текста на перле, расскажи мне темному, что там написано. Вместе потом погагочим :) Или впадлу пол дня разбираться? :)

>Идентификатор длиной в 2 ^ 128 в студию.

Это для маразматиков :) А кстати, как называется чисто 2^128 ?
Знаю, что 10^100 называется google, и что элементарных частичек во вселенной поменьше google будет.

>> Хватит? Или еще добавить?
>А, что есть что добавить? Ну так пожалуйста.

Да, пожалуй хватит. Меня Вам не переубедить, да и я Вас переубеждать, думаю, смысла не много.

vada ★★★★★
()

Звиняйте братцы. Это не по моей вине все тут растрояяца. Что-то на сайте глюкнуло. :((( Сначала заверещал про сервлет, который выполняется на хосте 127.0.0.1, а потом любой запрос начал превращаться в пост. :((

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

> Вот чего ни когда не любил, так это перл.

Я догдался. Вы же назвали "нечитаемым" крошечный кусочек кода.

> Это типы описывать в другом файле, да еще потом препроцессором с, рекурсивными инклудами, крутануть - бардак. (это не про перл)

А разговор был про perl.

> Вы хотели гамороя, оно у нас есть. :)

Конечно, вместо просмотра header'а будем рыскать по всем сырцам выиискивая тщательно запрятанные определения. Это про java.

> За отмаз не катит.

Пачему? Лично для вас - нету этого "оператора GoTo", нету.

> Ага. А еще круто программно сгенерировать программный код и его выполнить! Типа, как Мюнхаузен сам себя за косичку из болота вытащил :))) Опять скажешь - не нравится не ешь?

Нет, я скажу "как сделать это в java?"

> Я там где-то привел кусочек текста на перле, расскажи мне темному, что там написано. Вместе потом погагочим :) Или впадлу пол дня разбираться? :)

Когда пример кода короче, чем его описание "простым языком" - это и есть класс ЯП. С perl я дружу не первый год и, поверьте, ваш кусочек прочел не переводя.

> Это для маразматиков :) А кстати, как называется чисто 2^128 ? Знаю, что 10^100 называется google, и что элементарных частичек во вселенной поменьше google будет.

По-моему число называется "гугол". И пишется по-другому. Впрочем не буду настаивать - не специалист. Но вы-то говорили об отсутствии _всяких_ ограничений на длину имени.

> Да, пожалуй хватит. Меня Вам не переубедить, да и я Вас переубеждать, думаю, смысла не много.

Сия замысловатая фраза "я Вас переубеждать" - результат длительной работы с java?

anonymous
()

>>TCL, он же TCL/TK, он же "тикль", он же Tool Command Language

Спасибо %)) я уже понял о чем речь %))
А то сразу аж стыдно стало.. Думаю, народ знает, а я не знаю..... %))

О как ребятишки веселятся... Уже перл с жабой равнять начили... веселуха... %))

ifconfig
()

2ifconfig. Интересно, а с чем Java будут сравнивать на четверой странице обсуждения :)

Korwin ★★★
()

to Korwin

Не исповидимы пути господни (с)

%)) Да кто из знает, от ЛОРА всего ожидать можно...

P.S. Не исключено что меня "пинать" могуть начать ... %)) или тебя к примеру.


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

ifconfig Злой и не добрпый! Пинай его ребята! :)))

ЗЫ. Хотя командв хорошая :) ЗЫЫ. А еще есть масса прикольных ников, например chown -R root.all /usr/local/common %))) Или еще круче: chmod :)))

ЗЫЫЫ. Не обижайся, plz :)))

>P.S. Не исключено что меня "пинать" могуть начать ... %)) или тебя к примеру.

%)))

vada ★★★★★
()

>А теперь преимущества в студию

>1. Отсутствие ЯВНОГО множественного наследования; ну не очень то и хотелось >2. Отсутствие дополнительных файлов описания типов; отлично. значит имея жабокод мне придется пройтись по нему жабодоком что бы узнать что класс делает? или шариться по коду (который бывает оччень немаленький). а если у меня только класс есть. без исходников и без доков? декомпилить? >3. Отсутствие препроцессора; а он то кому мешал? очень хочется иногда написать что-то вроде #define CATCHALL catch (Exception e) {e.printStackTrace()} >4. Возможность описания требуемых переменных в том месте программы, где они востребованны; где этого нету? в анси си только (из того что знаю. паскаль и иже с ними за языки не считаем) >5. Правила видимости описанных переменных; скоп в сысле? см. пункт четыре. >6. Отсутствие механизмов работы с укзателями; под jni никто не писал? очень даже есть механизмы... когда нам надо сделать миррор с++ класса в жабе - делаем в жабовскос классе переменную типа лонг и в конструкторе ложим туда указатель на соответствующий экзэмпляр с++ класса >7. Отсутствие оператора GoTo не хочешь не используй в кернел программинге например иногда нужен >8. Очень жесткая типизация; Foo = Bar.createFoo(); if (foo != null) --> жаба if (foo) --> с++, пхп, ... >9. Отличная читаемость кода программы; даже не смешно. buttonsPanel.setLayout(new FlowLayout()); JButton newButton = new JButton(I18N.i18n("users_new")); newButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { new UsersNewEditDialog(null); } }); buttonsPanel.add(newButton); >10. Отсутствие ограничений на длинну идентификаторов; где оно есть? >11. Отсутствие явного механизма распределения освобождения памяти; а если хочется?? >Хватит? Или еще добавить? "еще по одной и спать" (с) пъянка у кого то на даче

зы. 7 из 11 преимуществ - это отсутствие чего то там. наводит на размышления

ззы. из пресс релиза одной из первых жаб: "мы убрали из жабы указатели, так как НАЧИНАЮЩИЕ программисты с ними часто путаются"

IceD

anonymous
()

>А теперь преимущества в студию 

>1. Отсутствие ЯВНОГО множественного наследования; 

ну не очень то и хотелось

>2. Отсутствие дополнительных файлов описания типов; 

отлично. значит имея жабокод мне придется пройтись по нему жабодоком что бы узнать что класс делает? или шариться по коду (который бывает оччень немаленький). а если у меня только класс есть. без исходников и без доков? декомпилить?

>3. Отсутствие препроцессора;

а он то кому мешал? очень хочется иногда написать что-то вроде #define CATCHALL catch (Exception e) {e.printStackTrace()}

>4. Возможность описания требуемых переменных в том месте программы, где они востребованны; 

где этого нету? в анси си только (из того что знаю. паскаль и иже с ними за языки не считаем)

>5. Правила видимости описанных переменных; 

скоп в сысле? см. пункт четыре.

>6. Отсутствие механизмов работы с укзателями; 

под jni никто не писал? очень даже есть механизмы... когда нам надо сделать миррор с++ класса в жабе - делаем в жабовскос классе переменную типа лонг и в конструкторе ложим туда указатель на соответствующий экзэмпляр с++ класса

>7. Отсутствие оператора GoTo 

не хочешь не используй в кернел программинге например иногда нужен

>8. Очень жесткая типизация; 

Foo = Bar.createFoo();
if (foo != null) --> жаба
if (foo) --> с++, пхп, ...

>9. Отличная читаемость кода программы; 

даже не смешно

        buttonsPanel.setLayout(new FlowLayout());
        JButton newButton = new JButton(I18N.i18n("users_new"));
        newButton.addActionListener(new ActionListener()
        {
            public void actionPerformed(ActionEvent e)
            {
                new UsersNewEditDialog(null);
            }
        });
        buttonsPanel.add(newButton);

>10. Отсутствие ограничений на длинну идентификаторов; 

где оно есть?

>11. Отсутствие явного механизма распределения освобождения памяти;

а если хочется??

>Хватит? Или еще добавить? 

"еще по одной и спать" (с) пъянка у кого то на даче

зы. 7 из 11 преимуществ - это отсутствие чего то там. наводит на размышления

ззы. из пресс релиза одной из первых жаб: "мы убрали из жабы указатели, так как НАЧИНАЮЩИЕ программисты с ними часто путаются"

IceD

anonymous
()

>Ага. А еще круто программно сгенерировать программный код и его выполнить! Типа, как Мюнхаузен сам себя за косичку из болота вытащил :)))

Зря смеетесь, батенька.

Весьма полезная вешь.

Про программы, управляемые данными никогда не читали ?

Замес: lisp vs java vs все другие

Класс задач "самообучающиеся системы наведения"

А то скучно стало.

Саныч :-)

Sun-ch
()

>или шариться по коду..
зачем шариться - ctags :))

>if (foo) ...
IMHO, несколько неаккуратно. :))

Alter ★★
()

>if (foo) ... 

Кто сказал??? Расстрелять!

IceD

anonymous
()

>if (foo) ... IMHO, несколько неаккуратно. :)) 

Кто сказал??? Расстрелять!

IceD

anonymous
()

>if (foo) ...

Хмм... воинственно.. Оценил. :)))

Помнится как-то давно, годика 3 назад, я читал один из FM, где достаточно подробно объяснялось, почему разработчики языка решили допустить в конструкции if(...) только булевы выражения, и воспринято это было не совсем однозначно, особенно после C++. Но позднее, я как то и сам при внутренне согласился с тем, что такой подход повышает культуру программирования.

Разоружаться бум? :))

Alter ★★
()

> зачем шариться - ctags :))

1. Даешь компилятор, среализованный на шелловских скриптах, макросах редактора и прочих супер-средствах.

2. Пользуйте cscope - и синтаксис языка не имеет никакого значения (если этот язык - си).

> Помнится как-то давно, годика 3 назад, я читал один из FM, где достаточно подробно объяснялось, почему разработчики языка решили допустить в конструкции if(...) только булевы выражения,

А еще раньше я читал про преимущества социализма над всеми остальными стр(о|у)ями и про преимущества необычных порошков над обычными стиральными.

anonymous
()

Давайте сравним еще асм и питон - имхо не сравнивали/
думаю асм любого уделает 8)
а сколько здесь пионэров (кроме Саныча и Вады и остальной серьезной публики) которые __способны__ вообще понять все
возможности асма, и которые словосочетания _культура програмирования_ понимают как _культурно програмировать_?

Имхо прежде чем меряться ... надо б разбираться в обоих предметах - а то получается : 1ый - я тут явовый код посмотрел - полный слив вот перл - это да - на перле я всех уделаю. 2ой - перл твой слив - вот питон рулит а в яве вобще даже препроцесора нет!

Все подобные перцы выставляют имхо себя в свете неуловимых Джо - которые суть крутые до безумия (в прямом) но которые ну на /// никому не нужны! 

ДАВАЙТЕ ЗАВЯЗЫВАТЬ, НАРОД _ мне стыдно за такое сообщество 
линуксоидов - открывайте глаза - развивайтесь и програмируйте - чем больше тем лучше - на мощных и красивых языках (мой выбор например java / c / asm). Развивайте Линукс - есть куча тем куда можно и нужно приложить силы, а не перемалывать метры чепухи тупой и бессмысленой. 

Лично мне просто в кайф было разобраться с биндингами кута на яве - получил удобную гуйню на удобном языке/ 

Карлсон

anonymous
()

Добавление Security Flag в IPv4

> Помнится как-то давно, годика 3 назад, я читал один из FM, где достаточно подробно объяснялось, почему разработчики языка решили допустить в конструкции if(...) только булевы выражения,

>А еще раньше я читал про преимущества социализма над всеми остальными стр(о|у)ями и про преимущества необычных порошков над обычными стиральными.

Вот для таких вот КУЛЬНЫХ КОДЕРОВ САМОУЧЕК пишут документы

типа KNF

"Kernel Normal Form" - it's a C coding style documented

в ряде случаев, если p - указатель

конструкция типа if (!p) не работает, а конструкция

if (p == NULL) будет корректной всегда.

Саныч

Sun-ch
()

А все же помоему if (foo) удобнее с психологической точки зрения. Читая if (foo) мы думаем "если у нас есть foo", читая if (foo != NULL) - "если у нас foo _не_нулевой_" и в силу некоей инерционности задумываемся - что такое "не нулевой".

2Саныч: >if (p == NULL) Надо будет почитать... Интересно...

IceD

anonymous
()

Добавление Security Flag в IPv4

2IceD

Почитайте лучше

man 3 malloc

If malloc() fails, a NULL pointer is returned.

NULL pointer может быть не равен 0x0 в ряде архитектур (реализаций)

Саныч

Sun-ch
()

>if (foo != null) --> жаба

Однако...

Foo = Bar.createFoo();
try
{
  Foo.doSomething(...);
}
catch(NullPointerException ex)
{
  ...
}
catch(DoSomethingException ex)
{
  ...
}

О чем мы, господа, спорим? Ну получим мы в случае проблем
NullPointerException, оглядимся, selftest, /etc и идем дальше. 
IMHO, Java, легко позволяет думать о том, что ты делаешь, и структурировать проблемые/неоднозначные ситуации. 


2 anonymous (*) (2003-04-01 22:31:17.609585)
Хотелось бы увидеть аргументацию посерьезней.

Alter ★★
()
Ответ на: Добавление Security Flag в IPv4 от Sun-ch

2Саныч

> в ряде случаев, если p - указатель

> конструкция типа if (!p) не работает, а конструкция

Если p - указатель, то в выражении if(p) (или if(!p) ) компилятор осуществляет неявное преобразование в int. _Нигде_ не сказано, что это преобразование должно осуществляться один-в-один по битам. Если в какой-то архитектуре (кстати примерчик приведите пожалуйста) в указателе NULL не все биты нулевые, то (int)NULL == 0 - стопудово (иначе это кривой компилятор).

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