Vala和Genie生产准备好了吗?

Hom*_*lli 9 c gobject vala genie

我正在使用一些遗留的C代码,我需要重构和清理,删除意大利面条型编程,遵守DRY原则等.

我正在考虑使用C++进行重写,但我不想走得那么远,并希望尽可能保持与C的接近(同时使用一些OOP概念[无需手动编写代码]).

我最近遇到了GObject,Vala和Genie.后两者是最近的.是否有人知道在生产代码中使用Vala或Genie?

最后但并非最不重要 - 是否有两种语言之间的利弊比较列表.我倾向于Genie,因​​为我喜欢Python而且我对C#并不太热衷,但Genie(显而易见的)对标签的坚持可能在实践中有点烦人 - 我会对一系列的利弊感兴趣两种语言(假设其中一种或两种语言可供生产使用).

顺便说一句,我正在开发Linux,所以任何与Windows相关的问题都与我无关.

Arj*_*kar 10

Unity是所有最新版本的Ubuntu使用的用户界面,它使用Vala.

以下是使用Vala开发的应用程序列表.其中一些是一些主要GNU/Linux发行版的默认GUI安装的一部分.

至于Genie:这是Vala编译器理解的另一种语言(使用类似Python的语法).所以它只是你喜欢哪种语法的问题(在我看来).以下是Genie语言指南的引用,似乎也是这样说的:

Genie在功能上与Vala非常相似,但语法不同,允许开发人员使用更清晰,更少的代码来完成相同的任务.

像Vala一样,Genie也有同样的优势:

  • 用Genie编写的程序应该具有与直接用Vala和C编写的程序相似的性能和资源使用
  • Genie没有任何使用VM的许多其他高级语言(例如Python,Mono,Java)带来的膨胀和开销
  • Genie中的类实际上是GObject,因此Genie可用于创建平台代码,如小部件和库,其中需要GObject来绑定其他语言

如果您不喜欢TAB字符,则可以使用空格:

[indent=2] //two space indent instead of TAB
init
  print "Hello World"
Run Code Online (Sandbox Code Playgroud)