分页: 1 / 1

[转帖]我们应该在哪个层次编写代码?

发表于 : 2008-09-01 12:13
oneleaf
匿名读者 写道 "这个周末闲来无事,于是在VMware Workstation 5.5.1 Linux版本上安装了一个Mac OS X 10.4.3,也就是Drawin 8.3.1。整个安装过程碰到些小的问题.....不过我在这里要谈的一个重点是我之后安装了DVD盘自带的X11, 以及XCode中的GCC和DevSDK. 非常有趣的是我将一个在Linux上基于XLIB开发的程序在Drawin上重新编译,一切出奇地顺利,然后就能运行了。我从来不知道C和XLIB写出来的程序具有如此高的可移植性。这让我回想到前几周我运行一个JAVA程序所碰到经历,这个JAVA程序对运行环境的版本出奇地敏感,这导致了超过半数的机器无法运行。这不得不让我重新思考一下中低级语言和高级语言之间在可移植性上的问题。
高级语言因为面临其功能的扩充与频繁的升级, 反而导致了开发上的复杂度(最极端的或许就是HTML, JS这样的表层语言)。那些所谓的低成本维护和高移植性的神话正在被其自身的剧烈变化所击破。而相比较人们不再去触碰像C这样构筑的中低层结构,这让程序开发环境变得非常稳定,而这种稳定也带来了出乎意料的高可移植性与性能。右图就是我测试的一个程序,我拿我所有在Linux用C开发的程序在FreeBSD,NetBSD,Cygwin 以及 Drawin 上均编译运行通过,并且性能良好。这或许应该让我们重新思考一下,我们应该在哪个层次编写代码?我的观点是:“一个稳定的层次”, 而从物理角度来看待这个问题同样显而易见:这个最甜的层次通常就是结构的中下层。"

来源: http://developers.solidot.org/developer ... 7259.shtml

发表于 : 2008-09-01 12:21
eexpress
库以上的应用

发表于 : 2008-09-01 13:01
sevk
那些所谓的低成本维护和高移植性的神话正在被其自身的剧烈变化所击破。

希望RUBY不会这样.

发表于 : 2008-09-01 13:09
poet
其实最根本来说,在哪个层次上写代码,取决于你要写什么代码。

Java 再好也没人拿它写 Linux 内核。

而C的移植性不论有多好,当今世界恐怕也没有一个大型游戏是用C写的。(当今世界,C++仍然是游戏创作的首选语言)

在Linux下写一个普通的应用程序,毫无疑问的首选是python或perl。他们两者之间的选择关乎你的兴趣爱好。

——至于作者的吃惊反映了一个现象:当今社会对C语言的诸多误解与偏见。要知道C语言从诞生的第一天起就是“为了可移植性”而诞生的,在C语言诞生的年代,C语言就是靠可移植性击败当时的所有其他语言的。今天的人竟然会为C语言的可移植性感到惊讶,这似乎说明很多人连C语言的初衷都忘了。——或者说明C++给人带来的影响过深,以至于许多人常常把C与C++混为一谈。