Хотите выбрать между Qt и Java: новый вопрос

#java #qt

#java #qt

Вопрос:

Я хочу выучить новый язык программирования. Я имею в виду такие вещи, как

  • мониторинг изменений файлов
  • встроенные базы данных, такие как SQLite
  • виджеты, поддерживающие перетаскивание
  • форматированный текст с виджетами, встроенными в слова

для моего любимого проекта.

Я слышал много мнений о них обоих. Похоже, они согласны с тем, что Java сложнее в использовании, а код Java менее читабелен. Но QT не может реализовать отличные функции, подобные тем, которые я перечислил выше: это больше KDE, чем QT.

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

Этот вопрос может быть слишком широким по объему, поэтому, пожалуйста, сообщите, какие другие факторы имеют отношение к newb.

Комментарии:

1. Сходите в местный торговый центр, прогуляйтесь и сравните, сколько людей используют Android, с тем, сколько используют телефоны на Symbian, тогда выбор должен быть очевиден.

2. @Affe, это крайне вводит в заблуждение. Android полезен и похож на Java, но не Java. он не включает в себя все библиотеки Java, включает некоторые из своих собственных и имеет свой собственный формат байт-кода. Только новые операционные системы Symbian даже предлагают Qt в качестве опции. Они движутся в этом направлении, но не до конца.

3. @Affe Qt — это гораздо больше, чем просто Symbian. Это позволяет создавать многоплатформенные пользовательские интерфейсы с C . Nokia также переходит на Qt с полностью открытым исходным кодом.

4. @ picky, Qt уже является бесплатным с открытым исходным кодом. С другой стороны, Symbian — это не так, еще одна причина, по которой вы должны различать.

5. @picky, в январе 2009 года они поместили его под LGPL. Это означает, что даже проприетарные приложения могут использовать его бесплатно (как в beer и freedom) без необходимости выпускать все свое приложение под лицензией GPL.

Ответ №1:

Вы не только можете выполнять все эти действия с помощью Qt, по крайней мере, два встроены:

Так что будьте осторожны, к чьим «мнениям» вы прислушиваетесь.

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

Комментарии:

1. Qt потрясающий — при условии, что вы знаете C . Jambi был отличным портом для Java, а затем они его уничтожили. оооо — похоже, это помогло сообществу. Итак, у вас есть лучшее из обоих миров, Java QT.

Ответ №2:

Если вы хотите упростить процесс обучения, выбирайте Java.

Он соответствует всем вашим требованиям, предлагает хорошую переносимость (Qt, честно говоря, тоже), а его уровень GUI (Swing) обладает необходимыми тонкостями. Обратите внимание, что Qt — это набор библиотек, а не язык. Его базовым языком является C , плюс несколько приемов, которые позволяют ему использовать абстракцию ‘signal / slots’, которая весьма полезна (google для компилятора метаобъектов).

Я бы выбрал либо Java, либо язык более высокого уровня (например, Python) для вашего проекта. Обратите внимание, что вы можете использовать Qt из Python, используя привязки PyQt.

Для встраиваемой базы данных на Java вы могли бы попробовать hsql.

Обратите внимание, что ни один язык не будет «генерировать легко поддерживаемый код». Задача зависит от вас. Чтобы узнать о разработке программного обеспечения в целом, я от всей души рекомендую книгу Эрика Рэймонда «Искусство программирования Unix»; вы можете бесплатно прочитать ее онлайн.

Комментарии:

1. Python? Это подстановочный знак. Я попробовал это, и это было элегантно для простого HTTP-сервера, который я создал. Является ли он зрелым для программирования с графическим интерфейсом?

2. @aitchnyu, существуют привязки для множества хороших библиотек графического интерфейса пользователя, включая Qt (как PyQt4 , так и LGPL PySide ), а также GTK , wxWidgets и Tkinter .

Ответ №3:

Некоторые люди могут сказать, что Java сложна, в то время как другие будут утверждать, что QT является сложным. Это действительно зависит от человека, от того, сколько работы вы в него вложили и насколько решительно вы настроены на изучение кода. Java был первым языком, который я выучил, я не хочу сказать, что это легко, но я бы сказал, что это не то, от чего нужно уклоняться, потому что вы слышали, что это сложнее. Я никогда не использовал QT, поэтому не мог сравнивать их, но из того, что я вижу, большинство ваших целей могут быть достигнуты с помощью изучения Java. Помните, что кодирование — это сложно, несмотря ни на что, поэтому не корите себя, если вы не можете что-то понять. Просто спросите. Практическое кодирование — лучший способ научиться, поэтому просто кодируйте часами подряд. И продолжайте возвращаться сюда, когда ваш разум наталкивается на препятствие для кодирования!

Удачи.

Комментарии:

1. Я просто говорил, что у вас найдутся люди, которые аргументируют это обоими способами.