编程语言和胖手指 水星探索项目中一段Fortran代码里的逗号被写成了点号,影响了运算的准确性,导致太空探测器无法到达更远的轨道。出现这种事情的几率有多大?一种编程语言的设计在多大程度上会影响程序正确性和导致相似的事件?最近发表在第四届International Workshop on Evaluation and Usability of Programming Languages and Tools上的一篇论文中,我展示了一些研究发现:通过往由各种不同语言编写的类似程序中随机的制造一些干扰信息,看编译器或运行系统能否发现由这些干扰引起的错误,或者最终导致了程序输出了错误的结果。
软件开发中最流行的错误观点有哪些? 本文译自Quora的同名问答贴:软件开发中最流行的错误观点有哪些? Lee Semel给出的答复得票数最高,他列出了一些流行的错误观念:
瀑布模型是在实施软件之前最行之有效的描述系统的模型,它能帮助软件实施时循序渐进,而非循环反复。人们一直当它是一个好的实施方案,而一篇论文中恰好将它列为很差的实施方案,因此引起广泛讨论。
用户知道他们想要什么,他们也能够将需求阐述清楚。
有某种语言、技术或是流行方法将会是杀手锏,能够取代你正在使用的方法,解决你的问题。
人月神话里说,在一个开发团队中增加人手会让效率成线性增长。