文章摘要: 程序语言作为计算机科学的核心要素,是人与计算机之间沟通的桥梁。它们为程序员提供了精确控制计算机行为的工具,从而简化了编程过程,使得解决复杂问题变得可能。
简介
简要说明
- 程序语言是一种形式化的符号系统。
- 用于描述计算机如何执行任务。
- 提供了一种与计算机交互的方式,使程序员能够精确地控制计算机的行为。
主要功能
- 编写程序:提供一种方式来编写指令,这些指令可以被计算机理解并执行。
- 数据操作:允许程序员定义、操作和处理数据。
- 算法实现:使程序员能够实现各种算法来解决特定问题。
- 系统控制:提供控制计算机硬件和软件行为的机制。
- 抽象表示:允许用更高级的概念来表示复杂操作,提高开发效率。
注意事项
- 语法规则:每种编程语言都有特定的语法规则,必须严格遵守,否则程序无法正确编译或运行。
- 性能考虑:不同的编程语言在执行效率上可能有很大差异,选择合适的语言需要考虑性能需求。
- 可维护性:编写易于理解和维护的代码是重要的,应遵循良好的编程实践和风格指南。
- 安全性:编程语言可能存在安全漏洞,需要采取措施来防止代码被恶意利用。
- 兼容性:程序可能需要在不同的操作系统或硬件平台上运行,语言的选择应考虑兼容性问题。
适用场景
- 系统编程:如C语言,适用于编写操作系统、驱动程序等底层系统软件。
- 应用软件开发:如Java、C#、Python,适用于开发桌面应用、网络应用和移动应用。
- 数据处理与分析:如R、Python,适用于统计分析和大数据处理。
- 网页开发:如JavaScript、HTML/CSS,适用于网页设计和前端开发。
- 移动应用开发:如Swift(iOS)、Kotlin(Android),专门用于开发移动平台的应用程序。
- 游戏开发:如C++、C#(使用Unity引擎),适用于高性能游戏开发。
注释
- 学习编程语言之前,首先要搞清楚「编程语言」这个概念。
- 我们也可以通过”语言“来控制计算机,让计算机为我们做事情,这样的语言就叫做编程语言(Programming Language)。
- 编程语言也有固定的格式和词汇,我们必须经过学习才会使用,才能控制计算机。
- 编程语言有很多种。
- 可以将不同的编程语言比喻成各国语言,为了表达同一个意思,可能使用不同的语句。(例如,表达“世界你好”的意思)
- 在编程语言中,同样的操作也可能使用不同的语句。(例如,在屏幕上显示“C语言中文网”)
- 编程语言类似于人类语言,由直观的词汇组成,我们很容易就能理解它的意思。
- 编程语言是用来控制计算机的一系列指令(Instruction),它有固定的格式和词汇(不同编程语言的格式和词汇不一样),必须遵守,否则就会出错,达不到我们的目的。
- 代码文件中具有特定含义的词汇、语句,按照特定的格式组织在一起,就构成了源代码(Source Code),也称源码或代码(Code)。
- 每个编程语言肯定规定了源代码中每个词汇、语句的含义,也规定了它们该如何组织在一起,这就是语法(Syntax)。它与我们学习英语时所说的“语法”类似,都规定了如何将特定的词汇和句子组织成能听懂的语言。
- 编写源代码的过程就叫做编程(Program)。从事编程工作的人叫程序员(Programmer)。
- (程序员也很幽默,喜欢自嘲,经常说自己的工作辛苦,地位低,像农民一样,所以称自己是”码农“,就是写代码的农民。也有人自嘲称是”程序猿“。)
注释
- 程序是为了模拟现实世界,解决现实问题而使用计算机语言编写的一系列有序的指令集合。
- 程序语言是现代计算的核心,它的发展不断推动着技术的进步。
- 掌握程序语言不仅仅是掌握一种技能,更是理解计算机科学基础的一种方式。随着技术的不断发展,程序语言及其相关领域将继续为我们提供无尽的机会和挑战。
基础知识
主要分类
按难易程度分类
- 机器语言:最底层的编程语言,它完全由二进制代码组成,直接对应于计算机的硬件指令。机器语言非常难以理解和编写,因为它要求程序员直接操作硬件层面的细节,如寄存器、内存地址等。
- 汇编语言:汇编语言相对于机器语言来说,是一种低级语言,但它使用助记符来代替二进制代码,这使得编程变得稍微容易一些。汇编语言与机器语言有一一对应的关系,每一条汇编语言指令通常对应一条机器语言指令。
- 高级语言:高级语言是更接近人类语言的编程语言,它们抽象了硬件细节,提供了更丰富的语法和库函数,使得编程变得更加容易和高效。
按执行方式分类
- 解释型:在运行时由解释器逐行或逐段地将源代码转换成机器码并执行。这种方式不需要预先编译成目标平台的机器码,因此可以快速地开发和测试,但执行效率通常不如编译型语言。
- 编译型:需要将源文件编译成平台相关的机器码文件,一次编译多次执行,执行效率高,不可跨平台。
- 编译+解释:首先将源代码编译成中间代码(Intermediate Code),然后在运行时由解释器或虚拟机(VM)执行中间代码。这种方式结合了编译型和解释型语言的特点,既可以提高执行效率,又保持了一定的跨平台能力。
基本组成
- 数据类型:定义了可以存储的数据种类(如整数、浮点数、字符、布尔值等)。
- 运算符号:对数据执行操作的符号(如加、减、乘、除等)。
- 控制结构:定义了程序如何执行(如顺序、选择和循环结构)。
- 函数/方法:封装了一段可重用的代码。
编程范式
注释
演进顺序
- 流程式 -> 命令式 -> 函数式 -> 面向对象 -> 面向接口 -> 逻辑式 -> 声明式
流程式
- 关注的是如何执行任务,强调的是步骤和算法。
命令式
- 偏向使用命令的方式,精确、个性化的执行。
- 程序由一系列指令组成,计算机严格按照指令顺序执行操作,强调"如何做"而非"做什么"。
函数式
- 偏向封装代码和重复使用,减少代码量。
- 关注的是不变性,强调的是纯函数和不可变性。
- 将一些多次使用的代码,封装到一个方法中调用。
面向对象
- 偏向代码分类和整合。
- 关注的是“事物”和它们之间的关系,强调的是对象和类。
- 以一个对象或事物为单位,单独封装到一个文件中来进行复用。
面向接口
- 偏向模块前期规划。
- 降低耦合度。
- 在实例化时,将使用实现类的接口作为数据类型,变的是实现类,但其数据数据类型是接口类型。
逻辑式
- 偏向交互和运行流程。
- 关注的是推理和知识表示,强调的是规则和推理。
声明式
- 偏向配置文件。
- 程序员只需描述程序的逻辑,而具体的执行步骤由系统自行决定。
- 例如:通过编写yaml配置文件,让程序读取从而得到不同的结果。
- 使用“注解”功能和语法进行编写代码。
重要概念与特性
- 语法与语义:语法定义了代码的结构,语义定义了代码的意义。
- 编译与解释:编译型语言(如C++)先编译成机器码执行;解释型语言(如Python)逐行翻译并执行。
- 静态与动态类型:静态类型语言(如Java)在编译时确定变量类型;动态类型语言(如Python)在运行时确定变量类型。
- 强类型与弱类型语言:强类型语言(如Python)不允许隐式类型转换;弱类型语言(如JavaScript)允许隐式转换。
字符集
详细总结:基础知识-字符集
转义字符
详细总结:基础知识-通用转义字符
正则表达式
详细总结:基础知识-正则表达式
专业术语
详细总结:基础知识-专业术语
规范
详细总结:基础知识-规范
脚本语言(通用)
Bash Shell
详细总结:Bash Shell
Power Shell
详细总结:Power Shell
脚本语言(特殊用途)
SQL
- 关系型数据库交互语言
详细总结:SQL
MML
- 人机语言(Man Machine Language,MML)用一系列命令实现维护终端的各种操作。
- 通信协议比较简单,有利于实现远程维护。缺点是用户需要记忆繁杂的命令,且输出结果均为纯字符,因此使用起来不如GUI方式直观和方便。 其中,MML接口也指人机访问接口,在电信通信业务中,也指营业支撑系统中的营业系统接口。
详细总结:Language-MML
梯形图语言(LD)
==待完善==
机构化文本语言(ST)
==待完善==
顺序功能流程图语言(SFC)
==待完善==
功能模块图(FBD)
==待完善==
指令表语言(IL)
==待完善==
编程语言
C++
==待完善==
Java
- 做项目开发
- 本博主当前专注整理JavaSE25版本,同时JDK使用的是OpenJDK,即开源版本的Java。
详细总结:Java
Python
详细总结:Python 3
JavaScript
详细总结:JavaScript
特殊格式语言
HTML
详细总结:HTML
CSS
详细总结:CSS
Markdown
详细总结:Markdown
LaTeX
详细总结:LaTeX
UML
详细总结:UML
XML
详细总结:XML
YAML
详细总结:YAML
JSON
详细总结:JSON
Properties
详细总结:Properties