layout: post title: D码点评:14 螺旋形和顺序的声明语法 description: ~ 麻辣评点,善意满盈 author: zoomq categories: gDgcoDe tags: gdg D码点评 dd wechat coding
Go 语言和 Node.js 都是近年爆发的明星语言,值得/应该/怎样 学习? 先来点儿开胃的...
螺旋形(C/C++)和顺序(Go)的声明语法
收集在: http://floss.zoomquiet.org/data/20110622145115/index.html (原文在墙外...你懂的...)
这篇文章指出,C/C++的声明语法(declaration syntax)的读法是顺时针螺旋形的. 一个例子是: {% highlight python %} ''' +--------------------+ | +---+ | | |+-+| | | |^ || | char (fp)( int, float *); ^ ^ ^ || | | | +--+| | | +-----+ | +------------------------+ ''' {% endhighlight %}
读作: "fp是一个指针, 指向一个函数(螺旋路径被fp右边的括号封死,绕到左边的*), 有一个整形和一个浮点指针参数 (两个参数一起读因为他们被一个括号括起来了), 并返回一个指针,指向一个字符".
而这篇发表于Go blog 上的文章给出了一个对比:
f func(func(int,int) int, int) func(int, int) int
的读法是顺序的: "f是一个函数, 他的参数包括一个函数, 有两个整数参数并返回一个整数,和一个整数, 并且返回一个函数, 他有两个整数参数并返回一个整数".
进一步说,C/C++的声明语法(declaration syntax)
和表达式语法(expression syntax)是一致的.
比如上面例子里, *(*fp)( int, float *)
的类型就是 char.
而Go的声明语法和表达式语法是不一样的.
这样的区别的好处不只是读起来方便(我理解是按照英语语法),
而且让"写"
程序也方便,
比如定义一个closure:
sum := func(a, b int) int { return a+b } (3, 4)
是也乎
正如大妈在相关论战中的断言:
@庄表伟 我在 @知乎 提了一个问题:哪些语言特性,有助于开发大型系统? http://t.cn/zRtHC8k
@ZoomQuiet 但凡能有节制的减轻程序员心理负担的特性都是! 10月15日 16:12
在 42分钟乱入 GAE(with go1) !-) — chaos2go1 1.0.120510 documentation 中,大妈就已经推崇过 Go 有效改善 C 样程序的思考辅助.
其实,当初决定尝试 Go 就是因为当年对 C 的恐惧心理, 在大学时用 Turbo C 编程时, 一个简单的功能,竟然要折腾那么久, 当时就崩溃了作程序猿的决心,想转职作3D 动画的, 结果再次被 3D MAX 的操作界面给折腾崩溃! 幸好遇到了 bash,php,sction script,python 一路下来,才发现,编程世界如此多样性, 根本不是大学里老师们宣称的,世界是 C/C++/C#/JAVA/Delphi 神马的...
而进一步学习 Go 过程中, 才了解到 Go 其实就是发明C 的那帮神人自我救赎的作品 ;-) 所以,你值得尝试!
另外推荐经典的相关文章: - [翻译]少是指数级的多 - [翻译]为什么除了它,其他类C语言都是垃圾
呵呵...
当期活动 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
12.8 PyCon2013CHina 珠海场
- Python 年度大会
- Pythonner 大趴
- Pythonista 相亲集会
- Pythonic 体验交流
请及时举报你身边的 华蠎行者!
- 举报热线: zoomquiet+pycon (AT) gmail.com
- 官网: http://cn.pycon.org/2013
- [12.8]PyCon2013China 珠海场报名表
以上...
码不停提马上无虫 ;-)
|_|0|_| |_|_|0| |0|0|0|
加入 珠海GDG
- 注册 G+
- 关注 GDG Zhuhai
- 成为 GDG Zhuha开发者
通过 珠海GDG 可以:
第一时间获知谷歌最新的技术, 可以学到如何去谷歌平台上赚钱的思路和方法, 可以认识很多有可能将来一起走上自己创业道路的人, 可以学会把你的创新带向国际市场, 参加那里的活动有经常和国际上的开发者们进行交流的机会...
PS:
若无意外,题图都是从原文提取或是通过 Google 图片搜索出来的, 版权属左, 不负责任 ;-)
PPS:
珠海GDG wechat/Blog 都是欢迎投稿的,只要追认内容吻合以下条件:
0. 有趣 ~ 至少是自个儿有兴趣的领域吧... 1. 有料 ~ 至少有点儿原创的东西吧.. 2. 有种 ~ 至少不能是成功学吧!
有好物的,及时向大妈们吼: [email protected]
微信栏目
当前应该是:
G术图书 (gb:推荐好书,书无中外) D码点评 (dd:麻辣评点,善意满盈) G说公论 (gt:时评杂文,新旧不拘) 珠的自白(dm:大妈自述,每周一篇) 海选文章(hd:得要相信,大妈法眼)
总之! 珠海的组委大妈们,决定开始坚持发文,方方面面细细同大家分享/交流
总之! 请大家告诉大家, 珠海生活中的技术社区
已经认真回归 微信,都来订阅吧!
订阅方法
- 搜索微信号
GDG-ZhuHai
- 或查找公众号:
GDG珠海
- 或扫描:
GDG珠海 社区资源:
- 邮件列表: [email protected] (可发空邮件到 [email protected] 即完成订阅)
- 微博: @GDG珠海
- 微信: GDG珠海
- G+ 主页: GDG ZhuHai
- G+ 社群: ZhuHai GDG
Author: /mail / gittip / github