关闭。这个问题是 off-topic 。它目前不接受答案。




10年前关闭。










锁定。这个问题及其答案是 locked 因为这个问题是题外话但具有历史意义。它目前不接受新的答案或互动。








最近在 Stack Overflow 上有一堆 Perl 讨厌,所以我想我会把我的“Five things you hate about your favorite language”问题带到 Stack Overflow。用你最喜欢的语言告诉我你讨厌它的五件事。这些可能只是让您烦恼的事情、承认的设计缺陷、公认的性能问题或任何其他类别。你只需要讨厌它,它必须是你最喜欢的语言。

不要将它与另一种语言进行比较,也不要谈论你已经讨厌的语言。不要用你最喜欢的语言谈论你喜欢的事情。我只想听听你讨厌但容忍的东西,这样你就可以使用所有其他东西,我想听听你希望其他人使用的语言。

每当有人试图将他们最喜欢的语言强加给我时,我都会问这个问题,有时是作为面试问题。如果有人找不到他最喜欢的工具的五点讨厌之处,那么他就没有足够的了解来提倡它或使用它来赚大钱。他还没有在足够多的不同情况下使用它来充分探索它。他提倡将其作为一种文化或宗教,这意味着如果我不选择他最喜欢的技术,那我就错了。

我不太关心你使用哪种语言。不想使用特定语言?那就别了。您通过尽职调查做出明智的选择,但仍然不使用它?美好的。有时正确的答案是“你有一个强大的编程团队,拥有良好的实践和丰富的 Bar 经验。改用 Foo 会很愚蠢。”

这也是代码审查的好问题。真正了解代码库的人会对它有各种各样的建议,而那些不太了解它的人会有非特定的提示。我会问诸如“如果您可以重新开始这个项目,您会做些什么不同的事情?”在这个梦幻般的土地上,用户和程序员可以提示他们不喜欢的任何事情。 “我想要一个更好的界面”,“我想将模型与 View 分开”,“我会使用这个模块而不是另一个”,“我会重命名这组方法”,或者他们真正不喜欢的任何东西不喜欢现在的情况。这就是我如何了解特定开发人员对代码库的了解程度。这也是关于程序员的自我有多少与他告诉我的事情有关的线索。

仇恨并不是弄清楚人们知道多少的唯一维度,但我发现它是一个很好的维度。他们讨厌的事情也让我知道他们对这个主题的思考有多好。

最佳答案

我讨厌 Java 的五件事:

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

  • 我知道,我应该看看 Scala。

    关于programming-languages - 你最喜欢的语言有哪五件事是你讨厌的?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/282329/

    10-13 05:55