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

推荐订阅源

cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
MyScale Blog
MyScale Blog
Microsoft Azure Blog
Microsoft Azure Blog
N
Netflix TechBlog - Medium
M
MIT News - Artificial intelligence
GbyAI
GbyAI
人人都是产品经理
人人都是产品经理
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
博客园_首页
爱范儿
爱范儿
博客园 - 三生石上(FineUI控件)
L
LangChain Blog
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
云风的 BLOG
云风的 BLOG
Y
Y Combinator Blog
L
LINUX DO - 热门话题
Project Zero
Project Zero
罗磊的独立博客
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
MongoDB | Blog
MongoDB | Blog
Spread Privacy
Spread Privacy
S
Schneier on Security
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
J
Java Code Geeks
P
Palo Alto Networks Blog
D
Darknet – Hacking Tools, Hacker News & Cyber Security
博客园 - Franky
T
Threat Research - Cisco Blogs
D
Docker
Hugging Face - Blog
Hugging Face - Blog
S
Securelist
Google DeepMind News
Google DeepMind News
T
The Exploit Database - CXSecurity.com
L
Lohrmann on Cybersecurity
月光博客
月光博客
V
Vulnerabilities – Threatpost
NISL@THU
NISL@THU
V
Visual Studio Blog
AWS News Blog
AWS News Blog
I
Intezer
T
The Blog of Author Tim Ferriss
P
Privacy International News Feed
T
Tor Project blog
F
Full Disclosure
P
Proofpoint News Feed
SecWiki News
SecWiki News
H
Heimdal Security Blog
Help Net Security
Help Net Security
The Hacker News
The Hacker News

博客园 - 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 的时候,必须遵守这个平台的编程规范。