这绝对是主观的,但我想尽量避免它变成争论。我认为如果人们恰当地对待它,这将是一个有趣的问题。

这个问题的想法来自于我对“你最讨厌的语言的哪五件事?”问题的回答。我认为c#中的类在默认情况下应该是密封的——我不会把我的理由放在这个问题上,但我可能会写一个更完整的解释来回答这个问题。我对评论中的讨论热度感到惊讶(目前有25条评论)。

那么,你有什么有争议的观点?我宁愿避免那些基于相对较少的基础而导致相当宗教的事情(例如,大括号放置),但例如可能包括“单元测试实际上并没有多大帮助”或“公共字段确实是可以的”之类的事情。重要的是(至少对我来说)你的观点背后是有理由的。

请提出你的观点和理由——我鼓励人们投票给那些有充分论证和有趣的观点,不管你是否恰好同意这些观点。


当前回答

我讨厌大学和研究所向新人提供短期编程课程。这完全是对编程艺术和科学的耻辱和蔑视。

他们开始教C, Java, VB(恶心)给那些没有很好地掌握硬件和计算机基本原理的人。 首先应该通过Morris Mano的《计算机系统体系结构》等书籍来教授机器,然后教授指令机器解决问题的概念,而不是蚀写一种编程语言的语义和语法。

我也不理解政府学校和大学教孩子使用商业操作系统和软件的计算机基础知识。至少在我的国家(印度),没有多少学生买得起操作系统,甚至打折的办公套装,更不用说开发软件的巨头(编译器,ide等)。这就引发了盗窃和盗版,并使这种从他们机构的图书馆复制和窃取软件的行为成为一种正当的行为。

他们再次被教导使用一些产品,而不是基本的理念。

试想一下,如果你只被教导2x2 = 4,而没有被教导乘法的概念?

或者,如果你现在被教去测量倾斜在学校复合墙上的杆子的长度,而不是毕达哥拉斯定理

其他回答

大多数专业程序员都很糟糕

我遇到过太多为了谋生而做这份工作的人,他们对自己所做的事情很糟糕。蹩脚的代码,糟糕的沟通技巧,对新技术毫无兴趣。太多太多了……

如果你有合适的工具,并花时间正确地编写,那么软件就可以没有错误。

不会编码的架构师是无用的。

这听起来有点苛刻,但并非不合理。如果你是一个系统的“架构师”,但对所使用的技术没有一定的实际参与,那么你如何获得开发团队的尊重呢?你如何影响方向?

架构师需要做更多的事情(与利益相关者会面,与其他团队谈判,评估供应商,编写文档,进行演示等等)但是,如果您从未看到架构师签入代码……小心!

微软Windows是软件开发的最佳平台。

推理: 微软用优秀而廉价的开发工具,平台和API都有良好的文档记录,平台正在快速发展,这为开发者创造了很多机会,操作系统拥有庞大的用户基础,这对于明显的商业原因很重要,有一个庞大的Windows开发者社区,我还没有因为选择微软而被解雇。

做莫特没关系

不是每个人都是“摇滚明星”程序员;我们中的一些人这样做是因为这是一个好的生活,我们不关心所有最新的时尚和趋势;我们只想做好本职工作。