Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/383.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
想要在Qt和Java之间做出选择:一个新问题_Java_Qt - Fatal编程技术网

想要在Qt和Java之间做出选择:一个新问题

想要在Qt和Java之间做出选择:一个新问题,java,qt,Java,Qt,我想学习一种新的编程语言。我脑子里有这样的想法 文件更改监控 嵌入式数据库,如SQLite 支持拖放的小部件 富文本,带有与单词内联的小部件 我最喜欢的项目 我听到他们两人的很多意见。他们似乎一致认为Java更难使用,Java代码可读性较差。但是QT不能实现我上面列出的那些漂亮的特性:它比QT更KDE 我希望选择能够生成易于维护的代码和平滑学习曲线的语言。添加一个新特性应该很简单:搜索它,查找教程,编写自己的代码;没有智力体操或低级修补 这个问题的范围可能太广了,所以请告诉我还有哪些因素与新

我想学习一种新的编程语言。我脑子里有这样的想法

  • 文件更改监控
  • 嵌入式数据库,如SQLite
  • 支持拖放的小部件
  • 富文本,带有与单词内联的小部件
我最喜欢的项目

我听到他们两人的很多意见。他们似乎一致认为Java更难使用,Java代码可读性较差。但是QT不能实现我上面列出的那些漂亮的特性:它比QT更KDE

我希望选择能够生成易于维护的代码和平滑学习曲线的语言。添加一个新特性应该很简单:搜索它,查找教程,编写自己的代码;没有智力体操或低级修补


这个问题的范围可能太广了,所以请告诉我还有哪些因素与新手有关。

如果你想要一个更简单的学习曲线,可以选择Java

它符合您的所有需求,提供了良好的可移植性(公平地说,Qt也是如此),并且它的GUI层(Swing)具有所需的细节。请注意,Qt是一组库,而不是一种语言。它的底层语言是C++,加上一些技巧,让它使用一个非常有用的“信号/时隙”抽象(谷歌用于元对象编译器)。 对于您的项目,我会选择Java或更高级的语言(例如Python)。注意,您可以使用PyQt绑定从Python使用Qt

对于Java中的可嵌入数据库,您可以尝试


请注意,任何语言都不会“生成易于维护的代码”。任务由你决定。为了全面了解软件工程,我衷心推荐Eric Raymond的文本《Unix编程的艺术》;你可以在线免费阅读。

有些人可能会说Java很难,而有些人会说QT很有挑战性。这实际上取决于人、你投入了多少工作以及你学习代码的决心。Java是我学的第一门语言,我不想说它很容易,但我想说,它不是一种可以回避的东西,因为你听说它更难。我从来没有使用过QT,所以我无法比较两者,但从我所看到的情况来看,您的大多数目标都可以通过学习Java来完成。记住,无论发生什么,编码都是很难的,所以如果你想不出什么来,不要自责。问问吧。动手编码是最好的学习方式,所以只需连续数小时编码即可。当你的思维遇到编码障碍时,继续回到这里


祝你好运。

使用Qt不仅可以完成所有这些任务,而且至少内置了两个:

  • 文件更改监控-
  • SQLite-
所以要小心你听谁的“意见”


Java也能做到这些吗?当然可以,但我们需要诚实对待竞争。

去当地的购物中心,四处走走,比较有多少人在使用Androids和有多少人在使用Symbian手机,那么选择应该是显而易见的。@Affe,这是非常误导人的。Android是有用的,类似Java,但不是Java。它不包括所有的Java库,包括一些自己的库,并且有自己的字节码格式。只有更新的Symbian操作系统甚至提供Qt作为选项。他们正朝着那个方向前进,但他们并不是一路走来。@affeqt不仅仅是Symbian。它允许你用C++创建。诺基亚正在过渡到使Qt完全开源。@picky,Qt已经是免费的开源产品了。另一方面,Symbian不是,这是你必须区分的另一个原因。@picky,在2009年1月,他们将其置于LGPL之下。这意味着即使是专有应用程序也可以免费使用它(如在beer and freedom中),而不必在GPL下发布整个应用程序。我刚才说的是,会有人提出两种观点。Python?这是一个通配符条目。我试过了,它对于我制作的一个简单的HTTP服务器来说非常优雅。GUI编程是否成熟?@ AITCHNYU,有各种各样的好的GUI库的绑定,包括Qt(两者和LGPL),以及,Qt是很棒的-假设你知道C++。Jambi是Java的一个伟大的港口,然后他们就杀了它。oooo-似乎它一直在给社区。因此,Java+QT是两个世界中最好的。