“Bohra”?你开什么玩笑?!

      “1966年,Bohra和Jacopini提出了以下3种基本结构,用这3种基本结构作为表示一个良好算法的基本单元。

       (1) 顺序结构 ……(2) 选择结构……(3) 循环结构……

              ————谭浩强《C程序设计》第四版 p26

      很多人看到这段文字想必会感到非常熟悉,因为类似的文字在无数的中文(!)教科书、考试题以及那些以“复制粘贴”或逐字摘抄为主要生产手段的博文中出现过。(百度一下 Bohra和Jacopini  基本结构 ,结果至少有四十多页)

      然而这段文字却是错误的,其广泛传播和泛滥完美地诠释了什么叫“以讹传讹”。

      首先,这段文字中的“Bohra”实乃“Böhm”之误。为结构化程序设计理论做出过重大贡献的两位科学家的名字是Corrado Böhm  和 Giuseppe Jacopini。其次,两位科学家的成果至少在1964年就已经公布(据 Böhm, Corrado; and Giuseppe Jacopini (May 1966). "Flow Diagrams, Turing Machines and Languages with Only Two Formation Rules". Communications of the ACM 9 (5): 366–371. doi:10.1145/355592.365646)。

      Böhm 和 Jacopini的论文并没有提出“3种基本结构”(这三种结构有高级语言之后就有),更没有提出“3种基本结构作为表示一个良好算法的基本单元”。他们的论文仅仅表明:使用goto语句的程序,可以不使用goto语句,而只使用顺序、选择和循环语句也可以实现而已。

posted @ 2010-10-24 07:57  garbageMan  阅读(3380)  评论(7编辑  收藏  举报