这里是博士聊IT,来都来了,给博士点下下呗。今天聊聊编程的本质。程序就是数据结构 控制 逻辑,程序员编程工作的本质是翻译,翻译机要来了,程序员怎么办?
黑客帝国中的程序
黑客帝国4就要上映了,不知道前三部你看懂了么?值得多看几遍。
黑客帝国的主角就是程序(Program)。Achetict是历史实践家,通过历史的变迁洞察了规律,来确保Matrix何时诞生、何时发展、何时崩溃、何时重建。Oracle是大数据的化身,代表了人类特有的直觉,具有洞察和预测的能力,掌握了情感和人性。里面许多Program个性十足,和真人相比也不遑多让。
企业数字化转型,先要看懂黑客帝国
程序不仅仅是信息的载体,它和人脑一样,是处理信息的工具,可以说,程序是人类思维的外在表现,软件把原来在思维空间中进行的抽象的活动转化成一种能够可视的过程当我们编程序时,尤其我们在调试程序,也就是Debug的时候,这种感觉更加明显。一个程序员读着另一个程序员源代码的时候,能够感觉到他的思维在跳动(当然,乱跳也是跳)。
编程的本质是什么
程序本身的执行基础是机器语言,但人类掌握机器语言太困难了。最早的程序员都要用机器语言去编写代码,用纸带输入程序,费时费力,不是数学家根本掌握不了。
人类是追求高效率的生物,很快语言就有了进化,出现了汇编语言、Lisp、Fortran、Basic、C......大多数软件都是用高级编程语言编写的,对于程序员来说,它们更容易、更高效,因为它们比机器语言更接近自然语言。很可惜,中国没有自己的编程语言。
中国为什么没有自己的编程语言?哲学、数学和语言学基础是关键
那么这些语言本质是做什么的呢?
软件行业有两个著名的公式 :
1、程序=数据结构 算法
瑞士计算机大师Niklaus Wirth
他发明过Euler、Algol-W、Pascal、Modula 和 Oberon。
数据结构实际上说的是信息和数据如何被组织起来。
这里最著名的就是由本体论(Onology)发展过来的面向对象分析方法(OOA)。就是按照分类(属性 方法)、继承、重载和多态等。
分类是人类理解世界的根本,就从哲学观点上来看,这是我们认识世界的方式。我们的生物需要分类,就是门、纲、目、科、属、种;法律需要分类,轻度伤害、重度伤害量刑不同;社会管理要分类例如不同企业上不同的税;产品需要分类,不同的产品有不同的参数.......我们思想和语言交流的基础就是分类。
如果不用到分类,世界的事物,无法有效地组织起来,我们也不能有效地表达我们的思想,编程语言率就低了。很多程序员都不喜欢继承,确实对我们编程限制很大。但你设想一下,如果不能把“哺乳”这个方法放到哺乳动物的分类上,我们要对许多哺乳动物的子类进行操作。基于类别的数据结构是最好的信息压缩方式。
事实上我们说的每一个名词都是一个分类,当加上编号或者定冠词就变成实例了。《程序员那么可爱》结局,每个人结局都不错,女主结局很好《程序员那么可爱》陆漓流产了吗?陆漓出车祸是怎么回事 完了,他出大事了……为什么程序员掉头发(程序员脱发原因)为什么程序员工资高(字节跳动程序员工资一般多少)程序员的简历模板,程序员简历模板免费下载