如何看待编程语言

什么是语言

语言是用来传递信息的交流工具。它的常见形式有:文字(视觉上)、话语(听觉上)。

语言是如何表达信息的

语言提供了模型和规则。
语言模型必须有足够的信息复杂度,如字、词、短语。只有语言本身先具有足够的复杂度,才能去表达具有相当复杂度的信息。

语言规则即语法规则,信息的组织方式。即什么样的信息应该以什么样形式放在什么位置。只有遵循了相同的语言规则,交流的双方才能从约定的位置以约定的形式快速、准确地发出 / 接收信息。

如果没有语言规则,则

  • 表达信息会有困难,比如心里有想法但就是不知道怎么说;
  • 接收信息也会有困难,比如病句、错句、歧义句等等让人听不懂。

所以综上,可以简单的认为,语言的要素有两个:模型规则

语言的作用

语言提供了模型和规则。开发者在模型和规则的基础上,对现实问题进行信息抽象,以语言规定的形式描述现实业务问题。

所以语言的作用是:

  • 将开发者的意图高效表达出来,告诉计算机,这一部分信息是经常变的;
  • 将计算机的底层资源如内存,指令,暴露给开发者。内存和指令分别可以用来存储数据和执行程序,而数据+程序是所有软件共同的组成特征。

这就实现了双向的信息交流。

计算机编程语言

编程语言只是告诉计算机如何解决问题的工具。
编程语言的描述能力越好,那么语言就越好用。

语言虽然可以描述问题,但是使用一门语言,就必须遵守语言的规则和各种约束机制。这就导致代码的内容不仅仅包含实现业务的部分,同时也包含语言工具本身为了维持系统正常工作而编写的代码。如果前者比后者的比值越大,表明语言越容易使用,开发者不需要写业务外的代码。如果前者比后者比值越小,说明开发者需要写更多地业务无关的代码。这个比值一定程度上能反应语言的表达能力。

C

以C语言为例,由于C语言暴露给开发者的语言模型比较底层,可以直接进行原始内存操作,这就导致开发者需要自己手动管理内存。这样才能保证系统稳定运行指定的业务。手动管理内存容易出错,有一定的难度,同时会给开发者带来额外的开发负担。对于复杂的业务层的开发,用C来做显然不适合,因为开发人员无法更多地专注于业务实现。

C++

C++相对于C语言,完全兼容C语言,并在C语言的基础上增加了适应于快速开发复杂高层业务的对象模型,使C++的开发效率相对于C有显著提升。但是C++仍然保留了C的内容,使得该语言既能应对底层开发,又能应对高层业务开发。当然其缺点也在于此,正因为它不彻底的革命,导致在很多场景下会被针对高层业务开发效率更高的JAVA或其他脚本语言取代。


未完待续

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

撬动未来的支点

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值