我正在对初级(也许是高级)软件工程师所犯的常见错误和错误假设进行一些研究。
你坚持时间最长、最终被纠正的假设是什么?
例如,我误解了整数的大小不是标准的,而是取决于语言和目标。说起来有点尴尬,但事实就是这样。
坦率地说;你有什么坚定的信念?你大概坚持了多长时间?它可以是关于一种算法、一种语言、一个编程概念、测试,或者任何关于编程、编程语言或计算机科学的东西。
我正在对初级(也许是高级)软件工程师所犯的常见错误和错误假设进行一些研究。
你坚持时间最长、最终被纠正的假设是什么?
例如,我误解了整数的大小不是标准的,而是取决于语言和目标。说起来有点尴尬,但事实就是这样。
坦率地说;你有什么坚定的信念?你大概坚持了多长时间?它可以是关于一种算法、一种语言、一个编程概念、测试,或者任何关于编程、编程语言或计算机科学的东西。
当前回答
至少6年来,我一直坚信,每个问题都只有一个解。
完全不知道不同复杂性的多种算法、空间/时间的权衡、面向对象、功能和命令式、抽象级别和无法确定的问题。当那种幸福的天真被打破时,它打开了一个充满可能性的世界,关上了坐下来建造东西的大门。我花了很长时间才弄清楚怎么选一个然后用它来运行。
其他回答
一个WTF总是一个糟糕专业的证据。
事实上,我最近才意识到在我的职业生涯中有多少WTF,但当StackOverflow告诉我它们只是另一个软件指标时,我感到欣慰。
XML将是一种真正可互操作的、人类可读的数据格式。
在很长一段时间里(大约5年),我认为PHP很棒。
我以为我懂算法。然后我加入了Topcoder.com
因为性能问题,像Java和。net这样的虚拟机架构对于除了玩具项目之外的任何东西都毫无价值。
(好吧,公平地说,也许在某些时候这是真的。)
上大学的时候(90年代中期),他们的计算机实验室只有Windows 3.11的机器(我知道,很奇怪的大学)。
有一段时间,我认为作为一个专业程序员,只有Windows平台与我相关,而所有其他平台都只是从历史的学术角度来看有趣。
从学校毕业并学习了现代unix和linux环境后,我不禁对我蹩脚的学校感到愤怒和失望。
我现在还不敢相信,我在计算机工程学位毕业时从未见过bash shell,甚至没有听说过emacs或vim。