![](http://upload-images.jianshu.io/upload_images/2534949-ce13ffe4e691afd2.jpg)
程序是什么
程序有一个教科书式的定义,程序 = 算法 + 数据结构,理解起来比较抽象。
生活中,也有很多程序的例子,比如炒菜、弹吉他,而菜谱和乐谱就是“程序”,只不过菜谱是用人能读懂的自然语言(中文、英文等)编写的程序,而计算机程序是用计算机能读懂的编程语言编写的程序,菜谱程序的执行者是人,而计算机程序的执行者是计算机,菜谱的处理对象是食材,而计算机程序处理对象是数据。
计算机程序与菜谱程序的本质区别在于,菜谱是按照顺序执行任务,而计算机程序可以进行布尔运算和流程控制,也就是根据不同情况执行不同任务。
编程语言是什么
编程语言,就是计算机能识别和执行的语言。最早期的编程语言叫机器语言,也就是计算机CPU能识别和执行的二进制指令(010101)。但机器语言对于人而言,可读性太差,编写的效率也非常低。因此,随着计算机科学的发展,诞生了初级编程语言,以及现在被广泛使用的高级编程语言。
初级编程语言:汇编语言。
高级编程语言:BASIC语言,C语言,C++语言(C语言的升级版),JAVA语言,PYTHON语言,GOLANG语言等。
算法是什么
顾名思义,算法就是对数据进行运算和处理的方法。例如数值运算(加减乘除),逻辑运算(比较大小),布尔运算(或与非)等,以及在运算过程中的条件判断和流程控制。
算法,需要通过编程语言来表达,编程语言与自然语言(汉语,英语)一样,也遵循着相应的语法结构。算法的表达方式,简称表达式。
数据结构是什么
算法的处理对象是数据,而现实世界中的数据是复杂的,多样的,不规则的。而编程,需要对现实世界中的数据进行定义、分类以及重新组织,抽象出计算机语言能够识别和处理的数据类型和数据结构。例如数据类型:数字,文本,日期,布尔值等,数据结构:列表,元组,集合,散列表等。
小总结
计算机程序,帮助我们更高效的解决现实生活中的问题。学好编程,需要提升自身对现实世界的抽象能力(数据结构),和复杂问题的分解处理能力(算法),而这两者的背后,是思考能力。
有疑问加站长微信联系(非本文作者)
![](https://static.golangjob.cn/static/img/footer.png?imageView2/2/w/280)