前面先说一段引子和提外话:
之前吐槽了一片博文,核心思想是:学习计算机编程的初学者必须从当时的主流语言开始学习。顺带叫嚣2012年了,初学者再也不要从C/C++开始学习编程。
如果仅仅为了学习流程控制语句(if,switch,for,while),没有什么是C能做而.net和Java不能做的。
==引子结束==
今天具体谈谈我自己想象中的一个小白的理想成长路经。不估算具体时间,因为学习速度因人而异。只是想罗列下我自己认为的一个通用程序员从小白开始怎样学习。
==阶段1==
1. 选择Java、.net或PHP(额外选项,如果是前台小白)中一个作为开始,选哪个好天知道
2. 完成Hello world(运行环境搭建,不用懂搭建过程中的任何概念与知识。只要能熟练操作步骤,并能正常编译运行)
3. (后台同学可以不着急学)HTML基础 + CSS基础 + DOM + Javascript(包括JQuery) + JSON + XML入门基础
4. 学习面向对象编程 + 设计模式 + 基础流程控制语句 + 基本内建数据类型
5. 单元测试框架 + Mock框架 + 源码管理 + IoC框架
6. 数据库基础,增删改查
阶段一结束,背点面试宝典,出去忽悠吧,或者等学了点算法再去。
反正做苦力可能还是有人要的。
==阶段2==
7. 算法 +数据结构
8. 根据实际需要,全面展开网页或者Winform(后台可以此时学习item 3的基础网页知识)
9. 特定语言的常用类库(工具,网络,IO,线程)
10. 数据库高级(视图,存储过程,复杂表连接)
11. (后台同学爱学学,就怕时间精力不够)浏览器兼容性,HTML+CSS高级功能,HTML5特性
12. (后台同学爱学学,就怕时间精力不够)PhotoShop等专业软件
条目不多,因为我也想不清楚。反正能学一遍这些东西了,team里面混混日子还是可以的。
==阶段3==
10. 设计模式高级
11. 面向对象分析与设计
12. 软件测试理论(着重自动化单元测试,UC->TC分析)
13. 软件开发流程理论
14. 软件及数据库性能调优
基本可以做个小leader了。要更上层楼,则需要更多的经验积累。
以及接触更多项目部署、配置等等的需要在实际项目中逐渐掌握的能力。
==阶段4==
14. 在某个特定domain里面成为专家。比如做财务系统做成注册会计师,做物业系统做成高级物业师。反正在一些专门业务领域搞得比客户都熟,都专业。
其实这4个阶段就是
会编程
技术的基础
业务智能
总之,没看到里面哪里必须要用C/C++的,或者这个前置条件会带来多大好处的。
其中学算法完全可以用Java,C#,Javascript来完成。
出处:http://www.cnblogs.com/Chinese-xu/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接。
如有问题,可以通过 Chinese_Xu@126.com 联系我,非常感谢。