语言可以让您免于澄清您的想法

时间:2009-04-18 19:39:24

标签: programming-languages

好的,那还有programming language that frees you from clarifying your ideas吗?

我忍不住问道。但是如果有的话,你今天最接近的是什么呢?

8 个答案:

答案 0 :(得分:4)

你的意思是,这是一种编程语言,可以让你编程而不解释你希望程序做什么?

不,那怎么办?需要告诉编译器要编译的程序。

从Charles Babbage那里找出一个旧的,有点恰当的引文:

  

有两次我被问到,   “巴贝奇先生,如果你投入,请祷告   机器错误的数字,将   正确的答案出来了?'我不能够   正确地理解那种   混淆可能引发的想法   这样的问题。

编译器无法读懂你的想法。它可以创建程序来执行您想要的任务的唯一方法是告诉它你想要的是什么。

当然,有些语言可以让您免于指定与整体问题无关的内容,而且只与底层实现相关。 (一个明显的例子是,大多数现代语言使您不必担心指针或许多其他低级别的问题。许多语言也为您提供了迭代序列的方法,而无需编写手动循环。但您仍然需要“澄清你的想法”,你仍然必须指明你的程序应该做什么。语言能做的最好的就是免除你澄清与你相关的事情。想法。

答案 1 :(得分:3)

在我看来,这不应该是一种语言的作用。相反,该语言应帮助您澄清您的想法,并让您以尽可能直观的方式表达这些明确的想法。

答案 2 :(得分:3)

你可以从两个角度看待它:

  • Prolog等高级语言 让你不必表达每一个 你算法的凌乱细节。你刚才 勾勒出高级图片,并且 prolog填写详细信息(例如, 如何搜索和扣除 你的问题的答案等。)

  • 另一方面, 像C这样的低级语言让你免费 从必须表达你的想法 一种抽象的方式。你可以给一个 序列非常具体,详细 程序步骤(尽管你可以 如果,可选择引入抽象 你想)。

因此,这两种极端情绪都会让您从表达和澄清您的想法的某些方面解脱出来。

答案 3 :(得分:1)

我不这么认为,但也有一些阻止你明确表达这些想法 - 我提名BCPL。

答案 4 :(得分:1)

对于各种问题域,有一些语言可以让您免于输入很多东西超出以澄清您的想法所需的内容。但是在某些情况下,对某些人来说,每种语言都会失败。不是每个人都习惯于在面向对象的设计(例如,C#或Java)中表达他们的想法,作为函数和闭包(Scheme),作为逻辑推导(Prolog - 它有适合的一些问题!),或者作为期望结果的声明性陈述(XSLT,CSS,各种DSL,并取得不同的成功) - 但在某些情况下,这些都是正确答案,并且大多数在某种程度上重叠。实际上,很少有现代语言完全面向单一范式。

但是有些语言比其他语言更有利于表达性:例如具有高效的实现(C),或者易于学习(比如Python或其脚本类)。

答案 5 :(得分:0)

我希望没有一种语言可以让你免于澄清你的想法。所有程序员都应该自己负责,而不是将其传递给其他人或编程构造。

答案 6 :(得分:0)

所有优点,都在思考更多脚本语言,你可以在调试器中键入它,直到它完成你想要的东西(我已经为一些sysadmin wmi脚本做了一两次)。

答案 7 :(得分:0)

是的,Whitespace