Russian Qt Forum
Ноябрь 22, 2024, 12:17 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: 1 [2]   Вниз
  Печать  
Автор Тема: Выходит Qt Jambi - Qt для Java  (Прочитано 22557 раз)
Alqualos
Гость
« Ответ #15 : Август 01, 2006, 20:22 »

OpenOffice.org написан на C++ и прекрасно работает вообще без жабы. Жаба там нужна для каких-то невнятных фич, которые лично мне никогда не нужны были:
http://download.openoffice.org/2.0.3/java.html

Я пробовал работать в Eclipse под GNU/Linux и FreeBSD на четвёртом пне с 512 МБ мозгов. Тормозит, но работать можно. Но в Qt Designer я работал и на третьем пне 533 МГц со 128 МБ мозгов! Попытки запустить на аналогичном комьютере Eclipse успехом не завершились - просто виснет при запуске. IntelliJ IDEA запускается, но страшно лагает.

Цитировать
C++ может и переносим, но принцип write once - run anywhere ни к одному приложению C++ не применим по определению.

Согласен. Единственное свойство жабы, имеющее отношение к кроссплатформенности. Но кому оно надо? Для свободного софта переносимость бинарного кода ничего не даёт, а коммерческий частенько ограничивается Windows, Linux и Mac, и живёт себе счастливо.

Что же касается библиотек, то тут проблема не в их наличии (тут C кого хошь переплюнет), а как раз в кроссплатформенности. Если как язык жаба заметно уступает кроссплатформенности тому же C++ (что следует хотя бы из того, что половина самой жабы написана на C++), то с библиотеками у неё дело обстоит очень хорошо. Потом, если использовать Qt, например, то библиотеками, использующими, к примеру, для строк что-то отличное от QString, становится просто неудобно работать. То есть жаба тут хороша не только и не столько обилием библиотек, сколько их переносимостью и, что самое главное, интегрируемостью!

Насчёт простоты не согласен. Я писал в IntelliJ IDEA, на Swing и на C++/Qt. Код, написанный на Qt, более изящен и компактен. И эффективен. И о многочисленных подпроцессах не приходится париться. Впрочем, главное тут всё же быстродействие. Swing был бы вполне удобен, если бы не его дикие тормоза.

Отсутствие дистрибутивов JVM для FreeBSD (точнее, их запаздывающий выход) - подтверждение тому, что в Sun не умеют писать под Unix. Правильно написаный код вообще работает почти в любом юниксе без проблем, тем паче в FreeBSD. Как они умудрились сделать жабу только под Линукс (а также сделать отдельные версии для Linux и Solaris) - это вообще чудо какое-то. Специально старались, что ли? Вот когда они действительно сделают жабу свободной и открытой, тогда ситуация должна резко измениться. Тот же Qt ведь имеет единый исходный код для всех разновидностей Unix/X11 и оно прекрасно всюду компилируется и работает. И код очень хорошо написан - понятно, обозримо. И процесс сборки такой же прозрачный. В отличие от жабы, которая при сборке жрёт пару гигов пространства, причём по большей части на создание копий одного и того же в чуть разных вариантах с разными именами, а также многочисленных архивов.

О простоте. Я изучал и жабу, и C++. С поверхности - оба языка достаточно простые (C++ изучал три дня со знанием C, жабу - где-то неделю). В глубине же - чёрти-что и сбоку бантик. Достаточно почитать Java Language Specification, чтобы убедиться. Другой разговор, что ни там, ни сям большая часть наворотов никому не нужна.

Цитировать
Итого: на Jambi должно быть сделано что-то толстое и очень вкусное, чтобы всем нравилось и заставило-таки работать с Jambi, либо его должен признать Sun и упаковать в jvm. Иначе распространения она не получит. Использовать же Java из qtшного ПО.. да, круто, но не более. Излишняя трате ресурсов и проблемы при отладке С++ в паре с Java. И вообще, как выглядит прикладная задача на Java, которую нельзя сделать на С++ и Qt?

Тут всё-таки дело во-первых в быстродействии графических компонентов, а во-вторых, не в том, что сделать можно и нельзя, а в том, что сделать проще и что проще отладить, то есть в высокоуровневости жабы как языка программирования. Во всяком случае, я до сих пор не видел ни одной задачи, решённой на жабе, которую нельзя было бы решить быстрее, проще и лучше на чём-то другом. И сильно сомневался вообще в существовании таких задач и пригодности жабы для чего-то, кроме, быть может, упомянутых крупномасштабных производственных приложений. И то даже в их случае мне сомнительно, что нельзя их было как-нибудь реализовать в виде независимых модулей вообще на разных языках. Qt Jambi меняет эту ситуацию явно в лучшую сторону (не знаю правда, насколько существенно). Кое-чего стоит и то, что в FAQ Trolltech написано, что основной причиной создания Qt Jambi послужили многочисленные пожелания клиентов иметь нечто подобное.

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

По поводу FreeBSD: я же сказал, выходит с запозданием на два года. То есть таки выходит! Сертифицированная жаба 1.5.0 под FreeBSD есть. До этого была несертифицированная 1.4.2 (патченая линуксовая, собираемая из исходников) и нормально работала (вот Azureus под ней работает, а под сертифицированной - нет, вот тебе и переносимость ^_^). Ещё раньше вполне можно было использовать любую жабу под Linux, запуская её в режиме эмуляции, но оно подглючивало.
Записан
Sergey B.
Программист
*****
Offline Offline

Сообщений: 544



Просмотр профиля WWW
« Ответ #16 : Август 02, 2006, 06:19 »

Цитата: "Alqualos"
OpenOffice.org написан на C++ и прекрасно работает вообще без жабы. Жаба там нужна для каких-то невнятных фич, которые лично мне никогда не нужны были:
http://download.openoffice.org/2.0.3/java.html

Я пробовал работать в Eclipse под GNU/Linux и FreeBSD на четвёртом пне с 512 МБ мозгов. Тормозит, но работать можно. Но в Qt Designer я работал и на третьем пне 533 МГц со 128 МБ мозгов! Попытки запустить на аналогичном комьютере Eclipse успехом не завершились - просто виснет при запуске. IntelliJ IDEA запускается, но страшно лагает.



А ты не правил *.ini eclipse и IDEA?
Просто размар отводимой для них памяти ничтожно мал, учитывая размер и сложность этих программ.
IDEA по умолчанию юзает всего 192 Мегабайта, eclipse 256.
Я поставил 512, ты знаешь eclipse просто ЛЕТАЕТ, причём по Suse 10.1 быстрее, чем под виндой!
Java работает быстро при хороших объёмах памяти...
У меня Атлон64 3000+ и 1,5 ГБ оперативки, так вот если позволяет объём надо отдавать побольше.
Коллега заядлый java ист, писал складскую программу на свинге, толкали на Cel 600, 256 метров, сама программа работала быстро, единственный минус java (на данный момент), в 6й версии обещали исправить это долгий запуск, связанный со структурой classloader и верификации классов. Classloader вроде уже переписаль, по ощущениям люди говорят, стартует всё гораздо быстрее чем на 5.
Записан
Alqualos
Гость
« Ответ #17 : Август 02, 2006, 07:55 »

Насчёт памяти я не подумал. Может быть, но пока это всё равно проблема. Вот ещё через пару лет, когда памяти станет ещё больше...

Ну посмотрим. Всё равно сомнительно, что Swing сможет хотя бы сравниться с Qt. Всё-таки ядро графических компонентов должно быть на C/C++ написано, мне кажется тут у AWT был более правильный подход.

И ещё Qt Designer, да. Жабе сильно не хватает чего-то подобного. Имеющиеся средства всё-таки не так удобны.
Записан
Sergey B.
Программист
*****
Offline Offline

Сообщений: 544



Просмотр профиля WWW
« Ответ #18 : Август 02, 2006, 09:15 »

Потом знаешь, многие критикуют Qt за с++, утверждая что все либы должны быть чисто Сишные, так быстрее и легче делать биндинги под друние языки...
"
Записан
Alqualos
Гость
« Ответ #19 : Август 02, 2006, 11:52 »

Это отчасти так, но с другой стороны, если язык объектно-ориентрированный, то частенько бывает и наоборот - с С++ проще. Взять тот же PyQt. То есть, конечно, если бы Qt был на С, то его всё равно к питону можно было бы привязать без проблем, но удобство пользования бы как сильно пострадало...
Записан
Orlov_O
Гость
« Ответ #20 : Август 03, 2006, 14:42 »

Цитировать
OpenOffice.org написан на C++ и прекрасно работает вообще без жабы.
Правда? А сколько в памяти занимает soffice.bin без открытых документов?
Цитировать
Жаба там нужна для каких-то невнятных фич, которые лично мне никогда не нужны были: http://download.openoffice.org/2.0.3/java.html
компонент Base (который недавно появился и активно рекламируется сейчас), движок JavaScript, целый ряд мастеров и визуальные эффекты accesibility. SDK тоже на Java рассчитано. К чему бы это?
А для редактирования текстовых документов кому-то и фара достаточно.
Цитировать
Я пробовал работать в Eclipse под GNU/Linux и FreeBSD на четвёртом пне с 512 МБ мозгов. Тормозит, но работать можно.
Очень интересное предположение. Обязательно проверю в ближайшее время. Странно всё это.
Цитировать
Но в Qt Designer я работал и на третьем пне 533 МГц со 128 МБ мозгов! Попытки запустить на аналогичном комьютере Eclipse успехом не завершились - просто виснет при запуске. IntelliJ IDEA запускается, но страшно лагает.
Про JVM под фрю и подобные оси уже всё понятно.
Цитировать
Единственное свойство жабы, имеющее отношение к кроссплатформенности. Но кому оно надо? Для свободного софта переносимость бинарного кода ничего не даёт, а коммерческий частенько ограничивается Windows, Linux и Mac, и живёт себе счастливо.
И что? Разве речь идёт о методиках разработки свободного софта? Jambi вроде так же входит в коммерческую версию qt, и тролли рассчитывают, что jambi будет приносить прибыль за счёт java-разработчиков. Open source версия qt существует в первую очередь для рекламных целей.
Цитировать
Что же касается библиотек, то тут проблема не в их наличии (тут C кого хошь переплюнет), а как раз в кроссплатформенности.
Так что же такое кросплатформенность?
Цитировать
Если как язык жаба заметно уступает кроссплатформенности тому же C++ (что следует хотя бы из того, что половина самой жабы написана на C++),
конечно же уступает в кросплатформенности в общем, и как язык в частности :-)
Цитировать
то с библиотеками у неё дело обстоит очень хорошо.
Sun постарались, безусловно.
Цитировать
Потом, если использовать Qt, например, то библиотеками, использующими, к примеру, для строк что-то отличное от QString, становится просто неудобно работать. То есть жаба тут хороша не только и не столько обилием библиотек, сколько их переносимостью и, что самое главное, интегрируемостью!
так она же не кросплаторменная?
А без QString работать не так уж и неудобно. Нужно просто уметь работать с char*.
Цитировать
Насчёт простоты не согласен. Я писал в IntelliJ IDEA, на Swing и на C++/Qt. Код, написанный на Qt, более изящен и компактен. И эффективен.
Ну вы бы код привели? Слабо верится :-)Насколько я знаю, в IDEA интерфейс рисуется в редакторе и код скрыт. А если интерфейс писать руками, так и Qt Designer ни к чему.
Цитировать
И о многочисленных подпроцессах не приходится париться. Впрочем, главное тут всё же быстродействие. Swing был бы вполне удобен, если бы не его дикие тормоза.
с подпроцессами в swing париться нужно, чтобы загрузку организовать и живучесть интерфейса при исполнении длительных операций, если же простой диалог, никаких подпроцессов там не надо.
Цитировать
Отсутствие дистрибутивов JVM для FreeBSD (точнее, их запаздывающий выход) - подтверждение тому, что в Sun не умеют писать под Unix.
Лучше таких вещей никому не говорить :-)
Цитировать
Правильно написаный код вообще работает почти в любом юниксе без проблем, тем паче в FreeBSD. Как они умудрились сделать жабу только под Линукс (а также сделать отдельные версии для Linux и Solaris) - это вообще чудо какое-то. Специально старались, что ли?
Если писать на станартном CRT, так ещё и в винде этот код будет работать без проблем  Подмигивающий  Вам приходилось сталкиваться с различиями Sparc Solaris и Power Linux? :-)  К сведению: в каждой JVM сидит JIT компилятор и транслирует байткод в нативный машинный код процессора и запуски системных функций. Вот поэтому JVM для всех разные.
Цитировать
Тот же Qt ведь имеет единый исходный код для всех разновидностей Unix/X11 и оно прекрасно всюду компилируется и работает.
потому что это единство и рассчитано на X11 и CRT :-)
Цитировать
И код очень хорошо написан - понятно, обозримо. И процесс сборки такой же прозрачный. В отличие от жабы, которая при сборке жрёт пару гигов пространства, причём по большей части на создание копий одного и того же в чуть разных вариантах с разными именами, а также многочисленных архивов.
это kaffe-то? :-) спасибо за подсказку, ни в жизни теперь этим заниматься не буду Улыбающийся)
Цитировать
О простоте. Я изучал и жабу, и C++. С поверхности - оба языка достаточно простые (C++ изучал три дня со знанием C, жабу - где-то неделю).
Т.е. вы хотите сказать, что ни то ни другое вы не знаете совсем? Собственно я так и полагал. Тогда к чему высказывать свои суждения (в большинстве случаев неверных в данном случае) таким количеством эмоциональных необуманных реплик?
Цитировать
В глубине же - чёрти-что и сбоку бантик. Достаточно почитать Java Language Specification, чтобы убедиться. Другой разговор, что ни там, ни сям большая часть наворотов никому не нужна.
Замечательный документ, на самом деле. Просто он как и вариацонное исчисление - не для всех.
Цитировать
Тут всё-таки дело во-первых в быстродействии графических компонентов, а во-вторых, не в том, что сделать можно и нельзя, а в том, что сделать проще и что проще отладить, то есть в высокоуровневости жабы как языка программирования.
С отладкой в Java всё значительно проще - бинарник везде одинаковый :-)
Цитировать
Во всяком случае, я до сих пор не видел ни одной задачи, решённой на жабе, которую нельзя было бы решить быстрее, проще и лучше на чём-то другом.
по секрету: проблема не в быстроте разработки, а в сложности "переделки" :-)
Цитировать
Кое-чего стоит и то, что в FAQ Trolltech написано, что основной причиной создания Qt Jambi послужили многочисленные пожелания клиентов иметь нечто подобное.
не могу понять пока, куда это можно прилепить.
Цитировать
Что касается питона, то я его только начал изучать, но вообще понятие компиляции и байт-кода там есть. И вообще любопытно, что о нём я слышал только хорошее и только от профессионалов. Изящный язык, заслуживающий внимания.

а на ПХП весь мир этот веб программирует без проблем :-)
Цитировать
По поводу FreeBSD: я же сказал, выходит с запозданием на два года. То есть таки выходит! Сертифицированная жаба 1.5.0 под FreeBSD есть.
сертифицированная-то она на поддержку Pure Java 1.5, это не значит, что она работает как Sunовская или IBMовская. Отсуствие jvm под эту ось у передовых производителей JVM говорит о том, что BSD поддерживать никто не собирается.

ЗЫ: по поводу скорости графических компонентов: AWT устарел и его использование не оправдано. Давно существует SWT, который избавляет UI от тяжести Swing, никак при этом не отличаясь в использовании. И построен SWT как Qt: под винду на Win32 API, под мак - на карбоне, а под X11 на gtk! Вот на него и грешить надо.
Записан
Страниц: 1 [2]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.06 секунд. Запросов: 24.