程序开发--视野很重要

         古语有云,“读万卷书,行万里路”,对于知识,我们不仅要通过读书来获取知识,更是要通过实践来拓宽视野,验证知识。

         作为一枚程序员,更是深知其中的道理。程序设计本身就具有实践性强的特点,而不是纸上谈兵。真正能够说服别人的就是运行你的代码,Run出你的结果! 书本的厚度有限,所讲解的知识也是有限的。对于现在的一些技术类的书籍,大多是告诉你做正确事情的步骤,而很少有教会你怎么做会出错,怎么去解决出错。这其中的一些坑,是需要你通过后期的实践去经历、去感悟,然后去超越!这就是本文所想描述的关于视野的看法。

        所谓,师傅引进门,修行在个人。记得读书那会,第一次接触C语言,接触数据库时,觉得所需要学习的知识好多,而如今,在工作多年以后,离第一次接触程序设计过去都快十年了,再次回过头来看当时的想法,觉得那时所谓的“好多”,其实也就是现在的一丢丢。因为我接触的东西多了以后,视野变得开阔,所面对的世界也越来越大了。多年以前,那个时候的我,所谓的世界,又能有多大呢!决定你进步的,就是你的视野,就是你面对的世界!最怕成为井底之蛙,以为“天”,就井口那么大!

        以前,没有在一个解决方案下放置上百的Project!

        以前,也没实践过数据库里一个表存放上亿的记录!

        以前,数据库实验时,没有在一个模式下创建上万张表!

      等等等等,毕业以后,工作多年,才逐步的实现了当初没有经历的事情,才知道,原来我当初的理解,是多么的简单。因为视野所限,在学生时期,没有发挥主观能动的去接触更大的世界! 现在互联网高速发展,信息获取极为简便。不论是CSDN、MSDN还是github,为我们在学校时期就能够接触更大的世界,创造很完美的条件。希望看到这篇文章的在校大学生,能够珍惜大学时光,多学习,多参与,在大学时期就能经历书本上没有的内容,多年以后,你将会感谢现在的自己!

      因为,在学校时期,你所做的程序或软件面临的问题与商业软件相比,存在天壤之别! 商业软件有商业合同作为鞭策,在使用过程中出现问题,要承担商业风险和责任; 而你的软件,或许只是为了通过考试。就算是在校创业的软件或产品,诸如facebook,校内网等起步阶段,也是在走出校门后经过巨大的人力,财力资源投入,迭代若干版本才走向成熟!

      你的软件很少会考虑内存泄露问题,因为你没有资源去充分检测它,但是这对于商业软件来说,就会是一个巨大的风险!

      你也很少会考虑性能或者资源消耗问题,因为你没有性能和资源消耗考核的场景!

      你在分配内存时,应该不会自己去实现一个内存管理系统,因为你可以直接利用系统调用,但是对于数据库软件来说,那样太慢了!

      你也许学习过互斥量和信号量,但是你可能没有在程序中实践过!

      你也许写过数据库应用,你认为连接数据库很简单,一个函数就搞定了; 但是你可能没想过多线程高效并发连接访问!

      对于sql语句你也不会陌生,可是你见过一个word页面都存放不下的sql语句么,见过光sql文本就有MB级别的语句么?

      更重要的是,在学校时期,应该没有机会或者资源,给你部署数十数百台的数据库集群,来看看集群运行的特点!

等等等等,所有这些,就是你的视野,需要等你通过实践去开阔!但是,我们没有经历过,不代表我们应该不思考。就像爱因斯坦,当他提出相对论的时候,自己肯定没法用实验去验证,但是却可以通过“思想实验”去验证。“想象力比知识更重要”,这就是说我们思想能够走多远,同样我们的视野也可以多开阔!

      只有在视野开阔后,我们在做程序设计时,就会考虑更多,设计实现的软件就会越贴近现实使用的需要!你也会更多的发出“喔,还可以这样!”的感叹。

       

发布了36 篇原创文章 · 获赞 25 · 访问量 2万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章