-
答案 1:
用自然语言来编程,并不是一个重要方向。因为,编程,是解决问题,是一个从问题空间到解答空间的映射过程。重要的是,如何来做这个映射的。人思考问题,是抽象而完整的,解决问题时,意图也是完整的,但是如果描述为语言,则是片面的。比如,“桌子”这个物体,想像中是完整的,但语言来描绘,则是“桌面和四条桌腿”,是割裂的。这是说,语言本身不是解决问题的方法,如何完整地去描述,才是重点。因此比编程语言(甚至人类语言)更重要的,是我们怎么看待和模型化问题的。计算机语言的进化,也是朝更接近人类脑袋思考问题时的“建模”方式去靠近,并不是朝人类语言本身去靠近。比如面向对象的语言(如c++ ),并不是提供了“更自然的语言”,而是提供了能够用更接近人类自然思维的方法来表达事物的方法。因此,更“自然”的映射方法,比用更“自然”的“语言”来得重要得多。计算机语言的发展,追求的是前者而不是后者。现实中,高手可以用汇编语言写出非常优美的面向对象的系统出来,而新手往往用C++写出混乱不堪的代码团。 -
答案 2:
向自然语言靠拢的做法得不偿失。人脑处理自然语言的方式,和处理编程语言的方式截然不同。后者是处理逻辑和结构问题。把编程语言用语法糖的方式表面上弄成自然语言,其实人脑处理的时候还是要翻译成底层的符号系统。这就像初学英文的人看英文一样。和英文中文的区别不同,自然语言和编程语言的区别是基本范式的区别。通过简单映射来翻译是流于形式的。 -
答案 3:
觉得lisp是目前在编程语言最接近自然语言。 -
答案 4:
自然语言本身具有很强的歧义性,同样的语句在不同的环境下表达的意思可能是不同的。以英语为例,“bank”既是银行又是河岸。而计算机语言更多的是要求精确性。另外,计算机编程的目的是对事物进行一种抽象表达,按逻辑实现特定功能。而自然语言的目的是在所有层面表达任何事务及抽象概念。两者目的的不同决定了两者是不通用的。可以认为计算机语言是语言的一种分支,就像是口语与书面语并不相同。计算机语言就是我们对计算机说话时所用的语言,既然目的是进行沟通,我们自然要考虑到对方能够听懂的方式及常用的逻辑。 -
答案 5:
常见的计算机语言中最接近自然语言的应该是SQL,他至少本身就是一句能读懂的英语。但是这个和人类语言差距其实还是很大,这与人思考描述问题的方式及计算机能理解的表达形式间的鸿沟有关。 -
答案 6:
我觉得无论一个编程语言多像自然语言,表达起递归的时候,就绝对不会像自然语言了,人脑怎么处理递归是个大问题 -
答案 7:
我接触过的语言里matlab,python比较接近自然语言 -
答案 8:
如果从系统底层以及硬件设计上解决计算机对自然语言的理解的话,就不存在什么编程了。我们直接就可以同自然语言和计算机交流,让计算机完成相应的功能。计算机本身也可以对自身的系统进行优化。 -
答案 9:
脚本语言们都挺接近自然语言的,比如applescript,python之类。 -
答案 10:
自然的语言很难达到 自然的想法却很容易想到。 -
答案 11:
如果有编程语言接近自然语言,并且性能优越,早就成为流行语言了。所以目前还没有。就算有,也存在各种问题。 -
答案 12:
@冯东 的说法我即支持又不支持单纯的用编程语言模拟自然语言确实不是个好主意,不过语法糖仍然应该算是有益的尝试。语法糖,或者更宽泛的说「高级语言」,就是为了提高编程过程中的思考层次而引入的。「在使用高级语言编程时,仍然需要在人脑中还原成底层机制来思考」,这更像是一种C程序员写C#时的习惯动作,但是经过训练和习惯以后,C程序员也是可以暂时忘掉底层机制,直接使用高级语言思考的。这种进步对于「自然语言编程」,当然只能算100步迈出了0.5步,但这至少是进步。当然,那后面的99.5步需要的是计算机科学的积累,需要一些本质上的认识升华,而如果有人现在把C语言用语法糖包装成「自然语言编程」,那只能说这人「中文编程」了。 -
答案 13:
越接近自然语言你就会离机器语言越远 你就会越来越远离真相 这就是底层的魅力.
现有的编程语言当中,哪些和自然语言接近?
2012-01-19 19:51:52 来源: 点击:
相关热词搜索:
上一篇:百度无线部门是如何发展来的,前景如何?
下一篇:在美国和欧洲有哪些比较优秀的设计院校,主要关注设计研究、设计管理和设计战略?