绝想首页

[分享]我自己的程序观

imspeach [其他] 2011-09-29 02:33:03 星期四 晴天 查看:43183 回复:0 发消息给作者

  
    经常和同事聊天,谈及他们接触软件开发的过程,发现大多数都是从大学开始的。没有几个和我的情况类似。其实我和一些喜欢计算机,喜欢鼓搞一些电子电器的同学一样,从小就接触程序这个家伙了。上小学的时候喜欢上了《少年科学》里的basic教程,那时已经开始在学习dos环境的编程了。上了中学,加入了学校的程序设计竞赛小组,从basic转向了pascal,于是思维上从以个性随意的basic一下子被结构化著称的pascal给“重组”了,也是那时开始学习了一系列的处理技巧,什么多重循环啦,深度搜索啦,广度搜索啦,回归调用,到了高中,学习了队列和栈,又学到了加权搜索,快速排序等等。
    应该说,程序设计仿佛生活中的一个部分,结合到了我平时的思维中,平常没事时就会突然想到程序设计的问题,比如高中那时,中午是休息时间,我们经常在海南中学的广场上逛悠,地板是大块的瓷砖拼成的,我就会把它想象成迷宫,怎么设计程序让电脑自己去走。也许有人说我是骗人的,我不想解释太多,其实如果你喜欢上一个事物,你自己就会变得很奇怪,就象我说得那样也不足为奇。很多人是因为上了大学因为学校强制学习程序,才会觉得程序是一个恶魔,非常憎恶,不喜欢它,自然也就谈不上去学习,更不用说去运用,去熟悉。对我而言,程序就是一门语言,一个可以命令机器去执行动作得语言。用这种语言可以让机器做很多有意义得事情,这是多么快乐得啊。
       所以大学里得一切和程序有关得语言我都喜欢,matlab,vhdl,java,汇编。学习他们可以扩展自己得思路,知道别得语言和自己熟悉得语言有什么区别,设计同一个功能得模块有什么不同得地方。找到了不同,知道了相似性,这个语言你就基本掌握了。至于一些特殊功能得函数,方法,类库,不需要去记忆,知道有,以后去查就可以了。
      我们学习程序,不能光知道怎么处理细节问题,也就是技巧问题,还应该学习如果使程序模块化,广域化,便于扩展,便于维护。这就是大局问题了。一昧追求算法,是研究某个功能,优化效率得做法,但这不能算一个成功得工程,工程是一个整体,就算你得某个核心算法天下第一,可是整体得结合,协调不稳定,那这工程一样是失败的。因此,研究领域的人们更关注算法,但工程领域的人们更倾向结构,架构。
      不论是算法还是架构,都是很专业的问题,属于点和面的范畴,缺一不可。有人看不起做工程的开发人员,觉得他们只是会范范的东西,没有真才实学,而有的人则看不起做算法的人员,认为他们是钻牛角尖,死读书。如果没有架构,算法只能没有效率的运行着,如果没有算法,架构也只能是空壳子。
     我说这些,无非是想说,学习程序,其实不仅仅是学“程序”这么简单,几千行几万行的命令就是程序?不是,至少不完全是。我们其实更应该用系统来描述程序。如果组织好我们的语言,如何避免模块间的耦合过密,如果用精简的语言完成一个操作或者功能,都是需要考虑的问题。只要多注意这些方面,你就会慢慢地发现自己越来越明白系统,明白做人,学会处理问题。
     说这么多废话。等待大家的板砖。:)
--
我说:你终于见到我了
  她说:你的样子和我在梦里见到的一样
  我说:你也是我的梦
  她说:是我们的梦
  我说:梦总会醒的
  她说:我们别让它醒
  
  
顶一下(427 写日记 886651 185076

 

 

留住已经逝去的峥嵘岁月 记住曾经绽现的万种风情 在记忆即将淡漠的时候 来把这些重新回味

Copyright (C) 2008-2014 www.juexiang.com, All Rights Reserved.

京ICP备2023001011号-3   京公网安备11010802011908号

客服QQ 1017160561 违法和不良信息举报电话 13148464312 邮箱 1017160561@qq.com