WWH学习方法,即“什么(What)”、“为什么(Why)”、“如何(How)”的方法,可以帮助我们结构化地思考和学习编程语言。接下来我们就以该方法来初识编程语言。
1. 什么是编程语言(What)
软件是由程序员使用编程语言开发出来的一大堆代码的集合。全球的编程语言有2500+种,常见的编程语言包括:Java、C#、C++、Python、PHP等。
编程语言的本质就是一种语言,语言是一种事物与另一种事物沟通的表达方式或工具。编程语言是人与计算机之间的桥梁,使得人类能够用一种结构化和可理解的方式向计算机发出指令和请求,从而实现人与计算机之间的相互交流。
- 编程:将人想让计算机执行的事情,以及自己的思维逻辑,用编程语言表达出来。
- 编程的目的:让计算机按照人类的思维逻辑去工作,从而解放人力。
人-------------- 人类的语言 ------------>人
人-------------- 编程语言 ------------->计算机
基本特征
- 语法和语义:每种编程语言都有特定的语法(如何写)和语义(意义)。
- 数据结构:编程语言提供了多种数据结构(如数组、列表、字典),用于存储和组织数据。
- 控制结构:编程语言允许使用条件语句(如if语句)、循环(如for、while循环)等控制程序的执行流程。
总结
编程语言是一种用于向计算机发出指令的语言,它提供了一组规则和语法,使得程序员能够编写程序来执行特定的任务。编程语言主要有机器语言、汇编语言和高级语言。学习编程语言的本质是学习它的语法,并根据语法编写对应的功能。高级语言更接近人类的自然语言,更容易理解和使用。
2. 为什么学习编程语言(Why)
学习编程语言有许多好处,主要包括:
- 解决问题的能力:编程培养了逻辑思维和问题解决能力,让你能够分析问题并找到解决方案。
- 职业机会:在当今数字化时代,编程技能在许多行业中都非常受欢迎,能够为你提供更多的职业机会。
- 创造力和创新:编程允许你创造新的应用、网站、游戏等,激发你的创造力。
- 理解技术:学习编程可以帮助你更好地理解计算机及其工作原理,增强你的技术素养。
- 跨学科应用:编程技能可以应用于科学、艺术、商业等多个领域,帮助你在不同的学科中取得成功。
3. 如何学习编程语言(How)
学习编程语言可以遵循以下步骤:
-
选择一门编程语言:根据你的兴趣和目标选择一门编程语言。Python 是一个很好的入门语言,因为它简单易学,应用广泛。
-
寻找学习资源:
- 在线课程:如Coursera、edX、Codecademy等平台提供的编程课程。
- 书籍:阅读相关书籍,如《Python编程:从入门到实践》。
- 视频教程:YouTube上有许多优质的编程教学视频。
-
动手实践:编程是一个实践性很强的技能。通过写代码来巩固知识,尝试完成一些小项目或练习题。
-
参与社区:加入编程社区(如Stack Overflow、GitHub、编程论坛等),与其他学习者和专业人士交流,获取帮助和反馈。
-
做项目:选择一些实际项目进行练习,比如开发一个简单的网站、制作一个小游戏或编写一个小工具,通过项目来提升自己的技能。
-
持续学习:编程语言和技术不断发展,保持学习的热情,及时更新自己的知识,了解新的编程语言、框架和工具。
4.编程语言的分类(低级语言与高级语言)
编程语言分为低级语言和高级语言。
4.1 低级语言
低级语言主要包括机器语言和汇编语言,都是面向机器的语言,不同机器是不能通用的,不同的机器需要不同的机器指令或者汇编程序。
4.1.1 机器语言
机器语言是一种指令集的体系,它是用二进制代码表示的语言,是计算机唯一可以识别和执行的语言。它具有计算机可以直接执行、运算速度快等优点,但直观性差,非常容易出错,程序的检查和调试都比较困难。
-
特征:
- 由一定位数的二进制的0和1组成的序列,也称为机器指令。
- 机器指令的集合就是机器语言。
- 与自然语言差异太大,难学、难懂、难写、难记、难查错。
4.1.2 汇编语言
汇编语言是面向机器的程序设计语言,旨在解决机器语言难以记忆与理解的缺点。它用易于记忆与理解的名称与符号来表示机器指令中的操作码。这些符号代替机器语言的二进制码,从而将机器语言变为汇编语言。但计算机的硬件不认识字母符号,这时候就需要一个专门的程序将这些字符转换成计算机能够识别的二进制数。汇编语言并没有根本上解决机器语言的特定性。
-
特征:
- 用助记符号替代机器指令,称为汇编语言。
- 例如,
ADD A, B
指的是将寄存器A的数与寄存器B的数相加,并将结果放到寄存器A中。 - 汇编语言程序需要通过汇编程序转换成机器指令。
- 汇编语言相对机器语言更易记,但仍然接近机器指令。
4.2 高级语言
高级语言为用户提供了一种既接近自然语言,又可以使用数学表达式的编程方式,并且相对独立于机器。机器不能直接执行用高级语言编写的程序。高级语言并不是特指某一种具体的语言,而是包括很多编程语言,分为编译型与解释型。
-
特征:
- 接近自然语言和数学语言的计算机语言。
- 高级语言首先要书写源程序,通过编译程序将源程序转换成机器指令。
- 1954年正式发布的Fortran语言是最早的高级语言,本意是“公式翻译”。
- 用户只需关心如何书写源程序,编译的事情由编译器处理。
4.3 三种语言对比
比较项 | 机器语言 | 汇编语言 | 高级语言 |
---|---|---|---|
执行效率 | 高 | 中 | 低 |
开发效率 | 低 | 中 | 高 |
5 高级语言的分类(编译型 解释型)
由于计算机不能理解高级语言,更不能直接执行高级语言,高级语言编写的程序要想被计算机运行,必须将其转化为机器语言,转换方式主要有两种:编译和解释。
5.1 编译型
编译型语言使用特定的编译器,针对特定的平台,将高级语言的源码一次性编译成可被执行的机器码,并将其包装成能被该平台识别的可执行程序格式。在编译型语言写的程序执行之前,需要一个专门的编译过程,将源代码编译成机器语言文件,之后再运行时直接使用编译的结果。编译型语言执行效率高,但修改代码时需要重新编译。
5.2 解释型
解释型语言使用专门的解释器对源代码逐行解释成机器码并立即执行。代码在执行时才被解释器逐行解释和执行,而不是在执行之前完成解释。解释型语言不需要先编译,它直接将源代码解释成机器码并立即执行,只要平台提供了相应的解释器即可运行程序。
5.3 编译型与解释型对比
比较项 | 编译型 | 解释型 |
---|---|---|
运行效率 | 高 | 低 |
开发效率 | 低 | 高 |
可移植性 | 差 | 高 |
-
运行效率:
- 编译型语言一次性将源代码编译成机器语言文件,运行时脱离开发环境,效率高。
- 解释型语言逐行将源代码解释并执行,效率较低。
-
开发效率:
- 编译型语言修改后需重新编译,开发效率低。
- 解释型语言逐行解释,修改时只需修改源代码,开发效率高。
-
可移植性:
- 编译型语言需针对特定平台编译,移植性差。
- 解释型语言只需有对应的解释器即可,移植性高。
Comments NOTHING