【问题标题】:What are the main advantages, or otherwise, of developing with Vala? [closed]与 Vala 一起开发的主要优势是什么? [关闭]
【发布时间】:2026-02-02 15:50:01
【问题描述】:

我阅读了它的文档,它看起来非常棒。但我从未听说过使用它开发的任何应用程序。

Vala的主要优点和缺点是什么?

【问题讨论】:

  • GNOME 的所有新桌面应用程序中有一半是使用 Vala 开发的,其中最引人注目的可能是 Cheese(网络摄像头展台)和 Shotwell(照片管理器)。有关 Vala 成功案例的列表,请参阅 this page 的最后一部分。除此之外,您的问题确实太宽泛而无法回答;也许您应该将其更改为更具体。

标签: vala


【解决方案1】:

(国际海事组织) 优点:

  • 没有垃圾收集器!
  • 生成的程序是用 C 语言编写的,与其他脚本语言 (python) 或托管代码 (Mono) 相比,这应该可以提高性能并且需要更少的资源。
  • 为 Linux 中可用的大量有用库提供易于使用的 API,这些库主要用 C 语言编写。
  • 提供一种非常流行的类似 C# 的语法,从而吸引新的开发人员参与 OSS 编程。
  • 将(某种程度的)OOP 语法糖带入 C 世界,但比 C++ 更易于使用。

缺点:

  • 没有垃圾收集器!
  • 应针对每种架构重新编译生成的程序。
  • 这是一种年轻的语言。语言规范和 API 不断变化。维护一个大项目可能需要额外的关注。
  • 可以进行调试,但有点棘手。
  • 还没有稳定的 IDE 和工具。 Valide 经常崩溃,vtg 也经常崩溃。
  • 语言对象模型基于 glib/gobject,这似乎是有限的。正在开发 Dova 以探索替代路径,但不会与 gobjects 兼容。

【讨论】:

  • 只是为了澄清(供未来的读者),即使它没有垃圾收集器,它也有一个可以达到相同结果的引用计数机制。虽然效率更高,但它需要遵循一些简单的规则,如果不遵循,可能会产生内存泄漏。
  • +1:我会说调试和不稳定的 IDE 是当今的主要缺点(因为它是一种年轻的语言,这肯定会在不久的将来改变)。
  • 正如我们所说,在 IDE 上工作。 christophertimberlake.com/post/39654584097/…
最近更新 更多