当前位置:网站首页>通俗地理解什么是编程语言
通俗地理解什么是编程语言
2022-07-06 09:25:00 【编程小鱼六六六】
学习编程语言之前,首先要搞清楚“编程语言”这个概念。
很小的时候,父母就教我们开口说话,也教我们如何理解别人讲话的意思。经过长时间的熏陶和自我学习,我们竟然在不知不觉中学会了说话,同时也能听懂其他小朋友说话的意思了,我们开始向父母要零花钱买零食和玩具、被欺负了向父母倾诉……
我们说的是汉语,是“中国语言”,只要把我们的需求告诉父母,父母就会满足,我们用“中国语言”来控制父母,让父母做我们喜欢的事情。
“中国语言”有固定的格式,每个汉字代表的意思不同,我们必须正确的表达,父母才能理解我们的意思。例如让父母给我们10元零花钱,我们会说“妈妈给我10块钱吧,我要买小汽车”。如果我们说“10元给我汽车小零花钱妈妈”,或者“妈妈给我10亿人民币,我要买F-22”,妈妈就会觉得奇怪,听不懂我们的意思,或者理解错误,责备我们。
我们通过有固定格式和固定词汇的“语言”来控制他人,让他人为我们做事情。语言有很多种,包括汉语、英语、法语、韩语等,虽然他们的词汇和格式都不一样,但是可以达到同样的目的,我们可以选择任意一种语言去控制他人。
同样,我们也可以通过”语言“来控制计算机,让计算机为我们做事情,这样的语言就叫做编程语言(Programming Language)。
编程语言也有固定的格式和词汇,我们必须经过学习才会使用,才能控制计算机。
编程语言有很多种,常用的有C语言、C++、Java、C#、Python、PHP、JavaScript、Go语言、Objective-C、Swift、汇编语言等,每种语言都有自己擅长的方面,例如:
编程语言 | 主要用途 |
---|---|
C/C++ | C++ 是在C语言的基础上发展起来的,C++ 包含了C语言的所有内容,C语言是C++的一个部分,它们往往混合在一起使用,所以统称为 C/C++。C/C++主要用于PC软件开发、Linux开发、游戏开发、单片机和嵌入式系统。 |
Java | Java 是一门通用型的语言,可以用于网站后台开发、Android 开发、PC软件开发,近年来又涉足了大数据领域(归功于 Hadoop 框架的流行)。 |
C# | C# 是微软开发的用来对抗 Java 的一门语言,实现机制和 Java 类似,不过 C# 显然失败了,目前主要用于 Windows 平台的软件开发,以及少量的网站后台开发。 |
Python | Python 也是一门通用型的语言,主要用于系统运维、网站后台开发、数据分析、人工智能、云计算等领域,近年来势头强劲,增长非常快。 |
PHP | PHP 是一门专用型的语言,主要用来开发网站后台程序。 |
JavaScript | JavaScript 最初只能用于网站前端开发,而且是前端开发的唯一语言,没有可替代性。近年来由于 Node.js 的流行,JavaScript 在网站后台开发中也占有了一席之地,并且在迅速增长。 |
Go语言 | Go语言是 2009 年由 Google 发布的一款编程语言,成长非常迅速,在国内外已经有大量的应用。Go 语言主要用于服务器端的编程,对 C/C++、Java 都形成了不小的挑战。 |
Objective-C Swift | Objective-C 和 Swift 都只能用于苹果产品的开发,包括 Mac、MacBook、iPhone、iPad、iWatch 等。 |
汇编语言 | 汇编语言是计算机发展初期的一门语言,它的执行效率非常高,但是开发效率非常低,所以在常见的应用程序开发中不会使用汇编语言,只有在对效率和实时性要求极高的关键模块才会考虑汇编语言,例如操作系统内核、驱动、仪器仪表、工业控制等。 |
可以将不同的编程语言比喻成各国语言,为了表达同一个意思,可能使用不同的语句。例如,表达“世界你好”的意思:
- 汉语:世界你好;
- 英语:Hello World
- 法语:Bonjour tout le monde
在编程语言中,同样的操作也可能使用不同的语句。例如,在屏幕上显示“C语言中文网”:
- C语言:puts("C语言中文网");
- PHP:echo "C语言中文网";
- Java:System.out.println("C语言中文网");
编程语言类似于人类语言,由直观的词汇组成,我们很容易就能理解它的意思,例如在C语言中,我们使用 puts
这个词让计算机在屏幕上显示出文字;puts 是 output string(输出字符串)的缩写。
使用 puts 在屏幕上显示“C语言中文网”:
puts("C语言中文网");
我们把要显示的内容放在("
和")
之间,并且在最后要有;
。你必须要这样写,这是固定的格式。
总结:编程语言是用来控制计算机的一系列指令(Instruction),它有固定的格式和词汇(不同编程语言的格式和词汇不一样),必须遵守,否则就会出错,达不到我们的目的。
C语言(C Language)是编程语言的一种,学习C语言,主要是学习它的格式和词汇。下面是一个C语言的完整例子,它会让计算机在屏幕上显示”C语言中文网“。
这个例子主要演示C语言的一些固有格式和词汇,看不懂的读者不必深究,也不必问为什么是这样,后续我们会逐步给大家讲解。
#include <stdio.h>
int main(){
puts("C语言中文网");
return 0;
}
这些具有特定含义的词汇、语句,按照特定的格式组织在一起,就构成了源代码(Source Code),也称源码或代码(Code)。
那么,C语言肯定规定了源代码中每个词汇、语句的含义,也规定了它们该如何组织在一起,这就是语法(Syntax)。它与我们学习英语时所说的“语法”类似,都规定了如何将特定的词汇和句子组织成能听懂的语言。
编写源代码的过程就叫做编程(Program)。从事编程工作的人叫程序员(Programmer)。程序员也很幽默,喜欢自嘲,经常说自己的工作辛苦,地位低,像农民一样,所以称自己是”码农“,就是写代码的农民。也有人自嘲称是”程序猿“。
边栏推荐
- 学习记录:串口通信和遇到的错误解决方法
- Intensive learning notes: Sutton book Chapter III exercise explanation (ex17~ex29)
- 力扣刷题记录
- Word macro operation: convert the automatic number in the document into editable text type
- Learning record: USART serial communication
- Example 071 simulates a vending machine, designs a program of the vending machine, runs the program, prompts the user, enters the options to be selected, and prompts the selected content after the use
- Learning record: use STM32 external input interrupt
- ArrayList set
- Crawler series (9): item+pipeline data storage
- Research Report on medical toilet industry - market status analysis and development prospect forecast
猜你喜欢
Your wechat nickname may be betraying you
JS --- BOM details of JS (V)
Learning record: USART serial communication
Interview answering skills for software testing
ucorelab4
How to build a nail robot that can automatically reply
Winter vacation daily question - maximum number of balloons
How to do agile testing in automated testing?
毕业才知道IT专业大学生毕业前必做的1010件事
ucorelab4
随机推荐
Winter vacation daily question - maximum number of balloons
STM32 learning record: input capture application
What are the software testing methods? Show you something different
学习记录:串口通信和遇到的错误解决方法
Do you know the advantages and disadvantages of several open source automated testing frameworks?
力扣刷题记录
What to do when programmers don't modify bugs? I teach you
What if software testing is too busy to study?
cs零基础入门学习记录
What are the commonly used SQL statements in software testing?
Learning record: Tim - Basic timer
線程及線程池
Cost accounting [23]
Mysql database (I)
Contest3145 - the 37th game of 2021 freshman individual training match_ A: Prizes
Leetcode notes - dynamic planning -day7
Do you know the performance testing terms to be asked in the software testing interview?
Learning record: use STM32 external input interrupt
China chart recorder market trend report, technology dynamic innovation and market forecast
Cost accounting [21]