很多人会因为看到计算机做出的效果功能而心血来潮想去学习编程,但是往往在学习以后发现编程很难学,而且容易学了半天不知道学的是什么。有些人学了编程往往以为会写一些代码就认为是学会了编程,其实并没有意识到只是学了个皮毛,在自己独立编程时又发现不知从何做起。
编程并不是会写代码那么简单,很多程序员虽然写了很久代码,其实只是在完成一个项目的很微小的一个环节,如果真正的独立去做一个项目依然会不知所措。
写代码可以说只是编程的尾声环节,就像织毛衣在一针一针地织,而织毛衣前其实还有很多准备工作,而编程之所以难也就在于前面的环节会很多,往往写代码的因为已经跳过很多环节也就不知道了真实意图。
就像吃饭,最终意图就是填饱肚子,但是环节会有扒饭进嘴,而之前呢还有收拾碗筷,再往前又会有锅碗瓢盆的做饭,如果一直往前推就会推到农民在挖坑、播种,再往前会是锯木头做镐头把。
而写代码的时候就像在锯木头,想破脑袋也会知道锯木头的目的是为了吃饭。
学编程其实也是这样,本来是因为看到玩游戏的酷炫画面而去学编程,然而开始学的时候却是在对着大黑屏敲int i=1;.。很多人就会疑问,我学这个跟玩游戏的咔咔放技能的画面有什么关系,然而游戏画面就是从对着大黑屏敲int i=1开始的。。。。。。
编程是一项将众多环节联结起来最后用代码指令去触发的工作,看似只是在电脑前敲键盘,其实是在调动山川湖海。
就比如说黑客,一行指令连通的是操作系统的通信接口,操作的是路由网关的硬件设施,然后指令信号进入庞大的服务器的某一个通讯线路,然后再穿过万里的网线进入某个企业的网关,再连进某个电脑的网线插口入侵到计算机系统,然后进行一连串的操作,看似只是在敲键盘,其实电信号早就来来回回走过了十几万公里,而这个能力并不是因为黑客有多厉害,而是成千上万的人搭建起了这样一个体系,才使得这个人能够坐在小黑屋里就能无限距离的远程操控。
所以说,如果把编程只是认为是敲代码,只能说没有认识到编程的本质,只是在流于表面的在其他人构建的平台上被动的写一些字母符号,编程难就难在封装集成得很严重,很难去探究到本质,也就会一直被动的因为硬件的变化、编译器的升级、生态的变化而不断的更新。
就比如说现在5G开始通用流行,以往的通信协议就会产生很大的变化,既要兼容之前就有的通信协议,又要添加5G的新规则,这样原来的通信模块儿就需要做出更新添加,这时候敲代码的就需要修改代码,多了一个辩识是否有5G设备,又需要检测是否有其他信号的支持,然后又需要设计不同信号之间的切换,一系列的工作下来也就使程序员需要做很多的改变添加代码的工作。
编程可以说就是一直在学习的过程,旧的思想理念、字段符号代码刚有点起色,一抬头又产生了一大堆新的理念、字段、符号。
其实现在各行各业都处在这样的局面,进没有方向,退没有退路,所以大多数人就在观望,而这时候该做的就是沉淀。
学编程其实也是这样,与其一直被动的跟着语言走,不如静下来看一些编程思想的东西,并不是去学习底层的编程语言,而是去理解底层的编程设计,这样也就更容易理解编程语言,即使记不住也能有方向去查询模块代码。
很反感很多教编程的上来就敲代码,因为没有设计理念的东西,与其说是在学代码,不如说是在背代码。如果是背代码,现在的代码那么多,没有人能背的住。
本身计算机就是以数学为基础的东西,注重的是思维推理,而不是死记硬背。
可以说很多人学编程学了很久,并不知道怎么去看代码,代码并不是像书一样从头到尾地去看,而是需要顺着流程思路去看。
就比如说写前端,在图形界面上显示一个图片,应该想想流程:导图片-定位置-显示大小,写代码的时候也就是:设置路径-位置方法-大小方法,再接着细化写路径-位置方法里加坐标-大小方法里写比例。
看代码也需要有个从宏观到微观的思维去看,导的包有哪些-方法名有哪些-方法里的变量、对象有哪些-变量、方法的执行路线是什么样的。
写代码的往往是一条线一条线的去写,优秀的代码往往是变量、对象放在一起,方法模块按运行顺序去排列。
想要学好编程就需要多听、多看、多练,这个多就是多方面的去了解,不要因为不是敲代码就认为不需要去看,因为计算机这个东西本身就是多方面交叉集结成的一个智慧结晶。
其实不管学什么都是这样,需要不断地去思考所见所闻如果用所学的东西怎么去表达实现。
就比如说生活中看到锤子钉钉子,锤子、钉子、胳膊就是三个对象,方法就是手拿锤子挥去砸钉子。基本变量也就是锤子的坐标位置、钉子头的坐位位置,然后用手臂加锤子长的半径画弧将两个位置连接,这就是算法。
学神学霸其实就是这样学习的,看着好像也没有学习,其实脑袋里就没停过,本来人只能看到另一个人在做什么,但是看不到别人在想什么,这就是为什么别人在不知不觉中就优秀了起来。
就像学数学,有的人看到豪车跑过就是“哇哇哇,好酷”,有的人脑袋里可能就在想速度乘以时间等于距离。
这就是为什么有句话讲“一千个读者一千个哈姆雷特”,因为同样的东西被一群人看,每个人产生的想法是不一样的。
就像大街上走过一个美女,男的看的是真漂亮,女的看的是衣服真好看,小偷看的是耳坠怎么偷,警察看的是背后有个人贼眉鼠眼。。。。。。学编程的可能就是在用面向对象思维将这个美女,踩的地、穿的衣、身体部位等等一系列创建对象,创建类,然后建立数学模型去做出这样一个动画。
所以说,学东西需要用心,多看多听多想多练,如果没有这样的境界很难学成,关键是脑子里要去想这个东西,如果做来做去不去想,那就是个机器虽然在动但是不明所以。
联系客服