由Web前端引发的思考

        早上英语课和电工学,英语课讲四级卷子,可是很瞌睡啊,顺便再继续想一下Web的事情,这段时间接触了Web开发,了解了一些关于前端和后段的东西,确实觉得Web前端入门很容易,门槛低,不像软开,光基础就要学越多方面的知识,没有扎实的基础,开发个成品出来不是的。但…Web前端就不一样,做个简单的Demo出来还是比较简单,但是对于……Web前端,我应该持以怎样的态度,是当做软开的知识补充和辅助,还是当做一个工具拿来用,自娱自乐,还是应该扎实的学习它,就像软开一样,我选择的最后一项,这样的话学习量也就相应的加大了。。可是Web学习的未来是什么,我想不清楚,虽然…Web前端入门容易,但是就如杨中科说的,当一项技术很多人都会的时候它已经不是技术了,别人不会的那些才有竞争力。。忽然在百度上找到一篇很专业的文章……<…Web十日谈>,作者从过来人的全局出发。谈了谈…Web前端的许多问题,其中也有程序员的许多值得学的道理。可以看出,不管是软开也好,Web前端也好,还是后端也好,要想成为精英。必定要经过许多努力和付出。这个世界是平等的,没有哪个行业让人很轻松的就达到高的境界。。所以,对于Web前端,还是把它作为一项工具,而不是核心能力去学习它,人的能力和时间是有限的,专注,把一件事做到极致,就够了。。把基础学扎实,而不是把精力放在一些表面的东西,经验的东西说有价值也有价值,说没价值也没价值,经验是必须去亲自体会才能收获的感悟,没有经历是没有啥经验的,然而,正因为这样,对于一些经验性的东西,现在不会也是正常的,比如一些框架的使用,UI界面的使用和开发,一些人整天的心思放到这里,却忽略了真正的精髓。。这就是为什么一流的公司只考你算法,思维意识方面的东西。却不问你什么什么框架如何,会不会JSP,.net,等等,而小公司可能相对比较重视这些东西,因为对于会用框架等等的人,在那里也是视为能干事的人的。。这就是一流与一般的区别。。一流的重视物质的核心本质,一般的注重表面应用。。。。
编程,以前真是有点误解这个词了,认为编程也就是用计算机进行编码以实现人的需求。今天才明白,这是对编程狭义的理解。。编程应该是通过用计算机去实现或者做到人做不到或者需要很多时间或精力做到的事,以提高社会的生产效率。而计算机并不知道怎样去做,这还是需要人考虑的,我们把要做的事情分析分解,然后建立能通过编写代码能实现的模型,然后再通过计算机所能理解的程序语言去最终达到目的。。所以程序代码只不过是编程里最底层的一项活动,在它上边还有许多需要人规划分析的事情。。这才是最重要的,这就是为什么架构师为什么比程序员境界高,因为他是告诉你怎样去做,而你的任务是做出来什么。。理所当然,怎么做比做什么重要许多。。
编程的重点在分析和规划上,那么这一阶段又该去怎样分析和规划呢,这就说到了软件工程的概念,软件工程也是历史发展的产物,旨在于把软件开发模块化,结构化,工业化,其实这是有好处的。如果没有这些理念,可想而知,一个稍大点的软件开发过程以及做出来以及以后的维护和可重用性都是非常困难的,这也是软件工程诞生的背景。。。
以前看过一个人说要养成这文档说明书的习惯,不觉为然,今天才恍然大悟,这是有道理的,说明文档,流程图等等,都有利于你分析问题,建立模型,使你的程序模块化,结构化,并且有良好的接口。还有一个好处是对于把编程理解为编写代码的人,那么整个精力和也许都放在了写代码上,这样写出来的代码是很乱的,因为要不停的调试,修改,以达到最终的目的。这样还有一个弊处就是关于调试。
       一位前辈说过,一般的程序员调试一下看到错误后修改后再调试,直到没有错误,另一部分人会打开反汇编窗口查看背后错误的原理,我想最高境界的应该是脑子中没有调试的概念,即调试只是帮助你查看最后的代码是否有语法错误或者简单的逻辑错误,做到胸有成竹的写出正确的代码,而不是一遍一遍的靠编译器找出你的错误。。这种方式应该是最低级的。。所以要有广义上的编程的理解,他也是帮助人解决事情的一种当时和工具,而程序需要就是它的利器。。语言,充其量也是工具而已,如果把目标放在如何精通一门语言,那么,也许是否熟练运用都是问题,而应该把注意力放在问题的分析上,通过语言实现是最后的一道工序,这时候工欲善其事,必先利其器,也是有必要的。所以,是为了能够熟练应用而精通,不是为了精通去学习。。
把软件工程的理念加入到你的编程习惯中。。。
技术只是为了让社会发展更有效率而存在的。。

你可能感兴趣的:(Web)