个人理解,开发一个软件必需了解或掌握以下方面:
1. 语言(如c/c++,java;面向对象,面向过程等)
是否掌握开发语言,关系到能否从事开发。而掌握语言的程度,直接影响开发的质量。
2. 算法
算法除了影响程序的运行效率,还可能在关键时候决定开发能否继续(算法是解决问题的步骤集合,连步骤都没有就不用开发了)。
3. 运行平台或运行环境(如windows,linux,symbian等)
平台或环境特性影响开发语言,也可能影响到架构设计。它将直接影响你的开发量,开发效率,及能否开发等相关问题。
4. 架构设计
架构设计主要影响开发量,开发效率,开发质量。好的架构设计可以使程序更俱可维护性,可阅读性。
由于平台或运行环境未来将会是多变的,我的学习方式应该为1、2、4、3。