132

技术并不是越来越简单的,框架是你的羁绊。 - 张泰峰

 6 years ago
source link: http://www.cnblogs.com/ztfjs/p/7596617.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

技术并不是越来越简单的,框架是你的羁绊。

  技术是一条湍急的江流,我们或乘着自己的小船,或搭着公司的大帆,在激流中回转翻滚,旧的路途一定会过去的,但新的路途需要你的经验渡过。

  我们来谈一谈,技术是变得‘简单’了,还是变得更‘难’。

  作为一个野生程序员,从电脑小白,到前端er。记得第一次接触编程,更准确来说是“搬程”,是在2014年。那年壮志特别壮,搞定一些简单的html+css+js插件之后就找了一家公司工作,期间非常崇拜那些能够用javaScript写出轮播图、幻灯片、tab切换的“大神”,直到我真正接触到编程。。。

  在领略了面向对象的魅力之后,逐渐的,好像所有的问题都变得更简单,无论是网页动态效果,数据加载还是比较炫酷的幻灯片、图表,它们全部都被激活了。这段时间我觉得技术是越来越“简单”的,可不是,自从理解面向对象或者各种设计模式之后,一切的问题都可以找到对应的方法,并且很可能有一个更加简单的库提供支持。

  我觉得是解决问题的流程发生了变化,大多数处理问题的流程是,

  发现问题-》思考-》百度代码-》功能分析-》完善,

  而现在变成了

  设计思考-》功能分析-》百度代码-》完成-》发现问题-》完善;

  可以看到的是,遇见问题解决问题的效率是低下的,抽象的思考过后解决问题的效率才会变得更高。

  技术的快速发展势必引出层出不穷的框架,而框架的发展必然是趋向高度抽象的。抽象给使用的人带来了简单,而对理解的人带来的却是更加的复杂。例如angular的出现,整个前端随即进入了抽象时代,AppModule、注入器等,再到vue,需要承认的是vue的学习曲线是类似框架中最友好的,编码方式也是最舒适的,但是vue的抽象层可不是那么简单,

还有react,你相信有某个人告诉你react全家桶很简单吗?曾经有一些后台欧巴告诉我,这东西很简单,和xxx很像,给他几分钟就ok了,真的ok?

  如何理解抽象

  抽象是通过分析与综合的途径,运用概念在人脑中再现对象的质和本质的方法,分为质的抽象和本质的抽象。分析形成质的抽象,综合形成本质的抽象(也叫具体的抽象——摘自百度百科。抽象是对现实事物的分析,再进行综合,抽象事物的本质,把事物复杂的一面转化成一个相对简单抽象。

  抽象不代表简单

  很多时候,技术看起来并不是越来越‘简单’,但也不太像越来越‘难’,事实上它正在变得越来越‘抽象’。抽象并不代表简单,可是理解了之后又不是太难。我认为它是介于之间的,不同的东西。就像从微观到宏观的转变,细胞到人,外表是简单的,内在是越来越复杂的。

  就像是一支铅笔,你知道它是一只笔,它可以写字。你可以不知道他内部的笔芯是怎么形成的。但是你不能说新的圆珠笔比铅笔更简单,在使用层面确实是的,但是它是一个假象,因为使用它的人根本不会关心这支笔的内在。——但是我们不一样,我们是开发者。我们需要了解这只铅笔内部和那只圆珠笔究竟有什么不同,而圆珠笔往往比铅笔要复杂得多,它们都有一只笔芯,但是圆珠笔的笔头代表着工艺,铅笔则可能只代表了笔的基础。

  不要认为新的技术更简单!

  新的技术往往是对旧的技术的封装抽象,提出了更多的概念,更多的解决方法。但是它的内在并没有发生多少变化,react、vue、angular要依赖webpack等工具,它们的本质还是es6,是es6更复杂的功能抽象集合,那些实用的、简单的API对工作的帮助不可谓不小,但对你了解本质的帮助越来越无力,你并不能在vue语法中学到多少js知识是吗。jquery的api囊括了大部分dom操作,它使你更缺少动力深入那些基础了。

  基础和抽象思维

  我认为,深入基础,锻炼抽象思维,才是学习新框架的最佳途径,仅仅上手一个mvc框架可不能帮助你的技术提升多少。人类发现微观世界,使科技焕然一新,技术也需要探究“微观”,计算机原理更新的速度和框架更新的速度,已经不言而喻。

  技术并不是越来越简单的,框架是你的羁绊

-------------

可能表述有问题,引起了一些误解,框架的意义我觉得就跟名字一样,架子,用框架开发可以不需要知道原理的,房子会住就行了。

重要的是原理,原理被抽象了,框架有时候遮挡了它们。

例如你可以不知道react的setState是怎么工作的,内部用了哪些API,事实上它表面上足够简单,实现功能的时候不需要懂它的原理。

  转载请在开头注明出处 


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK