计算机编程语言和人类说的语言有何区别

程序员编程时,使用的编程语言可以看做是一门“外语”,是我们人类与计算机交流的语言,编程就是将人类的意图通过这门“外语”翻译给计算机,计算机理解我们的意图后,就知道该做什么了。不过,编程语言这门“外语”与我们人类之间交流的语言还是有一些不同的,本篇文章将尝试说说我认为的二者的区别。

自然语言和形式语言

在开始看 C 语言代码之前,我们先来说说“自然语言”和“形式语言”。“自然语言”就是我们人类说的语言,比如汉语,英语,日语,法语等等,自然语言并不算是人为设计的,更多的是在人类进化过程中逐步形成的。“形式语言”则是人们为了一些特定的应用人为设计的,一般包括符号和结构的设计,比如数学算式的数字和运算符号,化学家的化学式等等。当我们阅读一条语句时,不论它是“自然语言”还是“形式语言”,不仅要理解符号的意义,也要读懂结构的含义。例如“我想打你”这句话,不仅要知道每个字的意思,还要知道这句话的结构,“我”和“你”的位置不同,表达的意思是截然相反的。

如今,自然语言也有语言学家研究,并且加了一些加强规则,比如主谓宾的语法等。但是自然语言的规则严格性,远远没有形式语言那么苛刻。

相对于“形式语言”,“自然语言”对规则要严格的多,我们说病句,例如“我跑得快比你”和“我比你跑得快”这两句话,一般人也能懂。但是形式语言就不可以了,无论是符号错误,还是结构错误,都不能正确表示原本期望表达的含义。

构成算术式:

1 + 8 = 9

构成水分子化学符号:

H2O

存在非法符号:

1 + 8@ = 9

脚标不对:

HO2

C 语言程序

编程语言自然是属于形式语言,我们来看看 C 语言版本的 hello world:

#include int main(){ printf("hello world"); return 0;}

虽然这只是非常简单的程序,但是却能说明 C 语言的很多规则。使用printf函数之前,要首先包含它的头文件stdio.h。包含头文件要使用#+include符号,而且这条语句要独自占一行。main是C语言默认的入口,程序从入口开始执行,它是int类型的,int 要与 main 用空格,tab或换行符隔开,函数要有括号和大括号,函数内的语句要用分号结尾。另外,上面的代码中有很多缩进,不过这是可选的,恰当的缩进只是为了我们人类看着方便而已。

以上都是 C 这门形式语言定义的符号和结构,要严格遵守规则,才能写出正确的 C 语言代码。如今,其他编程语言也是类似的,都必须严格设计好的规则进行。

总结

计算机编程语言和我们人类使用的自然语言有很多共同之处,但是也有很多不一样的地方。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181029A1EMIO00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券