深蓝一生 发表于 2017/3/15 10:27

程序员是如何练成的?

下面我们一起看看,程序员从菜鸟到高手该进阶的三个阶段。
启蒙入门
1、从从学习简单的脚本语言(例如Python/Ruby)入门
脚本语言使用方便了,很多时候可以使用脚本语言写点小工具或是脚本来帮我们解决问题,可以让你摆脱对底层语言的恐惧感,脚本语言可以让你很快开发出能用得上的小程序。
2、用熟一种程序员的编辑器和一些基本工具
使用编辑器可以提高在查看、修改代码/配置文章/日志的效率,这里所说的程序员的编辑器不是专门用于大型软件开发的IDE工具,而是那些小而美的文本编辑器(Vim / Emacs / Notepad++),这些工具简单易用,而且提供写代码必用的功能:代码补全,外观,外部命令等。
3、熟悉Unix/Linux Shell和常见的命令行
对于程序员来说Unix/Linux比Windows简单多了,学会使用Unix/Linux你会发现图形界面在某些时候实在是太难用了,相当地相当地降低工作效率。如果你用windows,至少学会用虚拟机里的linux, 使用vmware player或是VirtualBox装个Ubuntu吧,这些都是免费的!
4、学习Web基础(HTML/CSS/JS) + 服务器端技术 (LAMP)
现在已经是互联网+时代了,掌握WEB开发技术,是程序猿的必须get的技能。这类资料网上很多,也是很容易获得的。
进阶加深
1、C语言和操作系统调用
学校C语言重点要理解指针和内存模型,用C语言实现一下各种经典的算法和数据结构。推荐《计算机程序设计艺术》、《算法导论》和《编程珠玑》。同时要学习Unix/Linux系统调用(Linux高级环境编程),了解系统层面的东西。
2、学习Java
了解一下Java这种虚拟机语言和C和Python语言在编译和执行上的差别。从C、Java、Python思考一下“跨平台”这种技术。学会使用IDE Eclipse,使用Eclipse 编译,调试和开发Java程序。然后就是实践,建一个Tomcat的网站,尝试一下JSP/Servlet/JDBC/MySQL的Web开发。
3、Web的安全与架构
在这个领域我们要学习HTML5、Web开发的安全问题、HTTP Server的rewrite机制,Nginx的反向代理机制,fast-cgi(如:PHP-FPM),Web的静态页面缓存技术Web的异步工作流处理,数据Cache,数据分区,负载均衡,水平扩展的构架等技术。
4、学习关系型数据库
最直接有效的方式就是安装一个MySQL来折腾,把数据库中的存过,触发器,视图,建索引,游标等这些常用的技术都实践一遍。
高级深入
1、C++ / Java 和面向对象
“面向对象、面向对象、面向对象”重要的事情要说三遍,在软件的高级开发中,这是基本也是最难掌握的。C++和Java都不是能在短时间内能学好的,C++玩是的深,Java玩的是广,我建议两者选一个来主攻。学习C++就要深入再深入的学习,学习Java的各种设计模式。
2、加强系统了解
《Unix编程艺术》了解Unix系统领域中的设计和开发哲学、思想文化体系、原则与经验。你一定会有一种醍醐灌顶的感觉。
《Unix网络编程卷1,套接字》这是一本看完你就明白网络编程的书。
《TCP/IP详解 卷1:协议》- 这是一本看完后你就可以当网络黑客的书。
3、系统架构
负载均衡,多层分布式系统,CDN系统,P2P式系统,服务器备份,虚拟化技术,NOSQL数据技术等,这些就是你通向高手之路的制高点,攻克他们就会有一览众山小的感觉了!
    西安华育软件实训中心针对Java软件开发知识零基础或想要转行做互联网开发的人员,制定适用于你们的学习课程体系,因材施教,高薪就业,为你实现职场转型,为你从事IT开发工作提供平台。项目经理会带给你实战项目经验,让你在4个月学到真正对接企业用人需求的软件开发技术,从而真正掌握自己的命运,你的薪资,你做主!
页: [1]
查看完整版本: 程序员是如何练成的?