所以我知道大量的通用脚本语言,如Ruby,Python,Perl,甚至PHP等,实际上也声称可用于创建桌面应用程序。
我认为我的问题可以清楚地回答
是否有公司仅使用特殊脚本语言来创建应用程序?
使用像Python这样的语言创建产品有什么真正的优势吗?
我不是在讨论这些语言在网站开发方面的可行性!
我应该坚持使用桌面应用的C(++)吗?
最好的问候, 喇嘛
答案 0 :(得分:6)
我工作的公司使用Perl和Tk与PerlApp一起构建可执行包以生成或主要的软件应用程序。
为了简化代码,Perl击败了C和C ++。你可以在一行Perl中做20行C。
我们已经将WxPerl用于一些较小的项目。我们想完全转移到WxPerl,但是现有的代码可以工作,所以移动的优先级很低,直到Wx可以为我们提供Tk无法提供的东西。
Python也非常适合构建GUI应用程序。你可能听说过钱德勒。这是一个很棒的Python应用程序。还有很多其他的。
Ruby也是一个合适的选择。
PHP正在打入命令行应用程序的世界。我不确定其GUI工具包的功能或灵活性。
答案 1 :(得分:4)
您列出的语言实际上不是脚本语言,因为它倾向于描述设计用于在更大框架(如javascript)内部工作的语言,该框架为世界提供接口。虽然你当然可以用这些语言编写脚本,但每种语言都是一种适当的编程语言(与C或C ++等编译语言相比,称为动态或解释语言)。
有许多成熟的gui工具包可用于创建具有解释语言的桌面应用程序。在SO上搜索任何带有“gui”的语言都会产生很多结果。
您列出的语言的优点是快速开发和简洁的代码。
编译语言的优势主要在于速度,与操作系统内部的联系更紧密。但是对于大多数桌面应用程序来说,解释语言的开发简易性超过了任何小的性能提升(除非你正在编写一个cpu密集型应用程序,在这种情况下,在C语言中写入cpu,然后从解释语言中调用它们,哪个可以处理gui)
许多解释型语言提供了对C或其他语言的轻松转义(通常具有良好的内联语法)。
我建议你看看http://rosettacode.org上的一些例子,看看程序如何与你感兴趣的语言结合起来之间的根本区别。
答案 2 :(得分:3)
Python(与PyQt结合使用)是GUI桌面应用程序的一个非常可靠的组合(请注意,虽然QT是LGPL,但PyQt(Python绑定)是双重许可的:GPL或商业用途。)
它提供与Qt在C ++上相同的(GUI库),但具有Python的特定强度。我将列出一些比较明显的:
我应该坚持使用桌面应用的C(++)吗?
一般情况下:不,除非你想/需要(出于特定原因)。
答案 3 :(得分:2)
我建议您不要尝试寻找最适合GUI应用的语言,而是寻找您最喜欢的语言,然后使用它来编写您的应用。
Ruby,Python,Perl都有可用的GUI工具包。他们中的大多数人都可以访问常用的工具包,如TK,GTK和Wx。应用程序的外观和感觉将更多地依赖于GUI工具包而不是语言,并且性能明智,您可能会发现您编写应用程序的方式比语言选择更具影响力。
如果您对C ++感到满意,那么您还应该将C#或Java视为选项。虽然不是脚本语言,但它们具有许多相同的好处,如内存管理和更健全的字符串实现。
答案 4 :(得分:1)
我使用了许多使用脚本语言开发的程序。一些嵌入式设备供应商向我的组提供了用TCL编写的基于Windows的配置和调试实用程序。 Google的绘图程序SketchUp里面有很多Ruby(用户可以使用Ruby创建附加组件)。我见过许多用Python编写的Linux应用程序。还有更多的例子,但通常情况下,完成的应用程序捆绑在一起,你无法真正说出它内部有什么动力。
是的,使用脚本语言会有好处。一些脚本语言使得执行特定任务变得更容易;例如,文本处理在像Ruby这样的语言中更容易(IMO),它具有正则表达式支持和健壮的String类,而不是普通的C语言。使用脚本语言生成UI可以更容易地支持多个平台,因为所有特定于平台的代码都在语言解释器或预编译库中处理。例如,我们构建基于TCL的应用程序的供应商声称他们可以使用TCL为应用程序构建UI,只需花费很少的时间在C ++或VB中构建它,然后他们可以毫不费力地将它移植到Linux
另一方面,脚本语言通常不适合使用,例如编写驱动程序或执行任何需要低级硬件访问的操作。
然而,最重要的是,现代语言变得非常强大,以至于语言的选择并没有像过去那样大。使用您最熟悉的语言。与学习新语言相关的学习曲线通常会对您的项目产生更大的影响。
答案 5 :(得分:0)
http://www.pygtk.org/applications.html
看起来只是使用其中一个框架的Python中很长的GUI应用程序列表。
答案 6 :(得分:0)
MPICH2的某些部分是用Python编写的。我没有检查所有内容,但是用于运行mpi应用程序的许多部分都是用Python编写的。也许每个人都没有使用MPICH2,但可以肯定它是一个很好的软件。