Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Религиозные войны > QT vs Java


Автор: Mephisto 29.1.2007, 10:16
Доброго всем дня.

Вот, решил выбрать чего дальше изучать... Хочу писать на линуксе софт который можно было б переносить на форточки...
Хочу выбрать из: QT, Java...
Может кто подскажет в каком направлении думать???

Автор: LSD 29.1.2007, 10:29
Если знаешь C++ выбирай QT, если ни того ни другого, то ИМХО Java лучше. Меньше геммороя с переносом на другую платформу.

А вобще, это надо смотреть что за софт.

Автор: nerezus 29.1.2007, 11:10
Если посмотреть на цену обоих продуктов($3300 vs. $0 — вроде так), то никакого вопроса типа "QT vs Java" стоять не будет  smile 

Автор: mr.DUDA 29.1.2007, 13:15
.NET

Автор: Mephisto 29.1.2007, 13:20
Цитата(mr.DUDA @  29.1.2007,  14:15 Найти цитируемый пост)
.NET 

Под линукс  smile Отстает сильно. ИМХО 
Там насколько знаю еще только 1-я версия, да и то только консольные лепить можно... smile

Автор: mr.DUDA 29.1.2007, 14:10
Можно и винформы.

Автор: Mephisto 29.1.2007, 14:36
Цитата(mr.DUDA @  29.1.2007,  15:10 Найти цитируемый пост)
Можно и винформы. 

Сам не видел, но общался с людьми которые писали. Говорят что убого там все... с формами...

Автор: nerezus 29.1.2007, 14:38
Цитата

Можно и винформы. 
 А почему тогда не работает? ))
Ибо я пробовал ;)

Заработал только хеллоуорлд )

Добавлено @ 14:39 
Естественно, консольный хеллоуорлд %)

Автор: Mal Hack 29.1.2007, 14:40
Нормально вроде...
Только на линукс не портируется, а утилита, которая это все-таки делает, вроде как всегда отстает от .net разработчиков.

Автор: Artemios 29.1.2007, 16:11
Зависит от того, на чем предпочитаешь писать.
C++ -- Qt,
C -- GTK.

голосовал за Qt.

Автор: Ch0bits 29.1.2007, 16:20
Неужели QT настолько развился, что его можно противопоставлять java?  smile 
Или Mephisto будет использовать сабж только для построения GUI?

Цитата(nerezus @  29.1.2007,  12:10 Найти цитируемый пост)
$3300 vs. $0 — вроде так

Вроде под линукс QT бесплатен, если ПО пишется не для получения прибыли, а под форточки есть бесплатная обрезанная редакция.

Автор: Artemios 29.1.2007, 16:21
Цитата(nerezus @  29.1.2007,  11:10 Найти цитируемый пост)
Если посмотреть на цену обоих продуктов($3300 vs. $0 — вроде так)

Уточнял бы уж, что $3300 не Qt вообще, а возможность писать коммерческий софт.
А может человек под GPL пишет -- тогда и цена Qt для него соответственно $0.

Автор: Ch0bits 29.1.2007, 16:23
Artemios, опередил.  smile 

Автор: nerezus 29.1.2007, 16:34
Цитата

Вроде под линукс QT бесплатен, если ПО пишется не для получения прибыли
 Бесплатно - под GPL, а это значит, что придется весь код свой открывать.
Естественно, комерческий софт не попишешь особо.


Mephisto, ты уточни: ты пишешь за идею? или чтобы зарабатывать деньги?

Автор: Mephisto 29.1.2007, 17:21
Цитата(nerezus @  29.1.2007,  17:34 Найти цитируемый пост)
Mephisto, ты уточни: ты пишешь за идею? или чтобы зарабатывать деньги? 

Я для себя... 
Но в компании начинают рассуждать что лучше... smile

Добавлено @ 17:22 
Для всех конечно ближе СиПиПи...

Автор: Ch0bits 29.1.2007, 18:09
Ещё можно GTK использовать, он и под никсами и под форточками бесплатен.

Автор: Fin 29.1.2007, 18:13
Qt и Java это две большие разници. Qt просто кроссплатформенная библиотека. Java это язык программирования в первую очередь.  Так что я не понимаю, как их можно сравнивать  smile  

Автор: nerezus 29.1.2007, 19:08
Fin, Джава - это не только язык программирования, но еще и 2 килограмма ценного фреймворк и платформа.

В данном случае разговор про фреймворки.

Автор: Mephisto 30.1.2007, 11:58
Цитата(Fin @  29.1.2007,  19:13 Найти цитируемый пост)
Qt и Java это две большие разници. Qt просто кроссплатформенная библиотека. 

Лично я считаю это плюсом КТ.
Т.е. с явой я всегда завязан со всем фреймворком, а в случае с КТ могу переползти на старый добрый СиПиПи...

Автор: Hidrag 30.1.2007, 16:21
Mephisto, максимум ты будешь привязан к версии jre, при этом не нужна переклмпиляция при смене платформы. Сам проверял! smile Писал под виндой, юзал под линухой smile

Автор: Mephisto 30.1.2007, 16:25
Цитата(Hidrag @  30.1.2007,  17:21 Найти цитируемый пост)
Mephisto, максимум ты будешь привязан к версии jre, при этом не нужна переклмпиляция при смене платформы. 

Да эт понятно. Просто когда пишешь на жабе ты всегда привязан к этой жре.
А на сях можешь писать и без КТ. smile Ибо это СиПиПи.
А если используеш КТ, насколько я знаю перекомпиляция тоже не нужна.  smile 

Автор: Hidrag 30.1.2007, 16:27
Mephisto, Как так? smile неужто исполняемый файл запустится и там и там без каких либо манипуляций? и там и там filename.exe? smile

Автор: Mephisto 30.1.2007, 16:42
Hidrag, смотря чего скомпилишь!!!!

Автор: Ch0bits 30.1.2007, 21:10
Hidrag, скорее Mephisto больше ценит возможности языка, чем возможности платформы. На С++ возможно воплотить любые низкоуровневые системные фантазии, хотя и ценой надёжности. Если человеку нравится С++ - это надолго.  smile 

Mephisto
Для справки скажу, что можно писать кроссплатформенные библиотеки на С++ для java и взаимодействовать с системой через JNI. А в java IDE NetBeans имеется аддон для разработки на С++. Сам пользовался, прекрасно дружит с gcc.

Автор: Hidrag 30.1.2007, 22:51
Ch0bits, скачал я этот аддон! а что нужно кроме него чтобы писать и компилить проги на с++ в нетбинсе под виндой?

Автор: Sun 30.1.2007, 22:54
Эх была бы моя воля, писал бы только на C++ под Qt. Кто бы знал как меня утомило изображение зависшего на 10-15 секунд окна с IDE для Java с постоянным отжиранием всей доступной памяти. Вся хваленная кросплатформенность Java в итоге никому не нужна. Всё равно в итоге программа постоянно работает на одной машине под одну и туже ОС. Поэтому смысла хранить программу в байт коде, по сути никакого. Какой-то смысл еще был когда были популярны Java-апплеты, когда он мог загрузится и работать на любой ОС. Но время их популярности давно прошло и апплет на сайте наводит на мысль о вымерших динозаврах.

Посмотрите на программы на Java - для них как правило предлагают скачать разные инсталяшки под разные ОС и наличие найтивных библиотек при этом не редкость.

В этом свете кросплатформенные Сишные библиотеки гораздо более привлекательны. Программы написанные с их использованием работают во много раз быстрее, едят во много раз меньше памяти, не требуют установки виртуальной машины. В случае с Qt мы еще и имеем фактически платформу, в которой есть полноценное API для решения практически всех современных задач прикладного программирования, а не только окошки рисовать. Что касается простоты написания программ, то оно становится не сложнее чем в Java. Даже хваленная диспетчеризация памяти и уборка мусора есть в Qt.

Вообщем - Java маздай, Qt - рулез форева!

Автор: Hidrag 30.1.2007, 22:58
Sun, это все так, когда пишешь для себя! Работадателю и его || твоим заказчикам нужна Java, тут уж ничто не поделаешь smile

Автор: Любитель 30.1.2007, 23:42
Ну.. далеко не всегда прям нужна. Очень часто им побоку. Редко даже ратуют за КуТе, ГТК, etc.

Mephisto, рекомпилить в любом случае придётся. Кроссплафторменность возможна лишь на уровне исходников. Как любит говорит Бъярни - ява не есть кроссплатформенность, это одна плафторма - JRE (что у нас E обозначает?  smile ). А уже JRE портируется на разные платформы.

Проголосовал за КуТе. Почему- см. подпись. Однако, яву уважаю (хотя из явовского ГУИ работал лишь с SWT - плагины для эклипса и CDT, которые я начал писать и никак руки не дойдут продолжить), потому объективный выбор невозможен (в общем случае), надо смотреть, что самому ближе.

Цитата(mr.DUDA @  29.1.2007,  14:10 Найти цитируемый пост)
Можно и винформы.

Разве? Ну, если только через wine - но сие изврат и грязный хак, потому не считается. А так, вроде есть лишь GTK#. Те, кто знают мою нелюбовь к ГТК вообще поймут моё отношение к этому чуду.

Автор: Mephisto 31.1.2007, 13:17
Цитата(Sun @  30.1.2007,  23:54 Найти цитируемый пост)
Вся хваленная кросплатформенность Java в итоге никому не нужна. Всё равно в итоге программа постоянно работает на одной машине под одну и туже ОС.

Считаю логичное замечание!  smile 
Хм.
Зато популярность у жабы не отнимешь... Хотя каких-то сильных преимуществ не вижу.  smile 
Цитата(Любитель @  31.1.2007,  00:42 Найти цитируемый пост)
Кроссплафторменность возможна лишь на уровне исходников.

Этого вполне достаточно как правило!  smile 

Автор: Любитель 31.1.2007, 13:45
Цитата(Mephisto @  31.1.2007,  13:17 Найти цитируемый пост)
Этого вполне достаточно как правило! 

Не спорю. Просто отметил факт.

Автор: Mephisto 31.1.2007, 17:02
Цитата(Sun @  30.1.2007,  23:54 Найти цитируемый пост)
Даже хваленная диспетчеризация памяти и уборка мусора есть в Qt.

Хоть убейте меня, но давно не видел утечек памяти. Стоит только придерживаться нормального стиля, так никаких утечек не происходит....  smile 

Неужели меньшую вероятность утечки следует считать преимуществом???  smile

Добавлено @ 17:08 
Вернее меньшую гибкость языка считать его преимуществом... 

Автор: Sun 31.1.2007, 18:03
Цитата(Mephisto @  31.1.2007,  14:02 Найти цитируемый пост)
Хоть убейте меня, но давно не видел утечек памяти. Стоит только придерживаться нормального стиля, так никаких утечек не происходит....  smile 

К сожалению бывает, особенно не редкость для OpenSource софта, в начальных версиях. Да и в коммерческом бывает. А если быть честными до конца, то и в самом Qt и Java  smile 

Автор: Mephisto 31.1.2007, 18:16
Цитата(Sun @  31.1.2007,  19:03 Найти цитируемый пост)
К сожалению бывает, особенно не редкость для OpenSource софта, в начальных версиях.

Да, это известная проблема. В основном когда группа разработчиков работает над одним проектом. У меня такая же трабла бывает. Не всегда получается сделать нормально защищенный код от утечек. Мы в компании договорились ставить специальную пометку в комментах. Чтоб не забыть подчистить поинтер... 
А вообще достаточно редкое явление как по мне. :/

Недавно нашел утечку в одной из мс либ которую юзал. Ужоснах. Целый день убил на поиски утечки в своем коде. Оказалось что она не у меня происходит.

Добавлено @ 18:21 
Короче я выбираю QT. Пошел за литературой... 

Всем пасип за интересные мысли...  smile 

Автор: Akella 13.2.2007, 09:45
Цитата(Mephisto @  29.1.2007,  13:20 Найти цитируемый пост)
Под линукс  smile Отстает сильно. ИМХО 

на сколько известно, то ставим Mono, сверху .NET

Автор: Mephisto 13.2.2007, 09:48
Цитата(Akella @  13.2.2007,  10:45 Найти цитируемый пост)
на сколько известно, то ставим Mono, сверху .NET 

А ты видел этот моно?
Нсколько я знаю на дворе уж начинают отвыкать от 2-го .нет, а в моно еще 1 не реализован.

Добавлено @ 09:50 
Единственный реальный аргумент в сторону ява так это баннер который рядом висит:
Цитата
Java Developer: IT-департамент западного банка ведет набор Java разрабочиков. Задачи - разработка биржевого ПО для известнейших торговых площадок мира (например, NYSE) и рынка FOREX. Требуются как начинающие программисты, так и специалисты с большим опытом.
http://www.youthcareer.ru/vacancies/java.html


Добавлено @ 09:50 
[censored 2] , теперь такой:
Цитата
Вакансия: Программист С++/3D. 1500-2000$ Приветствуеться знание OpenGL, хорошая математическая подготовка. Соц.пакет, питание, обучение.
http://www.youthcareer.ru/vacancies/cpp3d
 smile  smile  smile  smile  smile 

Автор: nerezus 14.2.2007, 07:02
Цитата

на дворе уж начинают отвыкать от 2-го .нет
 Э? А разве 3ий есть?
Есть конечно 3ий фреймворк, но это же чистый 2ой, только с доп. модулями )

Цитата

на сколько известно, то ставим Mono, сверху .NET 
 Всмысле сверзу? mono - альтернативная реализация
Но программу посерьезнее хеллоуорлда он у меня не запускает уже )

Автор: Mephisto 14.2.2007, 09:57
Цитата(nerezus @  14.2.2007,  08:02 Найти цитируемый пост)
Но программу посерьезнее хеллоуорлда он у меня не запускает уже ) 

Ты не первый у кого не запускается.  smile 

Автор: mr.DUDA 14.2.2007, 10:38
 smile 

Автор: Mephisto 19.2.2007, 16:58
mr.DUDA, почему же оффтоп. Хороший п.с. получился.

Автор: Любитель 21.2.2007, 14:47
Mephisto, оффтоп потому что тема - "Qt vs Java". Про .Net (в том числе Моно) речи не шло.

Кстати, а что запускаешь то 
Цитата(nerezus @  14.2.2007,  07:02 Найти цитируемый пост)
посерьезнее хеллоуорлда
 ? smile 

Автор: Mephisto 21.2.2007, 14:54
Цитата(Любитель @  21.2.2007,  15:47 Найти цитируемый пост)
Кстати, а что запускаешь то 

Я-то ничего, мой коллега (любитель нет) пробовал в нем что-то писать. Отзывалсо негативно... 
Причем вполне аргументировано.  smile 

Автор: nerezus 21.2.2007, 18:34
Цитата

Кстати, а что запускаешь то 
 простое гуевое окошко. Которое под M$ Framework'ом работало.

Автор: Любитель 25.2.2007, 15:57
nerezus, какая версия Моно? Этот проект активно развивается. В первых версиях (и достаточно долго) поддержки Windows Forms не было (как альтернатива была либа GTK#). Ныне есть и реализация http://svn.myrealbox.com/blog/ причём не такая уж и слабая. Вот http://svn.myrealbox.com/mwf/class-status-System.Windows.Forms.html можно получить подробную инфу - какие классы реаклизованы, какие нет и пр. Замечу, что проект WinFroms развивается паралельно с самим Моно, поэтому чтобы получить все возможности латест релиза, придётся качнуть его самого и пробилдить. Также замечу, что в рамках проекта Olive развиваются многие вещи из .Net 3.0. Говорить о слабости Моно, как мне кажется, уже нельзя.

Автор: nerezus 26.2.2007, 08:42
Цитата

Говорить о слабости Моно, как мне кажется, уже нельзя. 
 Т.е. если он не работает, то виноват не он?  smile 
А под .NET все работает, поэтому я сомневаюсь, что накосячил я.

Ну чтож, скачаю новую версию и гляну.

Автор: mr.DUDA 26.2.2007, 09:57

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)