美文网首页
从历史看编程

从历史看编程

作者: 翻身小白菜 | 来源:发表于2020-06-17 15:03 被阅读0次

不是因为有了计算机才有了编程。而是,因为有的编程,才创造了计算机。

编程早于计算机


当你想到编程是不是想到的是密密麻麻的代码,或者不管变化的数字?其实编程的目的是通过逻辑计算解决现实的问题,而写代码是实现目的的方式。
在计算机软件编程出现之前,就已经有了对编程的探索。1700年代,莱布尼兹(对,就是发明微积分和二进制的莱布尼兹)尝试用逻辑语言描述各种事物,计算出事物的结果。但是,莱布尼兹只是提出了构想,随后,布尔把它进行了体系化,但是编程计算机的梦想依旧没有实现。
到19世纪中叶,英国人Ada利用打孔纸袋写出人类第一个软件程序,这个程序还包含循环和子程序。因此,Ada被认为是第一个程序员/媛。这时距离计算机的发明还有100年。


Ada

什么是计算机


真正的计算机是40~50年代诞生。
最早的计算机编程需要程序员将电线编来编去,以控制计算机的执行(所以,才叫编程?)。不过,很快就有了机器指令编程。
但是,机器语言是面向机器的,对人来讲,太难写、太难读、太难改!为了解决机器语言编写、阅读、修改复杂的问题,汇编语言应运而生。
但是,无论是机器语言,还是汇编语言都是面向机器编程的。而人更习惯按照自己的逻辑去编程。因此,出现了各种结构化的语言,以及高级语言,强调的是逻辑,实现了莱布尼兹最初的编程思想。

从面向过程到面向对象


高级语言解放的程序员,使程序员可以面向逻辑去编程。早期程序员是单打独斗的,或2~3人开发一个系统,高级语言可以满足需要。
但是随着开发的系统越来越大,越来越复杂,原来的编程方式无法组织更多的程序员协作,失败的项目越来越多,软件质量也得不到保障。
究其原因,编程的方式如果按照逻辑,每个人的理解不同,多人无法协作编程。
在这个背景下,人们思考尝试,产生了经典书籍《人月神话》,产生了结构化程序设计方法,产生了面向对象的思想
编程的目的是,用计算机解决现实世界中的问题。编程的过程就变为,将现实世界中的问题,包括问题相关的实物和概念(领域问题)分析抽象出模型,并由此设计出软件系统。


而面向对象的程序设计,直接表达问题空间内的元素。但是现实世界和对象模型又很多不一致,使面向对象有困难,合作还是很多面向过程。如,现实世界用户创建了订单,但是编程时很少写User创建Order。
因此,面向对象又进一步发展。典型的,如,领域驱动设计(DDD)可以认为是面向对象的一种落地实践方式。

PS:正在学习《架构师训练营》,学习思考汇总,如有不完善,欢迎探讨

相关文章

  • 从历史看编程

    不是因为有了计算机才有了编程。而是,因为有的编程,才创造了计算机。 编程早于计算机 当你想到编程是不是想到的是密密...

  • 问题驱动和回顾历史

    学编程:问题驱动 看人、看事: 回顾历史

  • Java 函数式编程

    从历史上看,用 Java 进行函数式编程并不容易,甚至一些函数式编程在 Java 中是不可能实现的。在 Java...

  • 从历史看现在

    从1347至1353年,席卷整个欧洲的“黑死病”,夺走了2500万欧洲人的性命,占当时欧洲总人口的1/3,神在这个...

  • 从历史看组织

    曾国藩还有一个好处,就是肯找接班人,并不恋栈。他曾经说:要做大事情,第一个要想到的就是要找替手;等到我不能做事情的...

  • 从电影看历史看今天

    这是一篇写于十年前的文章,当时我还是鲁中网论坛“书香悦读”版主。当时因为世界观的认识不同,和一些网友来了一次...

  • 从Masonry看链式编程

    本人有若干成套学习视频, 可试看! 可试看! 可试看, 重要的事情说三遍 包含Java, 数据结构与算法, iOS...

  • 架构师训练营第2周学习总结

    追溯历史看编程本质和未来!!! 编程发展史!!! 1.最早探索人:德国大佬莱布尼茨提出计算可执行演算规则,就可计算...

  • 从历史角度看《三体》

    2008年,一部震惊中外的科幻小说《三体》横空出世,这部集科幻、哲学、历史等众多学科于一体的天才著作让无数人惊叹...

  • 从细微处看历史

    刚看完《帝国的凛冬》,感觉有些虎头蛇尾,许是系列丛书,这只是其中一本的缘故。从道光到咸丰,再到同治,书中大半的篇幅...

网友评论

      本文标题:从历史看编程

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