技术是一条湍急的江流,咱们或乘着本身的小船,或搭着公司的大帆,在激流中回转翻滚,旧的路途必定会过去的,但新的路途须要你的经验渡过。css
咱们来谈一谈,技术是变得‘简单’了,仍是变得更‘难’。html
做为一个野生程序员,从电脑小白,到前端er。记得第一次接触编程,更准确来讲是“搬程”,是在2014年。那年壮志特别壮,搞定一些简单的html+css+js插件以后就找了一家公司工做,期间很是崇拜那些可以用javaScript写出轮播图、幻灯片、tab切换的“大神”,直到我真正接触到编程。。。前端
在领略了面向对象的魅力以后,逐渐的,好像全部的问题都变得更简单,不管是网页动态效果,数据加载仍是比较炫酷的幻灯片、图表,它们所有都被激活了。这段时间我以为技术是愈来愈“简单”的,可不是,自从理解面向对象或者各类设计模式以后,一切的问题均可以找到对应的方法,而且极可能有一个更加简单的库提供支持。vue
我以为是解决问题的流程发生了变化,大多数处理问题的流程是,java
发现问题-》思考-》百度代码-》功能分析-》完善,react
而如今变成了jquery
设计思考-》功能分析-》百度代码-》完成-》发现问题-》完善;webpack
能够看到的是,碰见问题解决问题的效率是低下的,抽象的思考事后解决问题的效率才会变得更高。程序员
技术的快速发展势必引出层出不穷的框架,而框架的发展必然是趋向高度抽象的。抽象给使用的人带来了简单,而对理解的人带来的倒是更加的复杂。例如angular的出现,整个前端随即进入了抽象时代,AppModule、注入器等,再到vue,须要认可的是vue的学习曲线是相似框架中最友好的,编码方式也是最温馨的,可是vue的抽象层可不是那么简单,es6
还有react,你相信有某我的告诉你react全家桶很简单吗?曾经有一些后台欧巴告诉我,这东西很简单,和xxx很像,给他几分钟就ok了,真的ok?
如何理解抽象
抽象是经过分析与综合的途径,运用概念在人脑中再现对象的质和本质的方法,分为质的抽象和本质的抽象。分析造成质的抽象,综合造成本质的抽象(也叫具体的抽象——摘自百度百科。抽象是对现实事物的分析,再进行综合,抽象事物的本质,把事物复杂的一面转化成一个相对简单抽象。
抽象不表明简单
不少时候,技术看起来并非愈来愈‘简单’,但也不太像愈来愈‘难’,事实上它正在变得愈来愈‘抽象’。抽象并不表明简单,但是理解了以后又不是太难。我认为它是介于之间的,不一样的东西。就像从微观到宏观的转变,细胞到人,外表是简单的,内在是愈来愈复杂的。
就像是一支铅笔,你知道它是一只笔,它能够写字。你能够不知道他内部的笔芯是怎么造成的。可是你不能说新的圆珠笔比铅笔更简单,在使用层面确实是的,可是它是一个假象,由于使用它的人根本不会关心这支笔的内在。——可是咱们不同,咱们是开发者。咱们须要了解这只铅笔内部和那只圆珠笔究竟有什么不一样,而圆珠笔每每比铅笔要复杂得多,它们都有一只笔芯,可是圆珠笔的笔头表明着工艺,铅笔则可能只表明了笔的基础。
不要认为新的技术更简单!
新的技术每每是对旧的技术的封装抽象,提出了更多的概念,更多的解决方法。可是它的内在并无发生多少变化,react、vue、angular要依赖webpack等工具,它们的本质仍是es6,是es6更复杂的功能抽象集合,那些实用的、简单的API对工做的帮助不可谓不小,但对你了解本质的帮助愈来愈无力,你并不能在vue语法中学到多少js知识是吗。jquery的api囊括了大部分dom操做,它使你更缺乏动力深刻那些基础了。
基础和抽象思惟
我认为,深刻基础,锻炼抽象思惟,才是学习新框架的最佳途径,仅仅上手一个mvc框架可不能帮助你的技术提高多少。人类发现微观世界,使科技面目一新,技术也须要探究“微观”,计算机原理更新的速度和框架更新的速度,已经不言而喻。
技术并非愈来愈简单的,框架是你的羁绊
-------------
可能表述有问题,引发了一些误解,框架的意义我以为就跟名字同样,架子,用框架开发能够不须要知道原理的,房子会住就好了。
重要的是原理,原理被抽象了,框架有时候遮挡了它们。
例如你能够不知道react的setState是怎么工做的,内部用了哪些API,事实上它表面上足够简单,实现功能的时候不须要懂它的原理。
转载请在开头注明出处