- 语言背景
查看一个语言流行状况:
http://www.tiobe.com/tiobe_index
关于语言的比较:
http://blog.youkuaiyun.com/ljy1988123/article/details/7782700
http://bbs.youkuaiyun.com/topics/370085349
- 学习语言
- 语法构造
入门一个编程语言,肯定是从语法结构开始的。
基本语法(变量、表达式、语句、函数、类等)、数据结构(数组、链表、字典等)。
- 明星API
下一个需要了解的就是一个语言的core library & std library(核心库和标准库),以及各种有用的API。
标准库:字符串、文件IO、网络编程、异常处理、系统。
第三方库:httplib、加解密、图形、算数、线程等,根据需要学习。
自己的库:这个是长期积累的过程,学会自己给自己做接口,做库。
- 编程思维
如果没有解决问题的思想方法,至少要知道分析和解决问题的思想,并且能够有效运用。
面向对象思想(封装、继承、多态等)、算法(排序等)、经验积累一些方法(投篮法、堆栈思维处理字符串、进制转换之类)、设计模式等。
- 学以致用
形成一个系统化的思维模式。
完成以下程序:实现各种排序算法、实现ls、cp等命令、实现ftp、web服务器、实现qq聊天室、网络爬虫等。
- 深化提高
去读一下标注库/核心库的实现吧。
通过经典代码让自己不断学会程序之美。
- 学习方法
学基础、写代码、坚持、有计划。独立完成完整的项目!
- 时间计划
基本语法:8小时
数据结构:24小时
明星API:每个模块,大约1天学习时间。
编程思维:长期学习,面向对象和设计模式、算法是不断认知不断理解的东西。
项目:自己根据情况安排。
- 学习资源
视频资源:网易云、51 CTO。
电子书:社区、官网、权威指南。
题:https://www.hackerrank.com/dashboard