对一门语言学习哪些地方 -- 总结几门编程语言有感

来源:互联网 发布:python combination 编辑:程序博客网 时间:2024/05/07 11:33

下面简单罗列了一共5门编程语言(Java、C++、Python、Perl、Lua)的基本知识要点,进而对“学习一门新的编程语言时会去学习哪些地方”做了一些探讨和预测。


Java
1. 基本数据类型、流程控制语句
2. 包
3. 类、接口、继承、多态
4. 反射
5. 多线程
6. 数据库(JDBC)
7. 网络通信
8. Swing、AWT
9. 杂项:
   1) 数组
   2) 字符串处理
   3) 数字处理类
   4) 集合类(Collection、List、Set、Map)
   5) 包装类(Integer、Boolean、Byte、Character、Double、Number)
   6) I/O (Stream, File, FileInputStream, FileOutputStream, BufferedInputStream, BufferedOutputStream, BufferedReader, BufferedWriter, etc.)
   7) Exceptions, Assertions, Logging, Debugging
   8) Generic Programming(泛型编程)
   9) 其他:JavaBeans、Security、Distributed Objects、Native Methods
   
---------------------------------------------------------------------------------
   
C++
1. 基本数据类型、表达式、流程控制语句、指针
2. 函数、域和生命周期、名字空间
3. 类、操作符重载、继承、多继承、虚拟继承
4. STL
   比如:
   1) 抽象类型容器(vector、迭代器、string、map、set、multimap、multiset、iStack、etc.)
   2) 泛型算法(查找、排序、删除和替换、排列组合、关系算法、集合算法、堆算法、etc.)
5. 杂项:
   1) 异常处理
   2) iostream
   3) 函数模板,类模板
   
-------------------------------------------------------------------------------------


Python
1. 操作符、基本数据类型和数据结构(变量、字符串、数字、列表、元组、字典)、流程控制语句
2. 函数 和 函数式编程
3. 模块
4. 类
5. 网络通信
6. 数据库
7. 图形界面(GUI)
8. Web编程
9. 杂项:
   1) 文件操作
   2) 错误和异常
   3) 执行环境
   4) 正则表达式
   5) 多线程
   
------------------------------------------------------------------------------------


Perl
1. 操作符、流程控制语句、函数
2. 正则表达式
3. 引用
4. 数据结构:数组、Hash
5. 包、模块
6. 类、重载、绑定变量
7. 杂项:
   1) unicode
   2) 进程间通信
   3) 多线程
   
----------------------------------------------------------------------------------


Lua
1. 表达式、基本类型、基本数据结构(table)、流程控制语句
2. 函数、闭包
3. 包 与 模块
4. 正则表达式
5. 类(模拟:元表、元方法)
6. 协程(coroutine)
7. 与 C/C++ 相互的调用
6. 杂项:
   1) 字符串处理
   2) 迭代器、泛型for
   3) 数学库、IO库(文件处理)、操作系统库、table库


----------------------------------------------------------------------------------


共性(即学一门编程语言一般会去学些什么):
1. 操作符、基本数据类型、流程控制语句、函数
2. 基本都支持类


3. 一般都支持如下杂项:
   1) 文件操作、流操作
   2) 异常处理
   3) 字符串处理
   4) 正则表达式
   5) 集合类(如C++的STL的容器、Java的集合类(Collection、List、Set、Map)、Python的集合类(如collection等)等)


4. 一般稍强些的语言支持如下的系统编程的特性:
   1) 网络通信
   2) 数据库编程
   3) 多线程
   4) 图形界面


特性(即编程语言从语法角度来说自身的特点):
1. 数据结构的表示在各个编程语言中各不相同。
   比如,Python中有列表、元组、字典以及各种库中的类(如Collection)等,Perl主要是数组和Hash,C++主要是自定义struct,而Java也主要靠其库中的类。
2. 对于包和模块的概念,略有不同
3. 对面向对象支持的强度不同
4. 是否支持函数式编程

0 0
原创粉丝点击