什么是计算机儿童编程,儿童学计算机编程的内容
今天小编为大家分享Windows系统下载、Windows系统教程、windows相关应用程序的文章,希望能够帮助到大家!
也未必,学习面向函数只要找到现实对应关系也可以学得和面向过程面向对象一样好。就像即便面向对象是现实的映射,一样有人学得跟翔一样。我看了一下找到些有趣的方法//@博士聊IT:理论比较抽象,平台出来了,一起试用一下就全明白了。面向对象和面向过程,其实是对客观世界的名词和动词谁是主体的映射,面向函数很难形成个独立的思维方式,不符合人类认知世界的方式,所以学起来用起来都难。别研究了,死路一条。#程序# #程序员# #编程#//@何宁社:
博士聊IT面向对象理论有点缺陷,现在架构师和程序员已经彻底不会用了。面向对象理论中一个关键问题没处理好,现在搞成了四不像。这就是面向对象中类与类的关系如何处理。程序员都知道,面向对象包括分类、属性和方法,通过这些概念的定义把客观世界中的事物映射到计算机中,并且保持各个事物相对的独立性,从而获得程序架构上的简洁优雅。面向对象中的分类、属性和方法都是具有非常深刻哲学意义的理论归纳,其哲学基础从古代的亚里士多德开始,一直可以追溯到近代的维特根斯坦。可以说,要构建一个庞大或者复杂的事物,无论是从哲学,科学,技术,工程,哪个角度看都必须要抽丝剥茧,利用本体的思想把事物定义清楚,梳理出事物独特的属性和动作,同时还要把事物的定义和实例分开。在这一点上面向对象,实际上是对软件工程甚至其他的工程类别都做出了巨大的贡献,在今天软件定义硬件,软件定义世界的背景下,更具有特殊、重要的意义。面向对象理论,最早是Alan kay系统提出的,他本科学的是生物,从最早的面向对象语言smalltalk一直到现在少儿编程的scratch,老爷子把自己硬生生的活成了乔布斯和贝索斯的偶像。面向对象本质m.toutiao.com/is/kYWPbPb/Alankay在研究生物的时候,认为每一个细胞都应该是一个独立的对象实例。那么怎么解决两个细胞之间的关联关系的问题呢?他从生物学的角度来讲一个细胞,要影响另一个细胞势必要给另一个细胞发送某种化学物质或者电信号作为信息的载体,另外一个细胞通过接受这些物质或者是电信号,就完成了对这种影响的关系构建。说通俗点就是通过发送message来表示这种关系。对象之间的关系是动词,后来像是Java语言又引入了接口,但这种关系的表达方法不够直接,所以在其他的后续的领域中,大家并没有广泛的使用这种表达关系的方法。众所周知,在数据库中也有关系,甚至我们把数据库都起名叫做关系数据库。在数据库的体系中,我们把关系做成二维表,把分类也做成二维表,codd博士通过表间的矩阵关系运算,来实现对象关系之间的计算和表达。关系的数学基础,被变成了矩阵表达方式的线性代数。在知识图谱中,我们把这种关系独立出来叫做relationship,通过图的方式,计算一个节点与其他节点之间的连通路径,从而计算出关系。这个叫做图数据库,关系的数学基础被变成了拓扑学中的图论。面向对象的方法非常优秀,但是需要把事物之间的关系这一块重新构建清楚。因为对于一个系统描述来说,最最根本的要素只有两个:组成这个系统的元素,这些元素之间的关系。不同的科学和数学理论基础造就了不同的关系处理体系和机制,你觉得这里哪种关系描述方法最科学最有前途?#Java# #程序# #程序员#【博士聊IT】面向对象是把简单问题复杂化了么?很多读者觉得面向对象很麻烦,那可能是你认识世界的层次和能力还不够。
从本质上来讲,世界的事物定义、联系和运动本身就是非常复杂的,没有一套好的哲学世界观来组织,不了解些逻辑学、语言学知识,世界只会更复杂。
如果你觉得简单的问题复杂化了,那么可能是以下的原因:
1、你还没有做到或者胜任系统分析的岗位。如果你负责过多个项目,历经多次需求更改,修补多个系统设计漏洞,那自然能深刻理解系统复杂性,如果你只做入门级别的工作,成天CRUD,那么后面还有很长一段路要走。(当然你要一直CRUD,可能走着走着路就断了)
软件架构师必读:面向对象编程思想(OOP)的由来与本质
2、虽然干过系统设计工作,但未能理解面向对象本体的思想。不知道如何利用分类认识世界、描述世界,这时乱用,不仅不会有帮助,还会拖累开发,越用越乱。放轻松点,编程的本质就是反映思维,思维表达出来就是说话。把名词和动词定义好,把语言组织好,说明白话编程才能好。
3、确实有些不适合的场景:
例如程序本质是复杂的过程本质,涉及对象少,活动关系复杂。例如一个单据的审批流程,涉及人员关系复杂,状态条件判断复杂,这时非要用面向对象实现也显得麻烦。业界已经有了一些标准,如BPMN2.0是实现此类工作的高效率工具。
例如系统很小或者就实现个后续无需扩展的小功能,这时杀鸡就不用牛刀了,有分析的功夫都干完了。或者是项目初期,需要快速迭代试错,需求根本分析不清楚,强行使用也会起到事倍功半的效果。
总之,面向对象是一种思想方法,掌握一次,多加联系,会终身受用。面向对象思想是需要学习相关哲学、逻辑学和语言学的基础知识,才能更好地发挥出效果的。
【博士聊IT】对信息科学感兴趣,请加关注。
软件架构师必读:面向对象编程思想(OOP)的由来与本质
「博士聊IT」一文看懂编程的本质,程序员有前途么?
中国为什么没有自己的编程语言?哲学、数学和语言学基础是关键
「博士聊IT」信息化建设效率为啥这么低?一文看透本质
#程序##程序员##哲学##人工智能#
wWw.Xtw.com.Cn系统网专业应用软件下载教程,免费windows10系统,win11,办公软件,OA办公系统,OA软件,办公自动化软件,开源系统,移动办公软件等信息,解决一体化的办公方案。
免责声明:本文中引用的各种信息及资料(包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主体(包括但不限于公司、媒体、协会等机构)的官方网站或公开发表的信息。内容仅供参考使用,不准确地方联系删除处理!
联系邮箱:773537036@qq.com