美文网首页编程和人生随笔-生活工作点滴
平凡却又深刻的编程理念:编程语言和抽象

平凡却又深刻的编程理念:编程语言和抽象

作者: 进击的叻叻 | 来源:发表于2019-07-28 18:45 被阅读22次

编程语言是一种语言,主要用于给计算机传递可执行的操作指令序列。目前计算机依旧还是采用冯·诺依曼体系结构,简单来说,计算机顺序执行程序的每一条二进制代码的指令,最后将返回处理返回到输出设备上。

然而,对于现代的程序员们,编程绝大多数不是这样的。
我们基本不会写计算机能“懂"的语言;我们写着那些高级语言,如C++, C#, Java, JavaScript, Python等。
我们编写的代码,往往也不再是执行一些复杂运算的单机小程序,而是分布在多机甚至异构的计算机系统上的多个程序共同协作的大型服务,虽然我们每个人往往只负责其中一小部分。
我们写的代码的也可能不再是代码目测那样的”顺序“执行,输出的结果也往往不是直接送往输出设备。

为什么?因为编程过程的抽象屏蔽了计算机运行的细节
对于程序员来说,编程语言是计算机能力的抽象。编程语言的级别的高低,说的就是抽象层次的高低;简单来说,离计算机懂得语言越远,语言越抽象层次越高。
同时,在具体代码设计里,我们的代码还是对业务逻辑的抽象,而且一般而言越良好的设计,代码的抽象层次越分明。经典的设计模式,就是一种高于编程语言之上的抽象

无论对于编程语言还是代码设计,抽象层次的高低都可以理解成离计算机I/O的远近——离I/O越远,抽象层次越高。

无论是理解编程语言还是编程设计,对抽象的理解都是十分关键的。比如,对于校招面试,我认为主要的还是考核对编程抽象的能力(比如数据结构和算法,分治思想,设计模式的理解和应用,而非具体技术实践能力。一来前者更多关注关于长远发展的编程基础能力,二来参加校招的由于缺乏工程经验一般也不会有特别靠谱的技术实践能力。


我认为,人类语言的发展也大致如此。从越接近人类I/O(视觉)的壁画、象形文字,到人越容易表达和传递的文字(汉字,英文)。而在人们不断地沟通交流,我们也会逐渐形成抽象层次更高的词汇,比如术语,成语等,以便更快速或更有效地表达信息。而卓越的人更是能将其知识和经验总结出抽象层次更高的系统的理论模型,简化了对复杂场景的理解和应对,正如卓越的程序员一般。

记得《人类简史》提及,智人之所以最终站在地球食物链顶端在于能够传达一些根本不存在的事物的信息。人类懂得”虚构“一些事物或概念,并让周围的人相信和接受。我觉得,这应该就是抽象能力的呈现;然后人类创造和完善了语言,具象化了抽象的力量。而阅读,就在学习或适应书里描述的抽象,刷新我们的抽象思维,继而有利地影响我们的生活,包括我们的编程工作。

相关文章

  • 平凡却又深刻的编程理念:编程语言和抽象

    编程语言是一种语言,主要用于给计算机传递可执行的操作指令序列。目前计算机依旧还是采用冯·诺依曼体系结构,简单来说,...

  • 平凡却又深刻的编程理念:End

    这是这个专题的第六篇,也是最后一篇。这篇也不具体分享某一个主题,而是呼应《前言》,分享一下写这个专题的感受。 先说...

  • 平凡却又深刻的编程理念:迭代

    我要一步一步往上爬…… —— 《蜗牛》 迭代,也许是本系列里出现在程序员工作中的最高频词汇。 谈及迭代,程序员可能...

  • 平凡却又深刻的编程理念:前言

    这一首简单的歌, 并没有什么独特,好像我,那么的平凡却又深刻。 -- 《一首简单的歌》 终于,终于,终于,要开始去...

  • 平凡却又深刻的编程理念:Make it Work then Ma

    关于专题第一篇文章,我考虑了很久写什么主题。起初我想写目前最有兴趣的“生命周期”,但觉得开篇应该还是选择一个更基础...

  • 平凡却又深刻的编程理念:生命周期

    生命周期(Life Cycle)是一个很简单的概念,但我觉得它经常被忽略或不够重视,尤其对于使用面向对象编程语言的...

  • 什么是函数式编程

    函数式编程是一种编程范式,常见的编程范式有函数式编程,命令式编程。命令式编程是面向计算机硬件的抽象,有变量,赋值语...

  • 自学Java第123天

    AOP面向切面编程的学习 以前也学过很多种面向XX编程比如面向过程编程,面向对象编程这两种也就是C语言和Java语...

  • Node.js学习(8.5)

    Node.js安装配置 指令式编程思维 顺序 选择 循环 函数式编程思维 函数 抽象化函数 JavaScript语...

  • Python-背景-认识python

    python是什么编程语言 编程语言主要从以下几个角度为进行分类,编译型和解释型、静态语言和动态语言、强类型定义语...

网友评论

    本文标题:平凡却又深刻的编程理念:编程语言和抽象

    本文链接:https://www.haomeiwen.com/subject/khovhctx.html