Free Hit Counters
http://www.dellasdeals.com

[入门]理想的小白程序员成长曲线

前面先说一段引子和提外话:

之前吐槽了一片博文,核心思想是:学习计算机编程的初学者必须从当时的主流语言开始学习。顺带叫嚣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来完成。

 

posted @ 2012-08-20 13:02  徐少侠  阅读(1230)  评论(0编辑  收藏  举报
作者:徐少侠 出处:http://www.cnblogs.com/Chinese-xu/

本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,如有问题,可以通过 Chinese_Xu@126.com 联系我,非常感谢。