在计算机中接近人类自然语言的程序语言是什么?

jamie1987


可能是python了吧,c和c++的精华在于指针,与日常语言差别太大。java,每次想到pom的xml配置,心里就烦,比最啰嗦的人还啰嗦。


人类的自然语言,在于交流沟通,可以很灵活。而程序语言,在于执行任务和处理数据,要求严谨明确。两者差别还是蛮大的,我们日常语言中可以有一词多义,比如黄色。程序语言在设计时会尽力避开这种情形,否则程序员会抓狂的,对于程序员来说,语言越明确越简洁越好,最好一个小任务只有一种表达方式。


程序语言的设计,和人的表达方式差不多

  • 有的很啰嗦,比如硬件电路设计中的VHDL,每个if后都跟一个then。最啰嗦的当属xml,我个人觉得是反人类设计。
  • 有的很抽象,将内存地址抽象为指针,甚至指针的指针
  • 有的很接地气,比如汇编,和最底层的硬件打交道
  • 有的能将简单问题复杂化,比如scala,语法糖太多,很多人自己的代码,一个月之后再看,自己都看不懂
  • 还有很多很多 大家可以在脑补或者评论


python的话,简洁和明确性上权衡的比较好,算是大部分人都能看的懂的语言。不过,强制换行很恶心,一不小心一个空格,程序就报错。要是能改成大括号,就能自动格式化了。再有,就是多线程是鸡肋。最后就是速度慢点。


虽然很多 缺点,但我还是觉得python是目前和自然语言最相近的语言,相似度好比大猩猩和人,向下面这样,是不是很像?


平凡科技



首先聊聊编程语言和人类语言的差异

这个就好比初学英语的中国人,很自然的按照中文逻辑进行思考,然后按照一定逻辑转换成英文,中间是需要一个转换过程,而不是一个接近过程。人脑处理自然语言与计算机处理编程语言的方式截然不同,后者是很有逻辑性和结构性。


自然语言本身不是很精确,在不同的场景下,同一个单词表达的意思就不一样,而计算机语言要求很强的精确性。


另外计算机编程的目的就是对描述的事务进行抽象表达,按照很严谨的逻辑进行表达,而自然语言的则是一个抽象的描述和理解,并不是到很具体很细节的。


从我目前了解到的, 个人感觉 AppleScript 是最接近人类语言的


首先我们来了解下什么是AppleScript,AppleScript是苹果公司开发的一种脚本语言,可以用来控制运行于Mac OS上的程序,也可以写成独立运行的Applet。这么语言设计的初衷就是方便苹果使用者,提升工作效率,避免重复劳动。这门语言有以下几个特点:

  1. 语法简单,并接近自然语言:几乎没有标点符号,语法不是十分严格
  2. 语法查询十分方便:系统原生提供语法查询字典。


接下来我来举个例子吧,证明它是很接近自然语言的,比如告诉计算机打开一个程序,我们可以编写如下脚本,告诉计算机我们要打开浏览器:


然后我们在来看定义字符串变量的例子:


最后在看一个复杂嵌套的例子:


这段脚本把 Safari 当前页面的标题存入了名为「标题」的变量中。通过这几个例子,我相信稍微懂点英文的人就能看懂这些程序的意思,是不是很接近自然语言呢。


SQL数据库查询脚本也是很接近自然语言

SQL查询语句只能算查询脚本,不能算一门编程语言,但是对计算机来说,它也是一门语言,其更接近自然语言,比如以下常用的查询语句,我相信会点英语的人,稍微看看就明白是啥意思:


Python虽然没有前两者接近自然语言,勉强也算是吧

Python 之所以火,有一个重要的原因就是简单易学,为啥简单易学呢,用过的人都会感觉到比较接近人类语言和思考习惯,没有太复杂的语法,接下来看个例子,如果你没学过的话,是不是很容易看懂呢?


小节

今天的分享就和大家聊到这里,感谢大家阅读,如果你觉得还有其他语言像人类自然语的话,欢迎到留言区补充哦。

感谢大家阅读,如果你有什么好的想法欢迎到留言区分享交流,如果你赞同我的回答,欢迎给个赞和转发,谢谢支持。


分享到:


相關文章: