Chinaunix首页 | 论坛 | 博客
  • 博客访问: 988567
  • 博文数量: 158
  • 博客积分: 4380
  • 博客等级: 上校
  • 技术积分: 2367
  • 用 户 组: 普通用户
  • 注册时间: 2006-09-21 10:45
文章分类

全部博文(158)

文章存档

2012年(158)

我的朋友

分类: C/C++

2012-11-23 16:05:16

原文:
# 给星星 :) 2007-10-29 11:32 龙泰旭
星星, 其实 ASM 跟 C 没有本质区别, 而 C++ 跟 JAVA 又是同出一脉
其实主要是程序思想!
我感觉程序员的最高的境界 当是 小到 函数算法 大到 框架结构!
而现实中,可能两者居其一者就已经算是不错了.

回复:
目前有两种很流行的观点:
a. 语言不重要,重要的是算法
b. 语言没本质区别,主要是程序思想
这两种观点字面上自然是正确的,但引申出的暗意(无论是作者本身的意图,还是读者的误解)我都觉得有一点点不妥。
从纯理论上来讲,如果语言真的没本质区别,不重要,那么就不会产生那么多种语言,即使因为历史的原因产生了多种语言,也会在进化过程中趋于一致,从而最终只留下一种语言。但我觉得在即使在将来,Shell语言取代ASM语言,或ASM语言取代Shell语言都是不切实际的。
如果多种语言的存在在理论上是合理的,那么现在仔细推敲一下她们存在的理由。既然人们说“算法”重要,“程序思想”重要,那么可以推断出多种语言的存在就是为了体现/表现出不同的“算法”和“程序思想”。
继续再思考一下先有鸡还是先有蛋,我想不会有人先发明一种语言,然后再去找它的“程序思想”,如同不会有人先去写一段代码,再去从这段代码中看看它实现了什么算法。如果这样做的话,就成了让黑猩猩做在电脑面前随机敲键盘,期望足够的数量下会产生莎斯比亚一样的名著。
所以我的一贯观点是:不同“软件观”(就像人生观,世界观一样)的社团创造出不同的“计算机语言”,从而利用这些不同的“计算机语言”去体现他们不同的“软件观”。
换一种说法就是,因为需要某某“算法”,某某“程序思想”,所以需要某某语言,“算法”和“程序思想”绝对是语言相关的。
只要你觉得“程序思想”之间是有“本质区别”的,那么语言间就一定是有本质区别的。

(这一段本来写得很多,但觉得太啰嗦,就删除了)简述为:“语言不重要,重要的是算法;语言没本质区别,主要是程序思想”其实是语言(包括C++)世界观下的一种子世界观。这种观点类似于Java思想,只是Java思想说的是平台(Java的单一平台,或说平台无关)不重要,而这种观点说的是语言不重要。

阅读(1379) | 评论(8) | 转发(0) |
给主人留下些什么吧!~~

网友评论2012-11-23 16:06:12

老梆菜
强烈支持!怪不得我发明的脚本语言只有我自己用那,因为我只是为发明而发明,而没有上升到**的哲学高度,嘿嘿。

网友评论2012-11-23 16:06:04

周星星
:)离开很久了

网友评论2012-11-23 16:05:56

Linkman的学习记录
星星呀,这次去南京,专门去你南京那个公司找你,你却已离开