对C++标准委员会强制For循环的不同看法

对C++标准委员会强制For循环的不同看法,第1张

对C++标准委员会强制For循环的不同看法,第2张

事实上,关于强制循环一致性的讨论一直很激烈。以前在国外的一些邮件列表里看到过这个话题,双方意见基本相当,不分高低。

我在做自己的太极语言的时候发现了一个规律。根据这个规则,我可以判断for循环一致性不应该被强制,所以我在博客和帖子里说了。但我没想到...

感觉我们中国程序员心态不正确,太迷信C++标准委员会(不仅仅是C++),太迷信这样的所谓权威,不敢对它说一句话,不敢怀疑它,不敢讨论它,甚至不敢嘲讽它。

但是你有没有考虑过这些所谓的标准是怎么来的?它来源于讨论和论证,标准本身并不稳定。不能因为是标准就违反,也不能因为是标准就争论。不能因为是标准就讽刺怀疑的人。

我突然意识到,中国程序员怎么这么在乎“符合国际标准”,而国际各大公司都在竞争自己的标准成为国际标准。即使不能成为标准,也要捍卫自己的领地,为东山再起做准备。所以,你可以看到很多所谓的“国际标准”是有的,但是很多科研院所和公司并不重视。所以这么多不符合标准的东西出来,除了统一底层接口,都是自己开发的。在技术的高端,我们不关注任何标准。标准只能是尝试性的,不能是绝对的。

众所周知,微软等很多公司的C/C++编译器一直拒绝C++标准委员会制定的标准的强制for循环一致性。直到2005年版,VC才不得不向标准妥协。很多人说微软这么做是为了商业利益,说如果它的编译器符合标准,就能赚更多的钱。其实我觉得微软这样的公司在技术问题上并不会太在乎钱,也绝不会为了钱而改变技术的初衷。微软拒绝这个C++标准的原因一定是出于技术原因——是因为微软的编译器开发团队认为C++标准委员会是错误的。(后来,李普曼来了。给李普曼一个面子。这只是...).至此,微软要想以迎合C++标准的方式赚钱,绝不会拖到2005年。恐怕C++标准一出来就搞了。

在技术实现上强制循环一致性或者不强制循环一致性是很简单的——做过C/C++编译器的都知道,只是国内太少了。我们来看看用我的太极语言实现这两种情况的代码有多简单。在太极语言中,没有for,while,switch,if...其他...都是通过代码组合机制实现的(太极语言的编译描述了一部分控制语言“无极语言”)。

(1)一致性不是强制性的。

//定义for的概念
mean for (a,b,c,d)
{
a;
SignForBegin:;
转到“签名”按钮;
goto sign forend;
SignForBody:;
d;
SignForContinue:;
c;
goto sign for begin;
sign forend:;
}

//使用for
for(int i;int j;i=0;j=0)(i

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » 对C++标准委员会强制For循环的不同看法

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情