Vala 和 Genie 的生产准备好了吗? [关闭]
Posted
技术标签:
【中文标题】Vala 和 Genie 的生产准备好了吗? [关闭]【英文标题】:Are Vala and Genie production ready? [closed] 【发布时间】:2012-05-10 20:18:21 【问题描述】:我正在处理一些遗留的 C 代码,我需要对其进行重构和清理,以消除意大利面条式编程,遵守 DRY 原则等。
我正在考虑使用 C++ 进行重写,但我不想走那么远,并且希望尽可能地接近 C(同时使用一些 OOP 概念 [无需手动编写代码])。
我最近遇到了 GObject、Vala 和 Genie。后两个是相当新的。有没有人知道在生产代码中使用 Vala 或 Genie?
最后但并非最不重要的一点 - 是否有两种语言之间的优缺点比较列表。我有点倾向于 Genie,因为我喜欢 Python 并且不太热衷于 C#,但是 Genie(显然?)坚持使用选项卡在实践中可能有点烦人 - 我会对两种语言(假设其中一种或两种都可以用于生产)。
顺便说一句,我是在 Linux 上开发的,所以就我而言,任何与 Windows 相关的问题都不相关。
【问题讨论】:
您可能还想考虑Objective C、D,可能还有类似于“C with objects”的bunch of other languages。 【参考方案1】:Unity,所有最新版本的 Ubuntu 使用的用户界面,使用 Vala。
Here is a list 使用 Vala 开发的应用程序。其中一些是一些主要 GNU/Linux 发行版的默认 GUI 安装的一部分。
关于 Genie:它是 Vala 编译器可以理解的另一种语言(具有类似 Python 的语法)。所以这真的只是你喜欢哪种语法的问题(在我看来)。这是 Genie 语言指南中的一段话,似乎表达了同样的意思:
Genie 在功能上与 Vala 非常相似,但在语法上有所不同 允许开发人员使用更简洁、更少的代码来完成 同样的任务。
与 Vala 一样,Genie 具有相同的优势:
用 Genie 编写的程序应该具有与直接用 Vala 和 C 编写的程序相似的性能和资源使用情况 Genie 没有许多其他使用 VM 的高级语言(例如 Python、Mono、 爪哇) Genie 中的类实际上是 GObject,因此 Genie 可用于创建平台代码,如 GObject 所在的小部件和库 需要绑定到其他语言
如果您不喜欢TAB
字符,可以使用空格代替:
[indent=2] //two space indent instead of TAB
init
print "Hello World"
【讨论】:
谢谢。我想我会和瓦拉一起去。它仍在开发中(似乎对 Genie 的最后一次代码更改是几年前完成的)。 “用 Genie 编写的程序......对于那些 直接 用 Vala 和 C 编写的程序”这句话有点说明问题。使用 Genie 引入了什么级别的间接性?我知道 Vala/Genie 在编译成二进制文件之前首先编译成 C,但是这句话看起来好像用 Genie 编写的程序在编译成 C 之前先编译成 Vala,然后是二进制文件。或者也许介于两者之间的斯瓦希里语。我不知道。 我查看了Unity的源代码,那里只能看到cpp,c,py扩展。以上是关于Vala 和 Genie 的生产准备好了吗? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章