首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >C(P)ython或D语言的多平台gui应用程序

C(P)ython或D语言的多平台gui应用程序
EN

Stack Overflow用户
提问于 2011-04-16 15:14:07
回答 4查看 1.6K关注 0票数 4

我真的很喜欢D(2)语言,想把它用于多平台的GUI应用程序,但我看到它的生态系统还不是很发达。在从Linux转移到(免费)PC-BSD之后,我看到在端口中甚至没有64位编译器准备好,并且一个人不确定是否有任何GUI库(QtD,gtkD,wxD)已经准备好进行严肃的项目,我们想尽快开始这个项目。

Otoh,之前有人建议我尝试使用Python,它是成熟的,有很多工具,GUI库等,但速度有问题-我们必须使用一个C库来计算星历,并编写几个库来使用该C库。

然而,这对Cython来说可能是一份很好(完美)的工作,所以我的问题是,你如何看待用Python (Qt,EFL)编写GUI-part,并使用Cython来处理性能关键的事情(绑定外部C库和编写我们自己的库),而不是(等待)D成为真正的项目的准备?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-04-16 20:51:38

作为一名Cython核心开发人员,我显然是有偏见的,但我当然可以推荐它。CPython和Cython的结合提供了开发速度、平台稳定性、可移植性、低级编码和FFI功能以及执行性能的其他很难达到的水平,包括一条非常容易的优化路径,从快速简单的代码到以C速度高度调优的代码。

我也可以热情地推荐Qt作为一个GUI工具包。它可以很好地与Python配合使用。

票数 7
EN

Stack Overflow用户

发布于 2011-04-17 00:31:53

这对我来说是一个有趣的问题,因为D是我最喜欢的编程语言,Python是我第二喜欢的编程语言。现在,尽管我很喜欢D,但我不得不承认这个生态系统有点不成熟。

GtkD已经为相当重要的项目做好了准备,但是还没有完全达到其他语言的图形用户界面工具包的标准,特别是在文档方面。我使用它作为一个绘图库,它工作得很好,但有一些小问题。DWT最近才添加了对D2的支持。AFAIK WxD只是一个绑定,而不是一个D形化的包装器。QtD仍然有一些杂乱的问题,比如某些特性需要打补丁的编译器。一般来说,你现在可以用D2做一个图形用户界面项目,但它不会完全一帆风顺。

虽然Cython是一个很好的尝试,以缓解纯Python的缓慢,但它有一些明显的弱点,使我在需要性能或执行低级工作的能力时更喜欢D:

  • 如果你想获得类似C语言的性能,它需要显式的类型声明。如果您尝试编写泛型代码,您将付出显著的性能损失。有了D,你可以通过模板很容易地写出高效的泛型代码。Python没有/没有正确实现一些让

变得有趣的很酷的特性。例如,它最近才获得对闭包的支持。我不知道这种情况改善的速度有多快,也不知道还有什么其他限制。

  • 如果涉及到线程,你仍然拥有

的全局解释器锁。

  • 必须同时使用Cython和常规的CPython解释器,并将Cython代码与常规的Python代码放在不同的模块中,这让人感觉有点笨拙。语言之间的接口通常会有摩擦,特别是如果你关心效率的话。例如,Numpy类型为don't "just work" efficiently in Cython.
票数 6
EN

Stack Overflow用户

发布于 2011-04-16 23:47:06

用动态语言编写GUI和用另一种语言编写性能敏感的代码是编写应用程序的一种很好的方法。这可以在Python中完成,也可以在Tcl/Tk和其他几种脚本语言中轻松完成。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5685078

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档