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

编程是干什么的,编程怎么学 这里是博士聊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)

相关推荐

  • 问道手游鹊桥相会是双线区吗,问道手游鹊桥相会是互通区吗

    问道手游鹊桥相会是哪几个合区今天七夕,问个问题解题思路: 开卷有益。 解题过程: 看完下面这个故事你就会明白了: 相传天上有个织女星,还有一个牵牛星。织女和牵牛情投意合,心心相印。可是,天条律。有哪些传说故事?盘古开天辟地 盘古醒来睁开眼一看,什么也看不见,于是拿起一把神斧怒喊着向四周猛劈过去。 那轻而清的东西都向上飘去,形成了天,重而浊的东西向下沉去,形成了笑到嘴巴抽筋的笑话有哪些?我是笑抽筋了,今天让你嘴巴笑抽筋,? 1.这东西主要看人 2.遇到这样的男孩子就嫁了吧 3.不是一家人,不进一家门 4.孩子你的智力有问题吧,? 5.手法确实诡异, 21。牛郎织女是怎样的一个故事?网友分享���

    阅读 2022年7月5日
  • 孩子大便卡在肛门快速解决,大便卡在肛门口怎么办

    宝宝的大便卡在肛门里了。如果家里有开塞露,可以直接打到宝宝肛门里。如果没有开塞露,可以用香油润滑宝宝的肛门,避免被大便裂开。另外,可以让宝宝坐在热水浴缸里,让他用力排便。如果大便太...

    生活 2021年11月4日
  • 青铜门后的终极是什么(黑瞎子为什么有不老体)

    青铜门后的终极是什么(黑瞎子为什么有不老体) 网剧《终极笔记》正式开播已经有一段时间了,豆瓣评分从6.6分一路直升至7.2分,评分参与人数将近一万,相信只要接下来更新的故事内容能够继续贴切原著,稳居在7分之上是不成问

    生活 2021年10月21日
  • 赚钱的前提(你认为赚钱的前提是什么)

    最近我想明白一件事情,一件既残酷又让人充满希望的事情—— 我们在学习、写作、赚钱时,都希望找到一些有效的方法、技巧、思路。但无论怎样,到最后你会发现,这些事情都需要依赖一样东西:勤...

    攻略 2021年12月26日
  • 陪伴孩子太少(童年缺少陪伴的孩子)

    困境与无奈 “这孩子不正常。我总是告诉他爷爷让他带孩子去医院看看。都是3岁的宝宝,到现在都不说话。这怎么行?” 卢晓(化名)今年3岁。他和祖父一起长大。他的父母在县城工作,每周回来...

    生活 2021年12月16日
  • 全家都喜欢的年货这样选准没错啦(这些年货你家都准备了吗)

    俗话说过了腊八就是年,年关越来越近,年货要准备好。 break-word !important;">这不,小编替你们准备好了这些年货好物,你家肯定也用得上。 闲话不多说,大家...

    阅读 2022年1月18日