本节重点

  • 理解编程语言是什么?

  • 大体明白,编程语言是如何与计算机底层通信的编程语言有哪些分类?

  • 分别列举主流编程语言的特点

  • 什么是编程,为什么要编程


一.什么是编程语言?为什么要编程?


  1. 编程
    :是个动词,编程==写代码,写代码是为了什么,为了让计算机干你想要干的事。比如,想跟别人聊天,就需要写个聊天软件,这个软件就是一堆代码的集合,这些代码是什么?这些代码就是计算机能理解的语言。


  2. 编程语言
    :计算机只能理解2进制,010101...,但是开发人员不能人肉输一堆二进制给计算机(虽然最原始的计算机就是这么干的)让他工作吧,这样开发速度太慢了。所以最好的办法就是人输入简单的指令,计算机能把指令转成二进制进行执行。


    例子:程序员想让计算机播放一首歌曲,只需要输入指令:

open "七里香.mp3"
play

计算机的CPU接受到这样的指令够,会把它转成一堆 只哟就cpu可以理解的指令,然后再讲指令编程各种对应的二进制。

              最终cpu取调用你额硬盘上的这首歌,通过音箱播放。

        

二.有哪些编程语言?

编程语言总体分为:机器语言、汇编语言、高级语言。如下:


  1. 机器语言

    由于计算机内部职能接受二进制代码,因此,用二进制代码0和1描述的指令称为机器指令,全部机器指令的集合构成计算机的机器语言,用机器语言编程的程序称为目标程序。只有木编程序才能被称为计算机直接识别和执行。但是机器语言编写的程序无明显特征,难以记忆,不便于阅读和书写,且依赖具体机种,局限性很大,机器语言属于低级语言。


  2. 汇编语言

    汇编语言的实质和机器语言是相同的,都是直接对硬件操作,只不过指令采用了英文缩写的标识符,更容易识别和记忆。它同样需要变成这将每一步具体的操作用命令的形式写出来。汇编程序的每一句执行职能对应实际操作过程中的一个很细微的动作,因此汇编程序一般比较冗长、复杂、容易出错。但是汇编语言的有点显而易见的,用汇编语言所能完成的操作不是一般高级语言所能实现的,而且源程序经汇编生成的可执行文件不仅比较小,而且执行速度更快。


  3. 高级语言

    高级语言和汇编语言相比,它不但把许多相关的机器执行合成为单挑执行,并且去掉了与具体操作有关但与完成工无关的细节。

    高级语言按转换方式可以分为:编译型、解释型

    a.编译型:#先翻译

    i.把源代码编译成机器语言的可执行程序

    ii.执行 可执行程序文件

    优点:执行前编译,执行过程中不需要源代码,不依赖语言环境,执行的是机器码文件

    执行速度快,已经被翻译成了计算机可以识别的机器语言

    缺点:每次修改源文件,需要重新编译,生成机器码文件

    跨平台性不好,不同的操作系统,调用底层的机器指令不同,需要为不同平台生成不同的机器码文件

    b.解释型: #同传翻译

    i.用户调用解释器,执行源代码文件

    ii.用户调用解释器,执行源代码文件

    优点:天生跨平台,因为解释器已经做好了对不同平台的交互处理,用户写的代码不再需要考虑平台的差异性

    随时修改随时运行查看结果,不需要重新编译

    缺点:运行效率低,所有的代码均需要解释器边解释边执行,速度比编译型慢很多

    代码是明文

三.编程语言总结

机器语言

    优点是最底层,速度最快。缺点是最复杂,开发效率最低

汇编语言

    优点是比较底层,速度最快。缺点是复杂,开发效率最低

高级语言

    编译型语言执行速度最快,不依赖语言环境运行,跨平台差

解释型跨平台好,一份代码,到处使用,缺点是执行速度慢,依赖解释器运行

补充.Python介绍

python是一种编程语言。

运行过程:源代码文件--》解释器/虚拟机--》动态编译--》机器语言可执行命令--》CPU

python解释器种类:
CPython C语言
IPython 基于CPython上的交互式解释器
PyPy 动态编译(混合型)
Jython Java平台
IronPython .NET平台

python学习之路 一 :编程语言介绍的更多相关文章

  1. Python学习之路-Day2-Python基础3

    Python学习之路第三天 学习内容: 1.文件操作 2.字符转编码操作 3.函数介绍 4.递归 5.函数式编程 1.文件操作 打印到屏幕 最简单的输出方法是用print语句,你可以给它传递零个或多个 ...

  2. python学习之路-day2-pyth基础2

    一.        模块初识 Python的强大之处在于他有非常丰富和强大的标准库和第三方库,第三方库存放位置:site-packages sys模块简介 导入模块 import sys 3 sys模 ...

  3. Python学习之路-Day1-Python基础

    学习python的过程: 在茫茫的编程语言中我选择了python,因为感觉python很强大,能用到很多领域.我自己也学过一些编程语言,比如:C,java,php,html,css等.但是我感觉自己都 ...

  4. Python学习之路——pycharm的第一个项目

    Python学习之路——pycharm的第一个项目 简介: 上文中已经介绍如何安装Pycharm已经环境变量的配置.现在软件已经安装成功,现在就开始动手做第一个Python项目.第一个“Hello W ...

  5. Python学习之路-Day2-Python基础2

    Python学习之路第二天 学习内容: 1.模块初识 2.pyc是什么 3.python数据类型 4.数据运算 5.bytes/str之别 6.列表 7.元组 8.字典 9.字符串常用操作 1.模块初 ...

  6. python学习之路网络编程篇(第四篇)

    python学习之路网络编程篇(第四篇) 内容待补充

  7. Python学习之路【第一篇】-Python简介和基础入门

    1.Python简介 1.1 Python是什么 相信混迹IT界的很多朋友都知道,Python是近年来最火的一个热点,没有之一.从性质上来讲它和我们熟知的C.java.php等没有什么本质的区别,也是 ...

  8. python 学习之路开始了

    python 学习之路开始了.....记录点点滴滴....

  9. python学习之路,2018.8.9

    python学习之路,2018.8.9, 学习是一个长期坚持的过程,加油吧,少年!

  10. python学习之路------你想要的都在这里了

    python学习之路------你想要的都在这里了 (根据自己的学习进度后期不断更新哟!!!) 一.python基础 1.python基础--python基本知识.七大数据类型等 2.python基础 ...

随机推荐

  1. RocketMQ入门(简介、特点)

    简介: RocketMQ作为一款纯java.分布式.队列模型的开源消息中间件,支持事务消息.顺序消息.批量消息.定时消息.消息回溯等. 发展历程: 1. Metaq(Metamorphosis) 1. ...

  2. Make 命令教程(转载)

    代码变成可执行文件,叫做编译(compile):先编译这个,还是先编译那个(即编译的安排),叫做构建(build). Make是最常用的构建工具,诞生于1977年,主要用于C语言的项目.但是实际上 , ...

  3. 运维自动化工具 Kickstart

    简介: 批量安装操作系统工具之 Kickstart ,RedHat 早前推出的产品( 不多说了,现在都玩 Cobbler 啦 ). 测试环境:CentOS 6.6 x86_64 minimal 一.安 ...

  4. ubuntu 下安装nanomsg和nnpy

    nanomsg nanomsg是ZeroMQ作者用C语言重写的一个Socket库,其用法和模式和ZeroMQ差不多,但是具有更好的性能和更完善的接口. 首先下载源码 wget https://gith ...

  5. Java服务器工程师任职资格

    Java服务器端开发工程师 1.Java服务器端3年以上开发经验 2.至少一个完整游戏项目经验 3.熟练掌握OOA.OOD.OOP 4.掌握常见网游协议开发方法 5.对TCP/IP有深入了解 6.对消 ...

  6. DEV上肤

    1,在Main中加入此语句DevExpress.UserSkins.BonusSkins.Register();SkinManager.EnableFormSkins();DevExpress.Loo ...

  7. java 项目的jar 反编译后 压缩回去 命令

    jar -cvfm0 123.jar    META-INF\MANIFEST.MF(配置文件第一个位置) BOOT-INF org

  8. 使用Windows绘图合成多张图

    [使用Windows绘图合成多张图] 1.点击图片右键选择打开方式→选择画图工具打开图片. 2.这时图片可以改变外框大小,将外框尽量弄大些. 3.点击编辑选中下拉菜单中的粘贴来源,选择需要增加进来的图 ...

  9. Leetcode catalogue

    1. Array & List 1.1Sort Array的变更操作,好好运用尾指针:88题的end,75题的blueHead 88. Merge Sorted Array (Array) 7 ...

  10. WebAPI如何返回json

    public HttpResponseMessage PostUser(User user) { JavaScriptSerializer serializer = new JavaScriptSer ...