软件设计09丨语言的接口:语法和程序库,软件设计的发力点

在上一讲中,我们学习了程序设计语言模型的演变过程。学习不同的程序设计语言,实质上就是学习不同的编程模型。谈完了模型,接下来,就该说说接口了。

这一讲,我们就来谈谈程序设计语言的接口,一说起程序设计语言的接口,你的直观印象肯定是程序设计语言的语法,那是一个你已经很熟悉的话题了,但程序设计语言还有一个你可能都不曾留意的接口:程序库。

如果你已经能够完成基本功能的开发,想让自己在编程水平上再进一步,成为一个更好的程序员,你就可以从封装程序库开始练习。因为想封装出一个好的程序库所需的能力,就是软件设计所需的能力。封装程序库,可以成为你软件设计进阶的发力点。

消除重复的程序库

我们写程序的时候,只要规模稍微大一点,你就会发现同样的模式经常出现,差别无非是几个地方的参数不一样,这就是重复。

最开始的重复是指令级别的重复,程序员们会把同样的指令序列放到一起,通过传入不同的参数进行识别。你发现了吗?我说的就是函数。函数已经成了今天的主流编程方式,是几乎所有的程序设计语言都有的基础设施,人们甚至忘了它的由来。

写程序的一项主要日常工作就是定义各种函数。一旦你定义了大量的函数,就会发现有很多函数不仅仅在某个项目中是适用的,而且在很多项目中都是适用的。这时,作为一个“懒惰”的程序员,我们就会把这些在多个项目中使用的部分抽取出来,组成一个模块,这就是程序库的来源。

所以,程序库就是为了消除重复而出现的。而消除重复,也是软件设计的初衷。

程序库(Library)是程序员最熟悉的一项内容。学习一门新语言,首先是学习语法(Syntax),然后学习程序库(Library),之后再学习运行时(Runtime),这样,你就具备一门语言的基础了。再往后,你需要了解的就是各种惯用法(Idiom),以及如何运用到实际的工作中。

有一些程序库实在是太常用了,它们就会随着语言一起发布,成为标准库。比如,程序员熟知的第一个程序“Hello, world”的做法来自《C 程序设计语言》,其中用到的 printf 就是来自 C 的标准库。再比如,Java 程序员无人不知的 JDK,里面包含了大量的程序库,一个 Java 程序员如果不能说出

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

程序员zhi路

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

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

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

打赏作者

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

抵扣说明:

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

余额充值