参考自(快速掌握一个语言最常用的50% :http://blog.youkuaiyun.com/myan/archive/2008/10/25/3144661.aspx),加入自己的理解。
1. 语言的基本数据类型,基本语法和元素构造的方法。值变量,引用变量,声明定义方法,作用域。条件分支,循环语句,是否有break,goto等语法。
2. 数组和其他集合类的用法。一维数组和多维数组的声明和遍历。下标允许的数据类型,起始下标。哈希表,键值对。
3. 简单字符串处理。查找,替换,Trim,正则表达式,和其他类型变量的转换方法。
4. 基本的面向对象或者函数是编程特征。继承,多态,接口,Lambda函数。
5. 基本的输入输出和文件处理,输入输出流类的组织。Create File/Append File,用输入输出做程序调试。
6. 异常,错误处理,断言,日志,常用到的IDE,调试工具,单元测试工具。
7. 回调方法的调用,如何支持事件驱动的编程模型。比如.Net的delegate,Java的anonymous。
8. 程序代码和可执行代码的组织机制,代码重用的方法(include,require,dll之类),运行时模块加载、符号查找的机制。比如Java,.Net多是编译为字节码,再执行。脚本语言通常直接运行源代码。在运行平台是是否有扩展库,使用库的方法。
9. 序列化和反序列化的缺省机制。(Opt.)
10. 扩展的正则表达式和XML的处理问题。(Opt.)
11. 线程、并发和异步调用机制。(Opt.)
12. 动态编程,反射和元数据编程。数据和程序之间转化机制。
13. 泛型的支持。(Opt.)
14. 语言较常用的特色。Ruby的block interator,Java的dynamic proxy,C# 的Linq和extension method.
15. 这门语言的惯用法和模式,可运行部分是如何启动的细则。Think in XXX
(Opt.)的意思是可选项,可根据是否使用再看。学完这些即可认为是基本掌握该门语言。之后根据需要是用来做数据库,网络还是图形寻找成熟框架或者库来学习,代码实验。