programming-languages - 你讨厌你最喜欢的语言的五件事是什么?

标签 programming-languages language-agnostic

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




11年前关闭。










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








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

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

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

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

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

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

最佳答案

哇,我很惊讶 SQL 还没到这里。猜猜这意味着没有人喜欢它:)

  • 实现之间的语法不一致
  • 由于看似模糊的原因,细微的代码差异可能会产生巨大的性能影响
  • 对文本操作的支持不佳
  • 入门成本低,但掌握语言的学习曲线陡峭
  • 整个社区的最佳实践的最小标准化,这包括语法风格。

  • ...还有一些讨厌它的额外理由,无需额外费用
  • WHERE 子句放在最后,很容易过早执行 UPDATE 或 DELETE,从而破坏整个表。相反,WHERE 应该放在前面的某个地方。
  • 很难实现关系划分。
  • 我可以将一个值设置为 NULL,但我无法测试它是否与 NULL 相等。我可以检查 IS NULL,但这只会使代码复杂化——在我看来,这是不必要的。
  • 为什么我们需要完全重新指定 GROUPed 列的公式,而不是在列上设置别名,然后按别名 GROUP BY(或使用 SORT 的列索引)?
  • 关于programming-languages - 你讨厌你最喜欢的语言的五件事是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/282329/

    相关文章:

    algorithm - 扩大或缩小不规则多边形

    algorithm - 是否可以在没有锁的情况下创建线程安全的集合?

    language-agnostic - 使用大量静态方法是一件坏事吗?

    C++ 字符串操作对我来说没有意义

    java - 编程语言的第二种实现可以用该语言编写吗?

    language-agnostic - 什么是软件开发生命周期?

    php - 尝试测试驱动开发

    java - 解析此消息

    compiler-construction - 创建编程语言

    design-patterns - 在游戏开发中处理状态和状态变化的好技术是什么?