我还是一名新手程序员,我正在寻找一些适合编写桌面GUI应用程序的垃圾收集语言。该语言必须在Windows,OSX和Linux上可用。我说“垃圾收集”而不是高级别,因为像D这样的语言不是很高级别(imo)但是垃圾收集,编译为本机代码并提供接近C ++的性能。然而,最发达的D工具包是DWT,它是SWT的一个端口。我使用的少数SWT应用程序在每个平台上看起来都很难看。如果D有一个很好的Qt绑定,但我唯一能找到的是QtD,这似乎是一个死的项目。
语言我知道:
Java的
Python的
d
我宁愿不使用C#和Mono,而且语法方面我更喜欢类似于C / C ++的语言。
还有其他人,你会建议什么?
编辑:语言不必编译为本机代码,编译为字节码并在VM中运行就可以了。
答案 0 :(得分:2)
我所知道的每种编程语言都有一个用于GUI的C或C ++ GUI工具包,它具有本机代码的编译器。例如,SWT / DWT在Linux / Unix上使用GTK。如果SWT应用程序看起来很难看,那么要么你没有配置GTK主题,要么你做了一些外观和感觉初始化。 SWT应用程序看起来与任何“本机”GUI应用程序完全相同。
即使我是一名前C ++程序员,无论我现在如何不喜欢它,我仍然会向你推荐C ++,因为你要求使用编译器编译语言来编译本机二进制文件。您指定的其他要求是垃圾收集器。在C ++应用程序中使用libgc
,这就是您所需要的。有关它的更多信息,请访问:http://developers.sun.com/solaris/articles/libgc.html。
在使用本机编译器的编程语言领域,我越来越不满足于D,但不幸的是,D没有像我们说的那样积极开发GUI ToolKit。这很快就会解决,但在那之前,请使用C ++。
答案 1 :(得分:2)
vala
怎么办?
Vala是一种面向对象的编程语言,具有自托管功能 生成C代码并使用GObject系统的编译器。瓦拉是 在语法上类似于C#,包括有用的语言功能 匿名函数,信号,属性,泛型,辅助记忆 管理,异常处理,类型推断和foreach 陈述2由JürgBilleter和Raffaele开发 Sandrini。它旨在为C语言提供现代语言特征[澄清 需要] [孔雀术语],没有增加运行时需求和少量 开销,通过定位GObject对象系统。而不是 直接编译成汇编或另一种中间语言, Vala是源代码编译为C,然后用a编译 platform的标准C编译器,例如gcc。
答案 2 :(得分:1)
在Java上,您仍然可以修改UI的外观。 Java也是一个名为Qt Jambi的Qt端口。
答案 3 :(得分:1)
然后有非常稳定的语言,如Free Pascal / Lazarus和PureBasic,在Win,OS X和Linux上运行良好(在所有平台上编译相同的源代码)
答案 4 :(得分:0)
Real Studio使用引用计数进行自动内存管理。这不是垃圾收集,但在很多方面都更好。
当然,Real Studio可以在Windows,OS X和Linux上运行,并且可以为Windows,OS X,Linux和Web创建应用程序。
答案 5 :(得分:0)
你可以使用Qt Quick。它有一个名为QML的声明性UI语言,它可以用javascript编写脚本。