学习编程语言之前,首先要搞清楚「编程语言」这个概念。

很小的时候,父母就教我们开口说话,也教我们如何理解别人讲话的意思。经过长时间的熏陶和自我学习,我们竟然在不知不觉中学会了说话,同时也能听懂其他小朋友说话的意思了,我们开始向父母要零花钱买零食和玩具、被欺负了向父母倾诉……

我们说的是汉语,是“中国语言”,只要把我们的需求告诉父母,父母就会满足,我们用“中国语言”来控制父母,让父母做我们喜欢的事情。

“中国语言”有固定的格式,每个汉字代表的意思不同,我们必须正确的表达,父母才能理解我们的意思。例如让父母给我们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)。程序员也很幽默,喜欢自嘲,经常说自己的工作辛苦,地位低,像农民一样,所以称自己是”码农“,就是写代码的农民。也有人自嘲称是”程序猿“。

通俗地理解什么是编程语言相关推荐

  1. 解惑(二)----- 如何通俗地理解Python中的if __name__ == ‘__main__‘

    1. 摘要 通俗的理解__name__ == '__main__':假如你叫小明.py,在朋友眼中,你是小明(__name__ == '小明'):在你自己眼中,你是你自己(__name__ == '_ ...

  2. 如何通俗地理解 Gradle?

    作者:nonesuccess 链接:https://www.zhihu.com/question/30432152/answer/79547641 来源:知乎 著作权归作者所有.商业转载请联系作者获得 ...

  3. 【数学与算法】如何通俗的理解概率密度函数

    概率分布函数就是概率密度函数. 累计分布函数: 对概率密度函数从负无穷到xxx积分,得到的是累计分布函数. 如何通俗的理解概率密度函数? 首先考虑这样一个问题,你点了一个外卖,外卖说会在两个小时送达. ...

  4. python怎么用gamma函数_如何通俗的理解伽马(gamma)函数

    如何通俗的理解伽马(gamma)函数 - 直觉,求导和示例 我为什么要在乎garmma分布? 使用伽马函数定义了许多概率分布,例如伽马分布,Beta分布,狄利克雷分布,卡方分布和学生t分布等. 对于数 ...

  5. 电容或电感的电压_如何通俗的理解电流,电压,电阻,电容和电感电工技术知识学习干货分享...

    点击上方↑↑↑『电工技术知识学习』关注本公众号可以免费进微信群咨询技术问题 猜您喜欢的文章 82条电气专业术语详解,这资料就该人手一份 接触器如何选择?电气性能参数有哪些 收集最全的电工口诀,不用到处 ...

  6. 【线性代数】通俗的理解奇异值以及与特征值的区别,还有奇异值分解及其应用

    奇异值分解,就是把矩阵分成多个"分力".奇异值的大小,就是各个"分力"的大小. 之前在介绍矩阵特征值与特征向量的时候,也是以运动作为类比. 一.通俗理解奇异值 ...

  7. 如何计算近似纳什均衡_如何通俗的理解纳什均衡点?

    导读:如何通俗的理解纳什均衡点? 一.市场上有2家企业A和B,都是卖纸的,纸的成本都是2元钱,A和B都卖5块钱. 有一天A降价到4块钱,于是A销量大增,B销量大减.B看到了后,降价到3块钱,于是B销量 ...

  8. 如何通俗地理解相似矩阵

    如何通俗地理解相似矩阵 同学们大家好,今天我们来学习相似矩阵. 1 简单印象 设 都是 阶方阵,若有可逆矩阵 ,使得: 则称 为相似变换矩阵(Similarity transformation mat ...

  9. 如何通俗地理解傅立叶变换?

    声明下,下面都是用傅立叶级数来阐述,文章最后会说明下傅立叶级数和傅立叶变换之间的关系. 让我们从比较容易懂的解释开始吧. 1 直观解释 1666年牛顿发现太阳光经三棱镜的折射后可呈现彩色光,称为光的色 ...

最新文章

  1. Exchange 2007 内存使用问题
  2. Geary 0.13.0 发布,GNOME 3 Email 客户端应用
  3. Android 数据存储之SharedPreferences存储小记
  4. C++处理一个动态规划的问题
  5. 章国锋:视觉SLAM最新观点分享
  6. java中after什么意思_Java中的即时isAfter()方法
  7. 本地微信公众号授权登录获取code步骤
  8. 什么是 PID 控制算法 ?详解
  9. 2020数学建模国赛A题解题思路
  10. 网页设计成品DW静态网页Html5响应式css3——电影网站bootstrap制作(4页)
  11. java cas logout无效_解释CAS Logout问题(转)
  12. 基于人工势场法的路径规划
  13. dnf游戏服务器不稳定,卡顿时代将终结?DNF策划针对跨区服务器卡顿回应
  14. java毕业设计二手图书回收销售网站Mybatis+系统+数据库+调试部署
  15. Java面试题集(1-50)
  16. WEBPACK DEV SERVER
  17. python正则表达式匹配qq邮箱_python 正则表达式(QQ,手机号,邮箱,用户名,密码)...
  18. 验证码识别之中国移动话费查询
  19. 微信公众号文章错别字修改上限调整了?
  20. 步进电机驱动器一体机VSMD122_025T(北京伟恩斯技术有限公司)使用方法

热门文章

  1. PL/SQL developer快速执行选定语句
  2. oracle清空回收站
  3. 【AI视野·今日CV 计算机视觉论文速览 第203期】Fri, 21 May 2021
  4. 【Linux入门学习之】vi/vim编辑器必知必会
  5. 接收用户的输入 Scanner类
  6. 爬虫-代理的爬取练习191110
  7. session演练1909051059
  8. jquery-手风琴效果
  9. crontab定时任务不生效问题解决
  10. 数据结构中三表合一的实现