当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 9 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : 【原创翻译】Vala编程手册
帖子发表于 : 2013-01-26 19:21 

注册: 2013-01-25 12:50
帖子: 6
系统: ubuntu 12.10
送出感谢: 0 次
接收感谢: 0 次
【原创翻译】Vala编程手册

译者注:

此手册为那些只会用 C,在不想学习其他高级语言的前提下使用面向对象编程并享受大量现代编
程技术,而加快开发效率的白痴(包括本人)所译!

原文地址:https://live.gnome.org/Vala/Tutorial

译本版权归译者所有,联系方式:Pigex.Zhang@gmail.com

Vala 是什么? ( What is Vala ?)

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

更新记录:

2012.1.30

更新了继承部分,Vala的类只能继承自一个类或者不继承自任何类,不能继承自多个类
更新了接口部分,接口在定义必要条件列表时,要注意先后顺序
更新了方法隐藏部分,增加了示例代码

1月31日:
更新了错误处理部分
更新了参数路径部分

2月3日:
更新了容器部分

2月4日:
更新了语法支撑的方法
更新了多线程编程部分
更新了异步方法部分
更新了弱引用部分
更新了无属引用部分
更新了内存管理说明

2月8号:
增加了练习Vala和设计模式的代码仓库


附件:
Vala编程手册.pdf [768.49 KiB]
被下载 446 次
Vala内存管理.pdf [232.4 KiB]
被下载 306 次


最后由 I'm Matrix 编辑于 2013-02-08 22:03,总共编辑了 7 次
页首
 用户资料  
 
2 楼 
 文章标题 : Re: 【原创翻译】Vala编程手册
帖子发表于 : 2013-01-26 19:30 
头像

注册: 2010-06-16 1:05
帖子: 14676
地址: Tencent
系统: Mac OS X
送出感谢: 1
接收感谢: 153
神快出来评论。。。正在学。gobject呢


_________________
twitter求fo:http://twitter.com/maplebeats
博客求踩:http://maplebeats.com


页首
 用户资料  
 
3 楼 
 文章标题 : Re: 【原创翻译】Vala编程手册
帖子发表于 : 2013-01-26 23:54 

注册: 2008-09-06 2:00
帖子: 418
送出感谢: 0 次
接收感谢: 0 次
Signal 那个部分原文本来就是一个坑。加个译者注释比较好
原文用的例子也很隐晦,容易误导


无论对于listener,emiter 来说signal 括号的部分是定义信号所携带的内容。应该没有出入之分
“所有” singnal 都是 public signal void 定义的。

翻译:“其中第一个成员是一个名为 “sig_1”,需要传入一个整型参数的信号。”

其实原文也是这样写的,但是这个是一个面向对象的语言,
这个描述一点对象的感觉都没有而且提到 "出入" " in out", 这个东西本来就没有方向的。


页首
 用户资料  
 
4 楼 
 文章标题 : Re: 【原创翻译】Vala编程手册
帖子发表于 : 2013-01-27 0:29 

注册: 2013-01-25 12:50
帖子: 6
系统: ubuntu 12.10
送出感谢: 0 次
接收感谢: 0 次
soiamso 写道:
Signal 那个部分原文本来就是一个坑。加个译者注释比较好
原文用的例子也很隐晦,容易误导


无论对于listener,emiter 来说signal 括号的部分是定义信号所携带的内容。应该没有出入之分
“所有” singnal 都是 public signal void 定义的。

翻译:“其中第一个成员是一个名为 “sig_1”,需要传入一个整型参数的信号。”

其实原文也是这样写的,但是这个是一个面向对象的语言,
这个描述一点对象的感觉都没有而且提到 "出入" " in out", 这个东西本来就没有方向的。


谢谢你的回馈和建议,其实我翻译此手册的动力是为了更深入的学习vala,如果有更好的理解和示例,我会即使添加,也希望各位高手能贡献通俗易懂的示例代码


页首
 用户资料  
 
5 楼 
 文章标题 : Re: 【原创翻译】Vala编程手册
帖子发表于 : 2013-02-08 21:48 

注册: 2013-01-25 12:50
帖子: 6
系统: ubuntu 12.10
送出感谢: 0 次
接收感谢: 0 次
https://github.com/Matrix-Zhang/Vala-Practice.git

这个仓库是专门练习Vala面向对象编程的地方,示例程序是结合Vala的学习还有阅读《大话设计模式》来写的

有兴趣的可以交流,本人是纯C,还在艰苦转换观念中。。。


页首
 用户资料  
 
6 楼 
 文章标题 : Re: 【原创翻译】Vala编程手册
帖子发表于 : 2013-02-08 23:51 

注册: 2006-01-03 20:44
帖子: 870
送出感谢: 0 次
接收感谢: 6
太好了,谢谢。


页首
 用户资料  
 
7 楼 
 文章标题 : Re: 【原创翻译】Vala编程手册
帖子发表于 : 2013-02-09 0:41 
头像

注册: 2005-08-14 21:55
帖子: 58428
地址: 长沙
送出感谢: 4
接收感谢: 274
我没很深入,只是下载了 http://www.valadoc.org/ 的一些 devhelp-package。

我写的时候,的确啥中文资料都没,点点事情都要搜索/咨询。泡了一阵子irc://freenode.net/#vala 而已。

支持翻译有实例的电子书。函数实例,官网有,但是很不全面。irc房间有人管理实例部分,以我初学的身份,还被要去了代码(说明我写的代码适合入门者 :P 当时,忘记了变量都用 eexpress 开头 lol )。


_________________
● 鸣学


页首
 用户资料  
 
8 楼 
 文章标题 : Re: 【原创翻译】Vala编程手册
帖子发表于 : 2013-02-09 0:44 
头像

注册: 2010-06-16 1:05
帖子: 14676
地址: Tencent
系统: Mac OS X
送出感谢: 1
接收感谢: 153
eexpress 写道:
我没很深入,只是下载了 http://www.valadoc.org/ 的一些 devhelp-package。

我写的时候,的确啥中文资料都没,点点事情都要搜索/咨询。泡了一阵子irc://freenode.net/#vala 而已。

支持翻译有实例的电子书。函数实例,官网有,但是很不全面。irc房间有人管理实例部分,以我初学的身份,还被要去了代码(说明我写的代码适合入门者 :P 当时,忘记了变量都用 eexpress 开头 lol )。

这只能说明你笨 :em05 :em05 (自愧不如


_________________
twitter求fo:http://twitter.com/maplebeats
博客求踩:http://maplebeats.com


页首
 用户资料  
 
9 楼 
 文章标题 : Re: 【原创翻译】Vala编程手册
帖子发表于 : 2014-02-10 15:34 
头像

注册: 2013-02-06 21:17
帖子: 45
系统: Fedora newest
送出感谢: 0 次
接收感谢: 0 次
我觉得学门语言更艰难,风格一变,我就不适应了.gobject,gio,glib和gtk+都很相似,如果要改变,那莫非都要重学?


_________________
Like a fool,I'm foolish enough.


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 9 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 3 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译