我该学点什么,这是我遇到的最多的问题。通常我会做这样的回答。
启蒙:不要一开始就陷入哪个语言更好的苦恼当中。如果你是计算机相关专业的学生,你应该好好学习C/C++,因为它是计算机世界的英语。无数的技术书籍都以它为描述语言的。JAVA目前依然很火,是很好的就业语言。如果你实在无法决定,请考虑Python。
先练基本功:当你学完语法后,你会感觉,你所学到的东西跟开发软件压根不是一回事,指针、链表之类的怎么能变成像QQ,CS这样的软件呢?这时候,你需要学习系统编程。它会让你打开图形软件开发的世界。记住,不要过早地学习类库,框架之类的东西。这些往往掩盖了系统SDK的细节,而带着明显企业风格的封装。了解系统编程的细节是一个永无至境的过程,所以不要太过深入,这一阶段,浅尝即止,了解基本的结构,基本的框架。
外练筋骨皮:现在你可以尽可能多地接触计算机技术了,比如,网络技术,图形技术,数据库技术,WEB技术等等。尽可能多地了解计算机的技术分类,会让你以后在解决问题的有一个全局视野,考虑问题会比较全面。在这过程中,你可以开发一些小程序,小游戏、小的聊天室、小的MIS系统等。
内练精气神:在上一阶段的实践中,你会发现,当代码量达到一定程序时,你自己驾驭代码的能力有些不足了,代码量一大,自己就会很混乱,改一个错误会引发一百个错误。这时,你需要回头去学习你在学习C++时那些似懂非懂的面向对象,学习设计模式,学会用面向对象的方法去分析,去设计,去编码。不要理会别人对面向对象是否合理的争论。
逐成德品行:了解,并养成良好的软件开发习惯,是你在后一阶段需要注意的事情。你是否注意变量命名,代码格式这些细节的问题。你是否知道如何进行版本管理,你是否会对你的代码进行自动化的测试,你是否会重新设计一个月之前写的代码,你是否善于和别的程序员沟通,这些都将成为你面试时绝杀的技能。
黄勇 二〇一〇年于金陵 二〇一九年九月二十一日更新
http://blog.csdn.net/mgphuang