2

我仍然是一个新手程序员,我正在研究一些适合编写桌面 GUI 应用程序的垃圾收集语言。该语言必须在 Windows、OSX 和 Linux 上可用。我说“垃圾收集”而不是高级,因为像 D 这样的语言不是很高级(imo),而是垃圾收集,编译为本机代码并提供接近 C++ 的性能。然而,针对 D 开发最多的 GUI 工具包是 DWT,它是 SWT 的一个端口。我用过的少数 SWT 应用程序在每个平台上都很难看。如果 D 有一个 Qt 绑定会很棒,但我唯一能找到的是 QtD,这似乎是一个死项目。

我知道的语言:
Java
Python
D

我宁愿不将 C# 与 Mono 一起使用,而且在语法方面我更喜欢类似于 C/C++ 的语言。

还有其他的吗,你有什么建议?

编辑:该语言不必编译为本机代码,编译为字节码并在 VM 中运行就可以了。

4

6 回答 6

2

我知道的每一种编程语言,都有一个本地代码的编译器,都使用一些 C 或 C++ GUI 工具包来实现 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++。

于 2012-08-15T15:10:06.100 回答
2

怎么样vala

Vala 是一种面向对象的编程语言,具有自托管编译器,可生成 C 代码并使用 GObject 系统。Vala 在语法上类似于 C#,并且包括有用的语言特性,如匿名函数、信号、属性、泛型、辅助内存管理、异常处理、类型推断和 foreach 语句。2它由 Jürg Billeter 和 Raffaele Sandrini 开发。它旨在通过以 GObject 对象系统为目标,将现代语言特性带入 C[需要澄清][孔雀术语],而无需增加运行时需求且开销很小。Vala 不是直接编译为汇编语言或另一种中间语言,而是源对源代码编译为 C,然后使用平台的标准 C 编译器(例如 gcc)进行编译。

GoGTK、FLTK 和 WALK 也有一些绑定。看看这个线程。

于 2012-08-15T15:52:15.427 回答
1

还有一些非常稳定的语言,比如 Free Pascal/Lazarus 和 PureBasic,它们在 Win、OS X 和 Linux 上运行良好(在所有平台上编译相同的源代码)

于 2013-03-21T23:46:40.127 回答
1

在 Java 上,您仍然可以修改 UI 的外观。Java 还获得了一个名为Qt Jambi的 Qt 端口。

于 2012-08-15T02:56:27.987 回答
0

Real Studio使用引用计数进行自动内存管理。这不是垃圾收集,但在许多方面都更好。

当然,Real Studio 可以在 Windows、OS X 和 Linux 上运行,并且可以为 Windows、OS X、Linux 和 Web 创建应用程序。

于 2012-08-15T16:27:49.457 回答
0

您可以使用 Qt Quick。它有一种称为 QML 的声明性 UI 语言,并且可以使用 javascript 编写脚本。

于 2012-09-16T14:56:36.267 回答