灵活性或一致性,这对于良好的编程语言是否正确?

时间:2009-11-10 03:47:16

标签: programming-languages

最近我在思考一种优秀编程语言的特点。确实,“千人眼中有一千个小村庄”,如简化,明确,可读性等等。

但是我想知道一个好的编程语言应该是一致的,这意味着每个人都会编写相同的(至少非常相似的)代码来实现相同的功能,这意味着每个人都可以轻松地阅读,理解,维护他人的代码。有效。没有灵活性,每个人都会在一个功能的可读性和质量上编写不同的代码,这主要取决于程序员的经验和技能。

到目前为止,我没有找到一些与我的一致性定义相符的语言,但我仍然在寻找。谁知道呢?

我不确定你是否同意我的意见?请指出我的观点是否有任何问题。无论你是否同意我,都要留下你的论点。请留下您的观点和论点。

问候。

3 个答案:

答案 0 :(得分:1)

两者,或者两者之一。区分Perl和Python。在Perl中,告诉某人从文件中读取数据并将其显示到stdout,您可以获得大约85,000种不同的排列。在Python中,你可能有5-10。但是,两者都被广泛使用,功能强大,效率高,几乎可以胜任任何任务。

语言选择取决于个人偏好和一些你想做的事情。 OO范式将导致程序与程序之间截然不同的程序结构,命令式编程范式将导致程序员与程序员之间非常相似的程序结构,函数式编程范式将介于两者之间。

顺便说一句,我个人更喜欢这种语言足够灵活,让我以我认为合适的方式设计应用程序,因为有些时候某些组件的性能是绝对必要的,而其他组件根本不重要。严格的“一个真实的方式”可以对你的工作施加限制,但“有多种方法可以做到这一点”要求你知道哪种方法是最高的,并且需要权衡可读性与紧凑性和性能之间的关系(并非总是如此)相互排斥的。

答案 1 :(得分:1)

这个伟大的卡通片在每个面板上都有一个树木摆动。一个小组定期挥杆并说“客户需要什么”。下一个面板显示两个座位 - 一个在另一个上面,并说“客户要求的内容”。接下来是一个带有三个堆叠座椅的秋千,上面写着“程序员的建造”。每个人都有他们期望的心理图景。每个人的照片都不一样。

在这种环境中无法实现一致性。如果我们无法实现一致性,我们是否可以提高可读性?因为最终目标是拥有其他程序员可以维护的代码。

我喜欢literate programming。它在人类环境中安排代码 - 一个人阅读的意义。有文化的风格更贴近您的心智模型。

即使我不能使用这些工具,这种风格也极大地提高了评论的清晰度和有效性。

答案 2 :(得分:0)

Zen of Python包含:

  • 应该有一个 - 最好只有一个 - 显而易见的方法。