一个菜鸟的一点思考

来源:互联网 发布:flashcs6软件win10 编辑:程序博客网 时间:2024/05/17 22:14

计算机的诞生是帮我们做重复工作,让我们可以把精力实现更大的业务功能和专注于更复杂的业务逻辑

计算机:电路系统和电信号.二种信号(二进制)   和  人:思维,所掌握的语言,记忆能力,

思考一下,如果一门面向对象语言没有提供方法,没有提供类,没有接口,如果没有这些,我们还能写出与用这些知识时所完成同样功能的程序吗,相信也是可以的,其实只要有 变量和判断我们就足以完成一切功能了

计算机底层操作=相应功能=人干的+框架干的。


我认为是:功码守恒    也就是完成的功能和代码量是相同的, 守恒,也就是只要是完成了一定规模功能的程序最后作用于计算机上的电信号都是一样的,不论是我们学习的汇编还是高级语言都是为了抽象,为了更进一步的靠近人的思考,让我们更加专注于解决问题的逻辑,而不是把精力用在与计算机的"沟通"上,(其实计算机的产生就是为了让它们可以帮助我们可以做一些重复性的东西,如果以后计算机有了自主思维能力,那么它不听话了,人该怎么解决),

框架就是复用重复的东西,同样的东西用多了,肯定会产生重复,然后我们会产生新的语言机制来解决这些重复,但是完成的功能一样,计算机来完成同样的功能,所做的工作量是一样的,人的工作量+框架=最终代码量,

比如说为了完成a功能,我们需要写10行代码,如果有10个地方都用到了10行代码(也就是这个功能),那么我们需要写10次,我们肯定不会愿意的,我们会想办法,比如新引入一个标记,让这个标记代表这10行代码。

思想就是:不管是什么东西,只要重复了,都可以单独拿出来放在一处,用一个标记来指代它,。


也就是我们使用那些基础的知识点其实已经足够我们来完成任何的功能了,之所以又提出了方法,类,抽象,封装,等各种知识其实都是为了让我们可以不去做那些重复的东西,在一定程度上我们所认为的高级语言的那些基本知识点其实也属于某种抽象层次。

抽象思维很重要,一个知识越抽象,抽象层次越高,适用范围就越广 

  比如方法,方法的抽象层次是为了把那些程序中重复的语句拿出来,

也就是一切知识的产生都是抽象的,

语言就是不断的用新的抽象去除已有的重复 。

  我学的java,我认为面向对象语言比面向过程的一个特点就是它有很类库

其实就是复用机制

首先知识也有体系,它随着时间或思维程度的深入会变得更多

在我学java的过程中。首先计算机底层是固定的,其实我们用的高级语言本身就是一种抽象。

一切都是抽象封装,

其实是因为人的处理单元是有限的,所以当功能复杂时,用已有技术实现时比较复杂超出了人的最大思维数时,人们就会对这庞大的东西进行抽象进行分类,把相互之间有逻辑关系的部分放到一起,用一个标记进行代理,然后周而复始。


在学习了springboot之后,感觉它是基于之前spring项目的进一步封装,是简化了spring项目的开发过程,把之前自己需要做的东西交给框架来做,


一个内部有逻辑关联的模块如果使用时重复次数很多,就把它单独拿出来,用一种标记来指代。这里的模块可大可小,可以是方法,可以是类,可以是框架的模块,


不管上层出现了什么新知识,底层的原理都是不变的,整个java生态的基本就是java的各种语法机制


使用了框架,说明以前一些需要我们干的事情集成到框架里边去了,框架本身一般是不用改的,有些框架本身的使用就很复杂,比如spring项目的xml配置和依赖管理, 而且运行时会出现很多神奇的错误,


所有的语言都在语法层面提供了一定的抽象机制以及丰富的复用库, 前者决定后者。