&引用;“真正的”;以及Ruby、Python及其朋友的非嵌入式使用

&引用;“真正的”;以及Ruby、Python及其朋友的非嵌入式使用,python,ruby,perl,scripting,Python,Ruby,Perl,Scripting,因此,我知道大量的通用脚本语言,如Ruby、Python、Perl,甚至PHP等,它们实际上也声称可以用于创建桌面应用程序 我想我的问题可以回答得很清楚 是否真的有公司使用一种特殊的脚本语言来创建他们的应用程序 仅用Python这样的语言创建产品有什么真正的优势吗 我不是在说这些语言对于web开发的可行性 对于桌面应用程序,我应该坚持使用C++吗 致以最良好的祝愿, lamasPython(与PyQt结合)是GUI桌面应用程序的一个非常可靠的组合(注意,虽然QT是LGPL,但PyQt(Pyt

因此,我知道大量的通用脚本语言,如Ruby、Python、Perl,甚至PHP等,它们实际上也声称可以用于创建桌面应用程序

我想我的问题可以回答得很清楚

  • 是否真的有公司使用一种特殊的脚本语言来创建他们的应用程序

  • 仅用Python这样的语言创建产品有什么真正的优势吗

  • 我不是在说这些语言对于web开发的可行性

  • 对于桌面应用程序,我应该坚持使用C++吗

致以最良好的祝愿, lamas

Python(与PyQt结合)是GUI桌面应用程序的一个非常可靠的组合(注意,虽然QT是LGPL,但PyQt(Python绑定)是双重许可的:GPL或商业)

它提供了与C++上相同的(GUI库智能),但具有Python的特定强度。我将列出一些更明显的问题:

  • 快速成型
  • 非常可读(因此可维护)的代码
对于桌面应用程序,我应该坚持使用C++吗

一般来说:没有,除非你想/需要(出于特定原因)。


在Python中,似乎有一长串GUI应用程序只使用了其中一个框架。

的某些部分是用Python编写的。我没有检查所有内容,但用于运行mpi应用程序的许多部分都是用Python编写的。也许并非每个人都使用MPICH2,但可以肯定的是,它是一款很好的软件

您列出的语言并不是真正的脚本语言,因为脚本语言往往描述在一个更大的框架(如javascript)内工作的语言,该框架为世界提供了接口。虽然您当然可以用这些语言编写脚本,但每种语言都是一种合适的编程语言(称为动态或解释语言,与C或C++等编译语言不同)

有许多成熟的gui工具包用于创建具有解释语言的桌面应用程序。搜索任何打开“gui”的语言都会得到很多结果

您列出的语言的优点是开发速度快,代码简洁

编译语言的优点主要是速度快,并且与操作系统内部的联系更深。但对于大多数桌面应用程序来说,用解释语言开发的易用性超过了任何微小的性能提升(除非您正在编写cpu密集型应用程序,在这种情况下,用C编写cpu密集型位,然后用解释语言调用它们,解释语言可以处理gui)

许多解释语言都提供了到C或其他语言的简单转义(通常具有很好的内联语法)


我鼓励您看一下上面的一些示例,看看程序与您感兴趣的语言之间的根本区别。

我所在的公司使用Perl和Tk以及PerlApp构建可执行程序包,以生产或开发主要的软件应用程序

< Perl击败C和C++来简化代码。您可以在一行Perl中完成需要20行C语言的工作

我们已经在一些较小的项目中使用了WxPerl。我们希望完全迁移到WxPerl,但是现有的代码可以工作,所以迁移的优先级很低,直到Wx能够为我们提供Tk无法提供的东西

Python在构建GUI应用程序方面也很流行。你可能听说过钱德勒。这是一个大型Python应用程序。还有很多其他的

Ruby也是一个合适的选择


PHP正在进入命令行应用程序的世界。我不确定它的GUI工具包的功能和灵活性。

我使用过许多使用脚本语言开发的程序。一些嵌入式设备供应商提供了用TCL编写的基于my group Windows的配置和调试实用程序。谷歌的绘图程序SketchUp中有很多Ruby(用户可以使用Ruby创建附加组件)。我见过许多用Python编写的Linux应用程序。还有更多的例子,但通常情况下,已完成的应用程序被捆绑在一起,以至于您无法真正了解其内部的动力

是的,使用脚本语言有很多好处。一些脚本语言使执行特定任务更容易;例如,在Ruby这样的语言中,文本处理要比在普通的旧C语言中容易得多(IMO),因为它支持正则表达式和健壮的字符串类。使用脚本语言生成UI可能会使支持多个平台变得更容易,因为所有特定于平台的代码都在语言解释器或预编译库中处理。例如,我们的供应商建立TCL的应用程序声称他们可以使用TCL构建一个应用程序的UI,在一段时间内,他们将用C++或VB构建它,然后他们几乎可以轻松地将它移植到Linux。 另一方面,脚本语言通常不适合做一些事情,例如编写驱动程序或做任何需要低级硬件访问的事情


然而,最重要的是:现代语言已经变得非常强大,以至于语言的选择不再像过去那样产生巨大的影响。使用你最熟悉的语言。与学习一门新语言相关的学习曲线通常会对您的项目产生更大的影响。

我建议您不要尝试寻找最适合GUI应用程序的语言,而是寻找您最喜欢的语言,然后使用它来编写应用程序

Ruby、Python和Perl都有GUI工具包可供使用。他们中的大多数人都可以使用相同的常用工具包,如TK、GTK和Wx。应用程序的外观将更多地依赖于GUI工具包,而不是语言,从性能角度看,您可能会看到对您的编写方式有更多的影响