1-抽象

今天,越来越多的工作是借助电脑完成的了。
在这种情况下,学习更多的计算机知识,无疑是有益的。
比如,了解硬件和操作系统的知识,可以在购买数码产品的时候做出更好的选择。而会写一些基本的程序,可以避免许多重复性的工作。
很多人把这些东西看得很深奥,其实不是。你未必非得成为专家,才能解决很多问题。因为,在计算机科学里,有一个重要的概念,叫做「抽象」 (abstraction)。

所谓抽象,实际上就是这样的思考方式,当我们考察一个物体(或者对象、系统)A 时,我们不关心 A 的内部组成(或者原理),只关心它的功能。
其实日常生活中,充满了抽象的思维方式。使用手机的时候,你只在乎能用它开微信,而不在乎它里面是什么处理器,多大的内存,或者多少像素的摄像头。又比如开车的时候,司机不会关心轮子什么材质或者发动机多少功率。

在计算机科学里,和「抽象」非常相关的一个词,是「模块化」。这两种思想,简直无处不在。
无论是开发一个普通的软件,或者是操作系统,又或者是网络协议,我们都不希望所研究的东西是一团乱麻。因为这样太复杂了。
通常,我们会将研究对象,拆分为多个相互独立的模块,分别进行研究。这样一来,当我研究某个模块的时候,只要关心该模块怎么组成;对于其他模块,则只需知道提供了什么功能即可,并不用知道它们是怎么实现 (implement) 的。
举一些例子:

  • 开发软件的时候,通常都是在一开始想好整体架构,然后将各个模块分别实现。
  • TCP-IP 网络协议,分为五层。每一层都在上一层的基础上,实现相对独立的一部分功能。加起来就保证了可靠的网络通信。

有了这些认识,其实就不难想到,写程序并不是一件很困难的事情。很多该有的东西,别人已经给你造好了。你以为你需要成为一个木匠,其实你要做的就是搭积木。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 176,742评论 25 709
  • We believe that writing is about content, about what you ...
    hongXkeX阅读 4,531评论 1 1
  • 雨 是天空对大地的 思念 也是对大地最好的 爱 热烈而深情
    宁久微初心不改阅读 1,171评论 0 0
  • 一、本周情境1.工作:出差回到公司,进行总结、培训、任务扫尾,参加年会。2.素质:周计划落地实践指导及月目标的达成...
    严哥阅读 2,047评论 0 0
  • 悸动的七月,我写下了故事的开头。这个故事,关于青春,关于梦想,关于我的建大之约。对于大学,特别是建大,我并不单单是...
    小小小小瑜阅读 1,643评论 0 0

友情链接更多精彩内容