计算机技术的演进
2017- | 人工智能时代 | 人类的问题 |
---|---|---|
2008-2016 | 复杂信息系统时代 | 数据问题 |
1981-2008 | 网络和视窗时代 | 交互问题 |
1946-1981 | 计算机系统结构时代 | 计算能力问题 |
编程语言的多样性
编程语言,也是一个江湖!
Basic | C | C++ | C# |
---|---|---|---|
CSS | Fortran | Go | HTML |
Java | JavaScript | Lisp | Lua |
Matlab | Object-C | Pascal | Perl |
PHP | PostScript | Python | Ruby |
Scala | SQL | Swift | VBA |
VB.NET | Verilog | VHDL | Visual Basic |
…… |
编程语言的“初心”
各编程语言所处历史时期和使命不同,Python是计算时代演进的选择!
编程语言 | 学习内容 | 语言本质 | 解决问题 | 适用对象 |
---|---|---|---|---|
C | 指针、内存、数据类型 | 理解计算机系统结构 | 性能 | 计算机类专业 |
Java | 对象、跨平台、运行时 | 理解主客体关系 | 跨平台 | 软件类专业 |
C++ | 对象、多态、继承 | 理解主客体关系 | 大规模程序 | 计算机类专业 |
VB | 对象、按钮、文本框 | 理解交互逻辑 | 桌面应用 | 不确定 |
Python | 编程逻辑、第三方库 | 理解问题求解 | 各类问题 | 所有专业 |
Python 特点与优势
语法简洁:相同功能的程序,代码量约是C语言的 10%
生态高产:10万+ 的第三方库(轮子),每年成千上万的增加
Python 是最高产的程序设计语言及……
- 掌握抽象并求解计算问题综合能力的语言
- 了解产业界解决复杂计算问题方法的语言
- 享受利用编程将创新变为实现乐趣的语言
编程语言的种类
机器语言
- 一种二进制语言,直接使用二进制代码表达指令
- 计算机硬件(CPU)可以直接执行,与具体CPU型号有关
- 完成 2+3 功能的机器语言:
11010010 00111011
汇编语言
- 一种将二进制代码直接对应助记符的编程语言
- 汇编语言与CPU型号有关,程序不通用,需要汇编器转换
- 完成 2+3 功能的汇编语言:
add 2,3,result
高级语言
- 更接近自然语言,同时更容易描述计算问题
- 高级语言代码与具体CPU型号无关,编译后运行
- 完成 2+3 功能的高级语言:
result = 2 + 3
超级语言
- 具有庞大计算生态,可以很容易利用已有代码功能
- 编程思维不再是刀耕火种,而是集成开发
- 完成 2+3 功能的超级语言:
result = sum(2, 3)
编程语言的发展
超级语言 | 粘性整合已有程序,具备庞大计算生态 |
---|---|
高级语言 | 接近自然语言,编译器,与CPU型号无关 |
汇编语言 | 有助记符,汇编器,与CPU型号有关 |
机器语言 | 代码直接执行,与CPU型号有关 |