由于是学通信的,不管在学校还是工作,都一直在与通信网络、设备打交道,对于计算机尤其是计算机编程都是纯属个人爱好,这方面多年摸打滚爬,根据工作需要学些软件工程、编程技术,但应用仅限于文本处理、数据库、串口通信、WEB网络办公等几个方面,对编程语言和开发工具的掌握也都是现学现卖,没有一个精通的,鉴于此,准备选定几个目标,潜心修炼,逐个击破。
至于学习的过程会记录在此网站,一来便于自己将来翻阅,同时也可以给同道中人提供参考。暂定修炼路线:
1、Windows桌面应用:C语言==》C++语言==》SDK==》MFC;工具就选择古董一点的VC6.0吧;
2、WindowsWeb应用:C#语言=》.NET FRAMEWORK;工具就选择VS2010吧;
修炼主要依靠读书和实践,书籍的选择至关重要,以前走了很多弯路也就是因为看了太多的垃圾书籍,关于书籍的选择,到网上搜一下计算机经典书籍,结果很雷同,就从里面选择好了。
下述一段转自我的新浪博客
写给准备学习编程或正准备学习编程的兄弟们
(2008-03-11 21:42:48)
算起来接触计算机已有10个年头,真正开始学习编程也有六七年了,虽然不是以编程为职业,但毕竟是个人兴趣爱好,经过这么多年的摸索以及自身经历,多少总结了点经验,介绍给准备学习编程以及刚开始学习编程的战友们,希望能让你们少走些弯路。由于我做的软件大多基于WINDOWS操作系统,所以在今后介绍各类编程工具和具体案例源代码的时候所列举的例子都是基于微软的操作系统。
首先说说编程思想,不管你想做哪类软件,都离不开基本的编程思想,它是一切软件的灵魂,是架构软件的基础。就如人们所说的语言一样,计算机语言用来指挥机器做具体的工作,不管是自上而下的方法,还是判断、循环等都属于思想范畴,由此引申的具体技术有面向过程和面向对象等。个人认为,要想更好的深入理解编程,先要打好计算机基础,推荐的书籍有:微机及其接口技术、操作系统、数据结构和一门具体的语言,以便帮助理解计算机语言的实现过程。当然,数学基础是少不了的,如果是面向计算型的应用软件开发更要有坚实的数学基础。
其次说说编程工具,当你对计算机编程有了初步的认识之后,可以根据自身所在行业以及需要开发的软件类型来有针对性的选择编程工具,开发数据库类的应用可选择DELPHI、PL/SQL,开发WEB应用的可选择ASP或者ASP.NET,底层驱动或者嵌入式开发可选择C,对加解密有兴趣的朋友可选择汇编(推荐用《Windows环境下32位汇编语言程序设计》来入手,这是国内编著的为数不多的好计算机书籍之一)。不管是选择那种工具,都要对操作系统有全面了解,DOS时代的程序员都知道对系统的调用通过int指令,属单任务系统,WINDOWS时代用的是API,是多任务系统,无论你采用什么工具,使用什么语言,想对操作系统操作都离不开API,WINDOWS系统采用消息机制来处理各种事件。必看的书籍:WINDOWS程序设计(第五版)。
最后谈一下编码规范,任何一个好的程序员都肯定有一个良好的编码习惯,统一规范不仅会使你的程序清晰易懂,在团队合作时的作用更是明显,能够便于交流和移交。以后我会挑一些认为不错的规范发上来。
忘了说最重要的一点,那就是软件开发的目的,不管你想开发什么软件,首先要以需求为导向,把用户的需求放在第一位,根据调研的结果设计出系统框架,定义每个子模块,再逐步转化为代码,千万别自以为是的偏离主题,加那些自认为有特点、新技术,但并不实用的东西。这方面最好先学习一下软件工程这门课程。
总觉得时间不够用,可能压力太大的缘故,所以上述4个问题只写了概况,展开说的话内容太多太多,今天就写到这里吧,本人不是职业选手,有写的不对的地方请众位高手们批评指正。