坚持+思考+输出
1、学习方式:查看提供视频(30分钟)+自我整理笔记(2小时)+周末视频输出
2、笔记方式按提问方式整理。
什么是编程语言?
本质人类语言一样,就好比你要和外国人交流你得懂国际性语言英语一样
计算机本质?
电流+一推的硬件,如果学过数字电路的就清楚,电流包括高电压(用1表示)和低电压(用0表示)
如果搞过PCB板马路灯显示的就知道,可以使用00000表示红灯,00001表示绿灯,00010表示黄灯,当时用某种规则时把0和1进行组合就可以表示某种状态或是每个单词等
书写代码直接使用0和1书写————————机器语言(直接和硬件打交道)
为什么出现汇编语言呢?
前辈们为提高编程效率,及直接使用0和1书写容易出错,浪费时间等,就把一些功能直接使用一个英语单词代替,例如之前播放音乐,需要些00000001,但是现在直接输入musin就可以播放音乐。
直接写代码调用硬件的指令————汇编语言(也是和硬件打交道)
那些是高级语言?
C ,C++ ,JAVA,PHP,python等都是高级语言,高级语言是直接对硬件底层封装好指令进行调用
代码执行流程本质:人类代码——翻译——机器语言
高级语言的2大流派:是按代码执行流程“翻译”方式不同产生的
人类代码——编译器(一次性把代码给翻译官,就好比一本英文书直接被翻译成中文)——汇编语言(为什么不是直接到机器语言?)——机器语言
人类代码——解释器(就好比你去国外旅游,完全不懂英文,直接找了个翻译的)——机器语言
编译型语言代表:C ,C++,golang
解释型语言代表:python,php,java等
编译型语言和解释型语言的优缺点:
编译型语言:
优点 :执行速度快
缺点:跨平台可以移植性差
跨平台移植性差:包括硬件+软件
软件:
例如: CPU厂家包括intel(复杂指令集,高功耗高性能),ARM(精简指令集,低功耗)如果你是基于intel平台翻译出来的程序那么是无法再ARM平台上运行的
软件:虽然你写的C语言可以直接在Windows, linux,mac上运行,但是当你调用某个程序是需要修改指令等
解释型语言:
优点:跨平台好
缺点:翻译需要时间执行速度慢
原文:https://www.cnblogs.com/jianchixuexu/p/12489220.html