编程 是个动词,编程==写代码,写代码为了什么? 为了让计算机干你想要干的事情,比如,马化腾想跟别人聊天,于是写了个聊天软件,这个软件就是一堆代码的集合,这些代码是什么?这些代码是计算机能理解的语言;
计算能理解的语言是什么呢? 它只能理解2进制,0101010...,你总不能手动输一堆二进制给计算机(虽然最原始的计算机就是这么干的)让它工作吧,这样开发速度太慢了(完全满足不了社会的需求)。所以最好的办法就是人输入一个简单的指令,计算机能把完美的把这个指令转化成计算机能识别的二进制指令并进行执行;
编程语言可以分成机器语言、汇编语言、高级语言三大类。现在说的编程语言一般都是指高级语言,是大多数编程者的选择。
计算机并不能直接地接受和执行用高级语言(c,c++,java,python等)编写的程序,程序在输入计算机时,通过“ 翻译程序(编译器)”翻译成 机器语言形式的 目标程序,计算机才能识别和执行。
以C语言为例,你写好的C语言程序电脑是识别不了的,无论你写的如何简单,电脑都不懂;只有经过编译器翻译成机器语言形式,硬件设备才能知道:哦..原来你是要干这个事!
也就是说,我们编程是依赖于编译器的,没有编译器,我们写出来代码就是废物(没卵用),也可以说编译器就是我们编程的规则,它制定了我们编程的规则,我们需要做的就是在它允许的规则内进行开发(写代码)),写好了以后交给编译器,它来进行翻译成机器语言,进而让计算机执行我们的命令;
这种“翻译”通常有两种方式,即 编译方式和解释方式。
编译方式是:事先编好一个称为 编译程序的机器语言程序,作为系统软件存放在计算机内,当用户由高级语言编写的源程序输入计算机后,编译程序便把源程序整个地翻译成用机器语言表示的与之等价的目标程序,然后计算机再执行该目标程序,以完成源程序要处理的运算并取得结果。(先将整个软件的代码都翻译成机器语言再运行)
解释方式是:源程序进入计算机时, 解释程序边扫描边解释作逐句输入逐句翻译,计算机一句句执行,并不产生 目标程序。(不会提前翻译好,而是,代码执行到那一步就翻译那一句,一句一句的翻译,一句一句的执行)
参考来源:https://blog.csdn.net/weixin_44867000/article/details/89330143