这是我的第一个问题,所以我对它有点紧张,因为我不确定我是否能够充分理解其含义.无论如何,我们走了....
无论何时达到编程中的新里程碑,似乎他们总是有一个共同的目标:让程序员更容易编程.
机器语言,操作/助记符,过程/函数,结构,类(OOP)等在他们的时代总是以更自然,可理解和更易于维护的方式规划,构造和编写程序.
当然,功能性编程绝不是新鲜事物,但近年来它似乎经历了一种复兴.我还相信,当微软将F#添加到他们的主流编程语言时,FP将获得巨大的推动.
回到我原来的问题,我相信最终编程将以自然语言(英语)完成,只有很少的限制或规则.编译器将成为AI/NLP系统的一部分,该系统从代码中提取信息,或者我应该说文本并将其转换为编译器可以编译的中间语言.
那么,FP是否使编程更接近自然语言编程,或者它是一个障碍而主流OOP会让我们更快地进行自然语言编程?
这个问题不应该被用来讨论自然语言编程的可用性或可行性,因为只有未来才能说明.
对不起,我完全不同意.代码最终是为了使事情(对象)的蓝图,因此它具有非常精确和规则支配的,以可靠地工作.自然语言不会更快地接管编程,因为草绘餐巾纸的概念将接管机械工程.
我个人已经得出结论自然语言编程有点破解.
英语并不完全适合作为一种编程语言使用,太多的抽象词在编程中没有相关性,例如情感词和其他抽象概念在编程中没有位置,所以说编程可能是"自然的"语言"会跟随,"自然语言"可能是编程,但事实并非如此.
现在,当我得到你在这里说的话时,问题是英语有太多的废话术语和重复的名字,因此我们会使用一些甚至不是特定于编程领域的东西,因为编程的任务.
我认为更适合人们理解编程实际上是一种高度专业化的语言,并使用他们的大脑并学习用一种语言编写代码,这种语言简单,具有说服力,并且具有一致的定义,与英语不同,其中定义是高度主观的.
一旦你学会了语言的细节,并学习它的原理图和行为,你就可以将它们结合起来做新事物.
以Perl为例,每个人都因为线路噪音而抨击它,但是当你知道很多编程语言时,一旦你超越了"OMG LINE NOISE"的最初障碍,就会有一定程度的直观性,你可以在哪里制作你从未读过的东西然后看到它神奇地按照你的预期工作.
恕我直言,领域特定的语言胜过口头的目标问题解决.