设为首页收藏本站

Scripts 学盟

 找回密码
 加入学盟

QQ登录

只需一步,快速开始

查看: 811|回复: 2
打印 上一主题 下一主题

向C语言致敬 [复制链接]

Rank: 8Rank: 8

风雨相伴

跳转到指定楼层
1#
Snail 实名认证  发表于 2011-10-24 12:40:33 |只看该作者 |倒序浏览
本文是从 Toast to C 这篇文章翻译而来。

在Cloudmetrx 公司,我们大量的使用C语言。鉴于不久前,UNIX传奇人物、C语言的创始人Dennis Ritchie 的过世,我们向C语言表示致敬是再合适不过的了。


考虑到我们还使用了其它的语言——Clojure,Node.js和其它很流行的平台,这种大量的依赖C语言的现象更显得不平常。并不是这种语言更古老,更“受人尊敬”,我们才会倾向于使用这种语言和技术。只是因为当面对高性能的计算时,没有任何语言能跟C语言相比。有人提出了Java,但这些人错了。没有什么语言能跟C语言相比。


以我的观点,C语言这么多年来依旧保持流行的原因在于它的相对自由的编程范式。大多数的语言,无论是好的还是差的,都生来伴随着一些鼓励使用的编程范式——面向对象的,函数式的,等。于是硬件的设计就趋向对这种范式进行最好的支持。


而C语言,并不去逼迫硬件进行改造。它提供了你对硬件进行粗放型访问的能力。你可以对硬件做你任何想做的操作。没有任何什么编程范式带来的约束——你也可以强制自己使用任何范式。


在邱奇-图灵论题(Church–Turing thesis)中,C语言就是图灵机(Turing)。C语言基本上就是数学加上你可以在上面书写的纸带。所有的算法都是跟两种基本操作有关:对纸带的读和写,然后做小型的算法操作。


当时,世界上所有参考这个理论生产的计算设备看起来都类似图灵机,但却经常被按照Church形式使用。Church论述中的lambda运算考虑的是将计算行为做有意义的优雅的表现,这是面向人类的;而图灵机考虑的计算行为是面向基于晶体管和电子管的机器的。这是两种自然的方向;C语言更倾向于追求驾驭真实硬件的能力,代价是损失可读性和优雅性。


从诞生到流行,并持续数十年保持活跃,创造这样的一种技术是何等的丰功伟绩。我不认为C语言的自由范式是成功的唯一理由。它的语法也是同样的精彩——尽管这种语言是复杂的,尽管内存管理是复杂的,C语言使这些变得极其的清晰,让你知道事情是如何的进行的。C语言的语法还影响了其它很多种语言——从Perl到Java到Javascript——这都是它的语法的清晰和实用的证明。


虽然C语言很强大,但不失编写的乐趣。坐下来花5个小时用vim编写C程序对我来说是一件很享受的事。就像是你在驾驶一辆手动档的汽车,你感觉它跑的越来越快。经过一个月的使用Python比较,C语言驾驶起来就像带有喷气机引擎的宝马。它的速度是风驰电掣的;你可以运行time计算,结果会让你张大嘴巴——百万分之一秒!惊奇。


但C语言并不是一直这样可赞。C语言有时会变成淘气使坏的女孩,让你绝望,困惑,不得不使用gdb。但是在一天的最后,你还是会回来拥抱C——它的速度太诱人了。


在Cloudmetrx公司,我们所有的金融相关的逻辑处理都是使用的C语言,除bootstrapping。没有C语言这样惊人的处理速度,我们即时运算的产品是不可能实现的,我们不可能去处理这样大规模的负载。事实上,我们的一个用C写的标价的模块和一个用Java写的模块的速度差别是明显的。虽然不是很大,但足够明显;明显得对于实时金融分析来说显得太明显。


这就是C语言,一个淘气的女孩,一个速度妖姬。向你致敬!




本文来自外刊IT评论
分享到: QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
分享分享0 收藏收藏0
命运的手,推我向前!何处是停歇!

Rank: 8Rank: 8

2#
momo 发表于 2011-10-24 13:33:19 |只看该作者
问题有二:
一、你那个从啥啥啥翻译而来的网址导向错误
二、文章是你翻译来的么
过了爱做梦的年纪
轰轰烈烈不如平静

使用道具 举报

Rank: 8Rank: 8

风雨相伴

3#
Snail 实名认证  发表于 2011-10-25 07:08:53 |只看该作者
momo 发表于 2011-10-24 13:33
问题有二:
一、你那个从啥啥啥翻译而来的网址导向错误
二、文章是你翻译来的么 ...

这文章不是我翻译的;是转载自外刊IT评论的,下面有出处的嘛!
命运的手,推我向前!何处是停歇!

使用道具 举报

您需要登录后才可以回帖 登录 | 加入学盟

手机版|Scripts 学盟   

GMT+8, 2025-6-15 20:01 , Processed in 1.060000 second(s), 13 queries .

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部