本节重点

  • 理解编程语言是什么?

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

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

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


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


  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. Shiro配置cookie以及共享Session和Session失效问题

    首先我们看Shiro的会话管理器的配置 <!-- shiro会话管理 --> <!-- 即用户登录后就是一次会话,在没有退出之前,它的所有信息都在会话中:会话可以是普通 JavaSE ...

  2. oracle对表常用的操作

    最近业务需要给表添加索引,因为数据量很大时,查询效率很低:老大建议使用索引: 之前总结的时候将索引没有记录,当然啦,也怪笔者基础薄弱,不管了,慢慢进步嘛,好了进入正题吧! 首先准备工作,先建两个临时表 ...

  3. Linux实战教学笔记46:NoSQL数据库之redis持久化存储 (二)

    第3章 Redis数据类型详解 3.1 Redis键/值介绍 Redis key值是二进制安全的,这意味着可以用任何二进制序列作为key值,从形如"foo"的简单字符串到一个JPG ...

  4. GLSL in ShaderLab

    [Syntax] However, use of raw GLSL is only recommended for testing, or when you know you will only ta ...

  5. haproxy 配置 说明

    一.环境说明实验环境OS CentOS5.4192.168.0.14    proxy192.168.0.24    web1192.168.0.64    web2 官方地址:http://hapr ...

  6. 文件后缀与mime类型对应表

    //文档文件类型的 .ai application/postscript    .eps application/postscript    .exe application/octet-stream ...

  7. 256. Paint House房屋染色

    [抄题]: There are a row of n houses, each house can be painted with one of the three colors: red, blue ...

  8. 提高你的Python能力:理解单元测试

    对于程序开发新手来说,一个最常见的困惑是测试的主题.他们隐约觉得“单元测试”是很好的,而且他们也应该做单元测试.但他们却不懂这个词的真正含义.如果这听起来像是在说你,不要怕!在这篇文章中,我将介绍什么 ...

  9. Spring思维导图(AOP篇)

    什么是aop AOP(Aspect-OrientedProgramming,面向方面编程),可以说是OOP(Object-Oriented Programing,面向对象编程)的补充和完善.OOP允许 ...

  10. struts2标签使用详解

    Struts2常用标签总结一 介绍1.Struts2的作用 Struts2标签库提供了主题.模板支持,极大地简化了视图页面的编写,而且,struts2的主题.模板都提供了很好的扩展性.实现了更好的代码 ...