标签:系统 企业级 amd inf 中间 就会 img 规则 研发
-->什么是编程语言?
一. 机器语言
1. 它本质上和人类的语言的目的是一样的,都是为了沟通,人类的语言是人与人之间的,而编程语言,则是和计算机之间的沟通。
2. 而计算机本质上就是:电流 + 一堆硬件
3. 电流表示两种状态:高电压 / 低电压 (一条电流)
4. 计算机理解的语言是二进制的: 01010101
5. 编程语言会把无序的0101010....规则化,规定什么样的0101....对应做什么事儿,
6. 有了这种规则,最古老的语言就诞生了,机器语言
7. 机器语言的作用是什么? 它就是直接与硬件打交道
二. 汇编语言
1. 但是记这种规则化的0101...也是比较懵逼的,所以随着发展,为了让这种沟通效率更高,就把这种规则化的0101...变成了人们相对容易理解的英文
2. 而这种应运而生的语言,我们称它为 汇编语言 (但是它的开发效率依然很低)
三. 高级语言
1. 因为开发效率很低,所以人们又得研发,研发出来了高级语言,它的优点在于,人们对底层硬件的各种指令做了封装(就是把复杂的东西都处理掉了)
2. 代码------ 翻译------>机器语言
3. 根据翻译的方式不同,产生了两个流派,编译型语言 和 解释型语言
4. 编译型语言:
1). 你写的代码想运行,编译器就会一次性的把它编译成计算机认识的文件(也就是翻译成机器语言),计算机执行这个编译好的文件,从而达到你想要的效果.
2). 代表: C, C++, golang
3). 优点: 执行速度快,中间不会再有翻译的过程.
4). 缺点: 跨平台,可移植性差
1>. 硬件级别的平台: CPU 有一套自己的指令规则
1. CPU两大阵营:
1). 以intel,amd 公司为首的: 他们采取的CPU设计逻辑是复杂指令集(高性能,高功耗)
2). 以 ARM 为代表的: 精简指令集, 低功耗(手机,平板)
2. 你的基于 intel 平台编译出来的程序是没有办法在 ARM 平台上运行的.
2>. 软件级别的平台: 指的就是操作系统,你的 C 程序想在 windows, linux, mac同时可以运行,基本上不需要做太大的变化(可能有些地方的调用方式不一样).
1. windows:
2. linux: 企业级的操作系统(微信,QQ)
3. mac:
5. 解释型语言:
1. 你写的代码交由(解释器 / 虚拟机),解释器解释一行,计算机执行一行 (边执行边翻译)
2. 代表: python, php, ruby, C#
3. 优点: 跨平台好
4. 缺点: 翻译需要时间,执行速度慢 (机器理解的慢 ms ),但是大多数情况下, 这种快慢是我们人类感知不到的
标签:系统 企业级 amd inf 中间 就会 img 规则 研发
原文地址:https://www.cnblogs.com/zoling7/p/12633761.html