您最不喜欢自己的语言的五件事是什么? [关闭]
收藏

最近在Stack Overflow上出现了Perl讨厌的集群,所以我想把我的“您最讨厌的五种语言讨厌”问题带给Stack Overflow。用您喜欢的语言,告诉我您讨厌的五件事。这些可能只是让您烦恼,承认设计缺陷,发现性能问题或任何其他类别的事情。您只需要讨厌它,它就必须是您最喜欢的语言。

不要将其与另一种语言进行比较,也不要谈论您已经讨厌的语言。不要以您喜欢的语言谈论您喜欢的事情。我只是想听听您讨厌但可以容忍的事情,以便您可以使用所有其他内容,而且我想听听您希望其他人使用的语言。

每当有人试图将自己喜欢的语言强加给我时,有时还是作为面试问题,我都会询问。如果某人找不到最讨厌的五样东西,那么他对它的倡导或使用它的巨额资金将不甚了解。他没有在足够不同的情况下充分利用它。他主张将其作为一种文化或宗教,这意味着如果我不选择他最喜欢的技术,那我就错了。

我不太在乎您使用哪种语言。不想使用特定的语言?那不要您经过尽职调查才能做出明智的选择,但仍然不使用它?精细。有时正确的答案是“您拥有一支强大的编程团队,拥有良好的实践和丰富的Bar经验。因此改用Foo是愚蠢的。”

这也是代码审查的一个好问题。真正了解代码库的人会对此提出各种各样的建议,而那些不太了解代码库的人会提出非特定的投诉。我问诸如“如果您可以重新开始这个项目,您会做些什么?”之类的问题。在这个幻想的世界中,用户和程序员会抱怨任何他们不喜欢的东西。 “我想要一个更好的界面”,“我想从视图中分离模型”,“我将使用此模块而不是另一个模块”,“我将这套方法重命名”,或者他们真正不喜欢的任何方法不喜欢目前的情况。这就是我掌握特定开发人员对代码库了解程度的方式。这也是关于程序员告诉我的事情有多少自我的线索。

仇恨并不是弄清人们知道多少的唯一方式,但我发现它是一个相当不错的选择。他们讨厌的事情也为我提供了一个线索,他们对这个问题的看法有多好。

最佳答案

我讨厌Java的五件事:

  • 没有一流的功能。
  • 没有类型推断。
  • 缺乏合理的默认值,例如图形。
  • NullPointerException不包含有关null的更多信息。
  • 毫无意义的“可配置”框架/服务提供者接口/工厂类/依赖注入系统的泛滥。几乎从未使用过可配置性,严重违反了DRY,代码大小增加了三倍,可读性减少了一半。

我知道,我应该检查Scala。

    公众号
    关注公众号订阅更多技术干货!