惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

云风的 BLOG
云风的 BLOG
The GitHub Blog
The GitHub Blog
A
About on SuperTechFans
P
Proofpoint News Feed
G
Google Developers Blog
Stack Overflow Blog
Stack Overflow Blog
IT之家
IT之家
Microsoft Security Blog
Microsoft Security Blog
F
Fortinet All Blogs
人人都是产品经理
人人都是产品经理
博客园 - 叶小钗
C
Check Point Blog
Microsoft Azure Blog
Microsoft Azure Blog
aimingoo的专栏
aimingoo的专栏
月光博客
月光博客
美团技术团队
D
Docker
博客园 - Franky
Y
Y Combinator Blog
大猫的无限游戏
大猫的无限游戏
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
博客园 - 【当耐特】
罗磊的独立博客
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报

博客园 - ZXJ~佳

openclaw错误之令牌过期 openclaw 常用操作命令 windows10本地部署openclaw windows部署ruoyiAI应用-nginx配置后台管理端和用户管理端 Windows安装向量数据库weaviate java冒泡排序 layer实现表格大图预览功能 js中Enter切换文本框,方便快捷输入 前端密码加密后端解密保证登录安全 java面试题 mysql8新特性CTE递归实现30天时间日期 Vala之入门篇(二)Vala安装 Mybatis—Generator使用教程 JAVA8十大新特性详解 博客主题 nideshop小程序商城部署 Eclipse创建Maven多模块工程Module开发(图文教程) 将博客搬至CSDN
Vala之入门篇(一)Vala简介
ZXJ~佳 · 2020-08-21 · via 博客园 - ZXJ~佳

        Vala 是一门新兴的编程语言,为那些依赖 GNOME 平台运行时(runtime),尤其是依赖 GLib 和
GObject 库的应用程序的编写提供了大量现代的编程技术的支持。目前,GNOME 平台长期持支了一套完整
的编程环境,拥有诸如动态类型系统,辅助内存管理等特性。在 Vala 诞生之前,要在 GNOME 平台上编程,
只能去调用原生的 C 语言接口,但是这样的编程方法暴露了很多根本不需要知道的细节,如果用更高级
的语言,诸如 Python,Mono C#,则需要相应的虚拟机环境,否则就只能调用 C++ 封装的库。
Vala 不同于以上提到的任何语言,Vala 最终会转换成 C 语言,然后再编译运行,不用依赖 GNOME 平
台的其他附加的库(除了 GLib 和 GObject 之外)。


由此,造成了一些细微的但又非常重要的影响:


• 使用 Vala 编写应用程序和直接使用 C 编写应用程序,运行的效率非常相似,但是 Vala 相
比 C,更加容易,快速地编写和维护。


• 使用 Vala 做不到 C 语言也做不到的事情,尽管 Vala 相对 C 语言来说,提供了很多 C 语言没
有的特性,但实际上 Vala 所有的特性都是映射到 C 语言本身的,只不过如果直接用 C 语言来实现
这些特性的话,非常耗时,也非常困难。


综上所述,即便 Vala 提供了全部我们所希望的现代编程特性,但其实这些都是得益于一个已经存在
的强力平台,因此我们在使用 Vala 的时候,必须遵守这个平台的编程规范。