gpt4 book ai didi

language-agnostic - 编程语言的表达能力是什么意思?

转载 作者:行者123 更新时间:2023-12-01 20:22:58 25 4
gpt4 key购买 nike

当人们想要强调一种语言比另一种语言更好时,我看到很多“表达力”这个词。但我不明白他们的具体意思。

  • 是冗长还是简洁?我的意思是,如果一种语言可以写出比另一种语言短的东西,这是否意味着表达能力?请引用我的另一个问题-Article about code density as a measure of programming language power
  • 是语言的力量吗? Paul Graham 说,一种语言比另一种语言更强大,因为一种语言可以做另一种语言不能做的事情(例如,LISP 可以用宏做一些另一种语言做不到的事情)。
  • 这只是让生活变得更轻松的事情吗?正则表达式就是示例之一。
  • 是否有不同的方法来解决同一问题:例如用 SQL 来解决搜索问题?

您如何看待编程语言的表达能力?你能用一些代码来展示表达力吗?

表现力和DSL有什么关系?人们是否想出 DSL 来获得表现力?

最佳答案

就我个人而言,我觉得一种语言的“表现力”实际上取决于语言结构能够如何清楚地“表达”开发者的意图。

例如,我觉得 C#(尤其是通过 C# 3+ 的 LINQ)变得更具表现力。这个 LINQ 语句就是一个很好的例子:

var results = collection.Where(item => item > 5);

在不知道所使用的语言或实现的细节的情况下,开发人员的意图(在我看来)在上述声明中非常明确。

我认为语言的冗长程度并不等于其表达能力,但是,存在一些相关性。如果一种语言需要大量代码来表达抽象,那么它的表达能力就会较差。这是两个相关但不同的概念。

对于能力来说也是如此 - 尽管这里语言的功能(即:能力)必须足够完整才能清楚地表达抽象。如果没有这一点,表达能力就会受到影响。话虽如此,如果功能集难以理解,一种语言在功能方面可能非常“强大”,但不一定具有表达能力。

关于language-agnostic - 编程语言的表达能力是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2427496/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com