今天这个时代,有幸成为了一名程序员,混it界,就如武侠里的一名习武之人,行走江湖一样。要想在江湖中立足,不轻易被别人干掉,武功就得过得去。什么是过得去的武功呢?
1.首先得有一件称手的兵器,熟悉一门编程语言。如c\c++,怎么才叫熟悉了呢,以c为例,应该熟练内存操作,字符串操作等。
2.更主要的是内功修为:计算机专业的两门基础课程《数据结构》和《离散数学》,掌握的要牢,领悟得要深。数据结构已经被公认为程序设计的基石。更有大师说过“程序=数据结构+算法”。但我想说离散数学更加重要。无论计算机科学本身,还是与计算机科学及其应用密切相关的现代科学研究领域,都面临着如何对离散结构建立相应的数学模型;又如何将已用连续数量关系建立起来的数学模型离散化,从而可由计算机加以处理的问题。离散数学里面讲述的就是这些基本知识和思维方法。离散数学中的集合论讲述的是离散元素的集合,关系论讲的是集合里元素的关系。组合论研究计数,函数论帮助我们推理归纳。离散数学中集合中的元素一般是以简单数据类型为例,但是真正的程序都是和业务逻辑相关,集合中的每个元素都是由简单数据类型复合而成的反映业务逻辑的复合对象。这些复合对象需要我们去提炼,程序中到处都存在着这些对象。想想我们写过的程序,看过的程序是不是这样。比如一个GUI应用程序中的每一个类型的窗口都是一个元素,它们有的透明,有的隐藏,按Z序排列,这个集合就是窗口句柄(Handle)的集合。
3.另外要通晓各派武功,熟悉各种常用技术,多线程,回调,gui编程,Win32Gdi,socket编程,数据库技术,驱动开发,com组件,图象视频编程......,总之多多益善。
4.最后一点也很重要,就是实战演练。武侠世界就是找人切磋,程序人生就是上面三点的多加运用,多思考,多写程序。实战演练需要机会,自我提高的快不快,除了自身的努力之外,外因也很主要,所在的公司是否能提供一些新的需求来练手。一些不断创新,不断推出新产品的公司就是很好的选择,而一些技术含量低,多是一些简单劳动的外包公司就很难提供这些环境。
很多人认为Coding是简单劳动,真正的高手都做系统架构。持这种看法的人想必和我谈的coding不是一回事,认为是简单劳动的coding是指那些按照流程图写代码或者拷贝粘贴一些按钮菜单之类代码编写简单界面的工作。我所说的Coding指的是,根据需求,分析业务逻辑,产生想法,最后产出代码。
有的人认为我就只做分析业务逻辑,产生想法就可以了,编码的事可以让程序员去做,这样做的前提是,你是一路走过来的。
最后,本人也只是一个初闯江湖的毛头小子,武功修为尚浅。此处的胡言乱语,请勿见笑。
本文出自 “沙鸥-专注于网络信息采集” 博客,请务必保留此出处http://freebird.blog.51cto.com/372076/87305
ps:建议注意下排版撒,这样就是享受啦。