我正在对初级(也许是高级)软件工程师所犯的常见错误和错误假设进行一些研究。
你坚持时间最长、最终被纠正的假设是什么?
例如,我误解了整数的大小不是标准的,而是取决于语言和目标。说起来有点尴尬,但事实就是这样。
坦率地说;你有什么坚定的信念?你大概坚持了多长时间?它可以是关于一种算法、一种语言、一个编程概念、测试,或者任何关于编程、编程语言或计算机科学的东西。
我正在对初级(也许是高级)软件工程师所犯的常见错误和错误假设进行一些研究。
你坚持时间最长、最终被纠正的假设是什么?
例如,我误解了整数的大小不是标准的,而是取决于语言和目标。说起来有点尴尬,但事实就是这样。
坦率地说;你有什么坚定的信念?你大概坚持了多长时间?它可以是关于一种算法、一种语言、一个编程概念、测试,或者任何关于编程、编程语言或计算机科学的东西。
当前回答
创建一个成功的应用程序只需要程序员就可以轻松完成。软件也要易于使用,美观,文档和适当的营销。软件开发是多学科的,如果一门学科不及格,应用程序也可能会失败。
其他回答
规格是完整和充分的
所有的语言(大部分)都是平等的。
在很长一段时间里,我认为语言的选择对开发过程的难度和项目成功的潜力并没有太大的影响。这绝对不是真的。
为工作选择正确的语言与任何其他单个项目决策一样重要/关键。
我曾经认为编写Win32应用程序就足够了。
而且每个程序都必须有一个GUI,因为命令行已经“过时”了。
不是持有时间最长的,但在某一时刻,有几年的时间,我:
以为微软Windows是世界上唯一的操作系统(那是1992年) 了解DOS对于拥有“高级”操作系统知识已经足够了。
这就是为什么我在高中没有选择“计算机课程”。我以为我对计算机已经了解得够多了。
后来在大学里,出于我的错误:
我认为UNIX操作系统/程序是完美的,DOS/Windows永远不会接近它(那时候看起来很真实,我猜Linus也是这么想的,这就是为什么Linux和UNIX如此相似,而不是。其他操作系统)
最后,在很长一段时间里,我想:
只有我的软件很糟糕,而商业软件是完美无缺的,因为……它是“商业”软件 美国的软件/工程师/产品是优秀的同义词,其他的都只是糟糕的尝试。
XML名称空间(或者更糟,格式良好)在某种程度上比没有它们要困难得多。
一个非常常见的错误,甚至在W3C!