编程是干什么的,编程怎么学

编程是干什么的,编程怎么学 这里是博士聊IT,来都来了,给博士点下下呗。今天聊聊编程的本质。程序就是数据结构 控制 逻辑,程序员编程工作的本质是翻译,翻译机要来了,程序员怎么办?黑客帝国中的程序黑客帝国4就要上映了,

这里是博士聊IT,来都来了,给博士点下下呗。今天聊聊编程的本质。程序就是数据结构 控制 逻辑,程序员编程工作的本质是翻译,翻译机要来了,程序员怎么办?

黑客帝国中的程序

黑客帝国4就要上映了,不知道前三部你看懂了么?值得多看几遍。

黑客帝国的主角就是程序(Program)。Achetict是历史实践家,通过历史的变迁洞察了规律,来确保Matrix何时诞生、何时发展、何时崩溃、何时重建。Oracle是大数据的化身,代表了人类特有的直觉,具有洞察和预测的能力,掌握了情感和人性。里面许多Program个性十足,和真人相比也不遑多让。

企业数字化转型,先要看懂黑客帝国

「博士聊IT」一文看懂编程的本质,程序员有前途么?

黑客帝国的主角是程序

程序不仅仅是信息的载体,它和人脑一样,是处理信息的工具,可以说,程序是人类思维的外在表现,软件把原来在思维空间中进行的抽象的活动转化成一种能够可视的过程当我们编程序时,尤其我们在调试程序,也就是Debug的时候,这种感觉更加明显。一个程序员读着另一个程序员源代码的时候,能够感觉到他的思维在跳动(当然,乱跳也是跳)。

编程的本质是什么

程序本身的执行基础是机器语言,但人类掌握机器语言太困难了。最早的程序员都要用机器语言去编写代码,用纸带输入程序,费时费力,不是数学家根本掌握不了。

人类是追求高效率的生物,很快语言就有了进化,出现了汇编语言、Lisp、Fortran、Basic、C……大多数软件都是用高级编程语言编写的,对于程序员来说,它们更容易、更高效,因为它们比机器语言更接近自然语言。很可惜,中国没有自己的编程语言。

中国为什么没有自己的编程语言?哲学、数学和语言学基础是关键

「博士聊IT」一文看懂编程的本质,程序员有前途么?

编程语言是程序员的工具

那么这些语言本质是做什么的呢?

软件行业有两个著名的公式 :

1、程序=数据结构 算法

瑞士计算机大师Niklaus Wirth

「博士聊IT」一文看懂编程的本质,程序员有前途么?

他发明过Euler、Algol-W、Pascal、Modula 和 Oberon。

数据结构实际上说的是信息和数据如何被组织起来。

这里最著名的就是由本体论(Onology)发展过来的面向对象分析方法(OOA)。就是按照分类(属性 方法)、继承、重载和多态等。

分类是人类理解世界的根本,就从哲学观点上来看,这是我们认识世界的方式。我们的生物需要分类,就是门、纲、目、科、属、种;法律需要分类,轻度伤害、重度伤害量刑不同;社会管理要分类例如不同企业上不同的税;产品需要分类,不同的产品有不同的参数…….我们思想和语言交流的基础就是分类。

「博士聊IT」一文看懂编程的本质,程序员有前途么?

面向对象是应用最多的数据结构分析方法

如果不用到分类,世界的事物,无法有效地组织起来,我们也不能有效地表达我们的思想,编程语言率就低了。很多程序员都不喜欢继承,确实对我们编程限制很大。但你设想一下,如果不能把“哺乳”这个方法放到哺乳动物的分类上,我们要对许多哺乳动物的子类进行操作。基于类别的数据结构是最好的信息压缩方式。

事实上我们说的每一个名词都是一个分类,当加上编号或者定冠词就变成实例了。

分类决定属性,一个分类的属性有两种来源:从爹妈那儿继承的,自己特殊的。当然这个分类也会有孩子继承他的属性。

分类决定方法,道理是一样的。重写是一种继承中的变异,大规模重写分类就乱套了;多态是对方法的封装,以便模糊调用,在实际中,操作分类、属性和继承关系的难度很大。确实作为软件开发人员,在实践中对我们一无所知,这也是很需要业务专家的原因。

算法的本质是什么?是对数据的处理。

语言是人类思维的文字表现。有的人语言条理清晰,有的人杂乱无章,难以一概而论,其中所包含的信息量也不一致。我们从小学就接受语文训练,反复练习每句中心词是什么?段意是什么?中心思想是什么?这种训练就是帮助我们建立起语言所包含语义的逻辑性,才能保证对方能够顺利地接受信息所包含的语义。

我们所训练的这种表达就是一种算法,大家可以试着想象一下你周围的人算法处理能力,有的人啰哩啰嗦说不清楚,有的人词义准确、逻辑清晰、言简意赅、没有废话,这种人对这件事情的算法能力就很强。

如何衡量一段文字所包含的信息量呢?前苏联科学家柯尔莫洛夫提出了信息量度量的新方法:除了基于组合和基于概率方法之外,他提出了基于最短程序长度的信息量度量方法。算法信息论的代表。

「博士聊IT」一文看懂编程的本质,程序员有前途么?

柯尔莫洛夫发明了算法信息论

例如我们说:3.1415926……….和说一个pai“编程是干什么的,编程怎么学”在本质上是一样的。

后面大家有机会可以深入了解熵这个概念,算法就是逆熵操作,算法的效率就是算法逆熵的能力大小。

2、算法=控制 逻辑

英国计算机大师Robert Kowalski

他发明了逻辑编程,他的学生研制了Prolog的编译器。我们把公式代入:

「博士聊IT」一文看懂编程的本质,程序员有前途么?

控制就是指程序将按照什么样的流程和顺序进行计算。

顺序有简单的,也有非常复杂的。例如人机交互的流程就比较复杂:

「博士聊IT」一文看懂编程的本质,程序员有前途么?

复杂的控制过程

控制就是指程序的计算步骤,先算什么,后算什么,如何跳转,如何回退。

逻辑就是指数据结构按照什么规律如何相互影响。

当翻开欧几里的《几何原本》这本书时,所有人都会立刻产生仰慕感。这本距今2000多年前的书从定义出发,点、线、面逐步推进,明确了本书涉及到的公设,明确了其中的公理(不言自明的道理),然后就将我们初高中所学几何知识几乎一网打尽。

「博士聊IT」一文看懂编程的本质,程序员有前途么?

你的几何应该没有2500年前的欧几里得好

是的,我们初中、高中学的几何学就是典型的逻辑。

1879年,德国科学家弗雷格出版了《概念文字》一书,这本书的副标题是”一种模仿算数语言构造的纯思维的形式语言”。弗雷格的语言对于我们来说就很熟悉了,我们在大学数学中用到的很多符号,如存在编程是干什么的,编程怎么学,任意等符号编程是干什么的,编程怎么学,都是源自于这本书。

傅雷格奠定了逻辑学的基础,罗素等人完善了命题逻辑和一阶逻辑,再往后冯诺依曼、图灵、邱奇、麦卡锡、巴克斯等人发明了计算机。是的,这些人都是与世无双的逻辑学家,确切地说是数理逻辑学家。

「博士聊IT」一文看懂编程的本质,程序员有前途么?

数理逻辑发展简史

编程的本质是把人的思想变成计算机可执行的机器代码。

程序员工作的本质是什么?

说到这里,很不幸,应该你已经猜到了?

程序员的工作性质的本质是翻译,把人类的思想需求翻译成机器可执行的代码。任何高级语言都是用来表达思想的。高级语言都会被翻译成机器语言,驱动计算机去执行。

「博士聊IT」一文看懂编程的本质,程序员有前途么?

程序员的本质

因此,你可以认识到软件的世界中有两个实质性的内容:思想和机器语言。思想是我们希望计算机做什么?当前软件从业者:从业务人员、项目经理、架构师、程序员、测试人员、实施人员,他们都有一个共同的工作性质:翻译。就是把思想翻译成机器语言。

你可能会质疑,现在人工智能这么发达,为什么不弄个翻译机呢?

「博士聊IT」一文看懂编程的本质,程序员有前途么?

这个能取代编程?!

很不幸你又猜对了,翻译机要来了。取代程序员的工作已经开始了。

其中低代码平台就能减少翻译人员的数量,无代码平台让需求者直接对接机器。

数据结构现在可以做成模型驱动和可视化的表单,控制可以做成可视化的流程和活动,要是逻辑问题也解决了,可能大部分软件需求就真的不需要程序员做翻译了。

「博士聊IT」一文看懂编程的本质,程序员有前途么?

低代码无代码能终结编程么?

博士聊IT,带你走近信息科学。给博士点下下呗!以前的文章:

中国为什么没有自己的编程语言?哲学、数学和语言学基础是关键

程序员比社平工资高70%?编程的本质是什么?能力强还是分配不公

企业数字化转型,先要看懂黑客帝国

秒懂!国家信息化战略在说什么!信息化从业人员必备知识

信息化建设效率为啥这么低?看透本质才能除掉病根

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/55248.html

(0)

相关推荐

  • 凡事预则立不预则废的意思是什么 凡事预则立不预则废的出处

    凡事预则立不预则废的意思是什么 凡事预则立不预则废的出处2021-10-15 18:31:111、意思是:不论做什么事,事先有准备,就能得到成功,不然就会失败。原文:凡事豫则立,不豫则废。言前定则不跲,事前定则不困,行前

    生活 2021年10月15日
  • 麦德龙加速开店;新华都出售零售业务;京东JOYBUY将停运

    京东七鲜超市深圳第五家门店将开业 京东旗下七鲜超市深圳宝安云顶汇店将于11月26日正式开业,这是七鲜超市在深圳的第五家门店,商品涵盖水果蔬菜、水产海鲜、肉禽蛋等,总数达8000多款…

    科技 2021年11月26日
  • 抖音直播间不进人,什么原因,抖音直播间突然不进人了怎么回事

    抖音直播间,抖音直播间不进人怎么回事,抖音直播间如何增加粉丝抖音直播间不进人怎么回事 很多小伙伴们都知道如今做直播带货或者是开直播获得打赏都是一份非常不错的工作,并不是很累,而且收益也很高,但是大家开了直播间之后却没有人

    电商 2021年11月9日
  • 三七互娱的手游有哪些,三七互娱游戏好玩吗

    三七互娱手游怎么样三七娱乐游戏哪款最强?第一款:《荣耀大天使》 《荣耀大天使》是一款次世代的3D魔幻手游。因为采用了先进的3D实时成像引擎,独特的细微人物肢体动作和魔幻的世界背景给人的感觉还是耳。三七互娱为什么毛利润那么高?三七互娱是手游电玩的毛利润高。 三七互娱是手游电玩的毛利润高。三七互娱有哪些手游?天地劫 英雄萌 三国志战略版都是 天地劫 英雄萌 三国志战略版都是三七互娱旗下有哪些游戏?三七互娱旗下游戏:《大天使之剑》《传奇霸业》《武神赵子龙》《霸道天下》《苍翼之刃》《三打白骨精》等 三七互娱旗下游戏:《大天使之剑》《传奇霸业》《武神。三七互娱旗下产品?旗下拥有知名的游戏研发品牌三七游

    阅读 2022年6月28日
  • 失恋文案看是否戳中你的心

    1.岁月为我大浪淘沙,而你被留下。2.在闪闪发光的同时 也要平平安安3.一个成熟的人往往发觉可以责怪

    阅读 2022年5月23日
  • 为什么说杨臭脚(杨大脚)

    为什么说杨臭脚(杨大脚)今天大人去逛街,试鞋子的时候旁边有个小女生也在试新鞋,脱下来鞋子的那一刻,柜姐先是一惊,然后转头就去服务其他购买鞋子的小妹妹了…随后大人闻到了一股奇怪的味道…MD,这个小妹妹是个汗脚!火速

    营销 2021年10月17日