程序员将语言视为美丽的特征是什么?

时间:2010-09-18 08:40:19

标签: programming-languages language-design

在我看来,有些语言通常被认为比其他语言更美。这似乎适用于所有编程范例。是否有任何抽象/范式跨越的特征使程序员认为语言是美丽的?

编辑:如果您认为没有达成共识,请不要犹豫,陈述自己的观点

5 个答案:

答案 0 :(得分:6)

我认为美丽的是概念极简主义,或者更准确地说是几个通用语言原语的正交集 ......

与描述几乎相同的东西所需的许多不那么强大的功能相反,而永久地不得不考虑特殊情况。

例如,

Haskell 基本上只是围绕three primitives的一些语法,其中包含一个非常小的类型系统(只是值,泛型,构造函数,类型类),它以一种强大的方式覆盖所有内容没有其他共同语言可以实现。 再次值的概念涵盖了所有内容 - 数据,函数,对象(作为值的集合),......

经典VB 在另一方面甚至超过了五种循环内置的方式。值和函数,普通数据和对象之间存在差异......而且整体几乎没有编写通用代码的可能性。

答案 1 :(得分:4)

没有任何通用的美容规则。美丽是仁慈的眼睛 - 每个人都有自己的美丽理念。

我个人喜欢那些允许你编写简洁而不神秘的代码的语言。它表达了我的想法,没有额外的咒语或神奇的奥术语法。

答案 2 :(得分:4)

这是我的清单:

  1. 尽可能简洁,同时仍然可读。
  2. 尽可能少的特殊情况,你只需要知道一些奇怪的规则。
  3. 以正确,安全的方式采用最明显,最简洁,最易阅读的方式。
  4. 在非常通用的级别轻松解决问题。这部分与(2)同时进行。如果你不得不考虑各地的特殊情况,那么你的“通用”解决方案就不是很通用了。
  5. 可以创建足够高效的抽象,以便在任何地方使用,而不仅仅是在不需要快速的代码中。
  6. 尽可能避免将内置类型视为“特殊”。如果内置类型可以做到,那么用户定义的类型应该能够做到。

答案 3 :(得分:3)

软件对语言和语言功能的一般趋势是声明性。目前,大多数语言都是关于 how 的,而不是 what 。 for循环表明您希望代码的行为方式,但它并不表示您希望发生什么。

对我而言,一种美妙的语言可以让我在没有消除优化能力的情况下声明。您可以在代码中使用表达越多越好。

答案 4 :(得分:2)

我认为它需要与自然语言有些相似。原因:人脑似乎是有线的,所以学习自然语言很容易。另请参阅Nativism,特别是Chomsky。这些是一些极端的观点,但很可能有一些道理。