本节重点

  • 理解编程语言是什么?

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

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

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


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


  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. 5.MPEG-4 压缩编码标准

    1.MPEG-4标准概述 与MPEG1和MPEG2标准相比,MPEG-4 更加注重多媒体系统的交互性和灵活性,主要应用于可视电话.视频会议等. MPEG-4 标准主要包含音视频对象编码工具集和编码对象 ...

  2. Linux运维常见故障排查和处理的33个技巧汇总

    作为linux运维,多多少少会碰见这样那样的问题或故障,从中总结经验,查找问题,汇总并分析故障的原因,这是一个Linux运维工程师良好的习惯.每一次技术的突破,都经历着苦闷,伴随着快乐,可我们还是执着 ...

  3. js添加对象数组

    json 数组也是数组  var jsonstr="[{'name':'a','value':1},{'name':'b','value':2}]"; var jsonarray  ...

  4. 求Half向量

    [求Half向量] 给定入射向量与视角向量.把入射向量与视角向量相加即可,如下: 前提是 lightDir.ViewDir 都是单位向量.

  5. POJ 3017 DP + 单调队列 + 堆

    题意:给你一个长度为n的数列,你需要把这个数列分成几段,每段的和不超过m,问各段的最大值之和的最小值是多少? 思路:dp方程如下:设dp[i]为把前i个数分成合法的若干段最大值的最小值是多少.dp转移 ...

  6. Opencv Harris角点检测

    #include <iostream>#include <opencv2/opencv.hpp> using namespace std;using namespace cv; ...

  7. Navicat修改查询保存路径

    mysql使用navicat查询时有时候会有很多sql语句, ctrl+s时自动保存在C:\Users\Administrator\Documents\Navicat\MySQL\servers\lo ...

  8. IIS网站最大并发连接数

    打开网站服务器IIS---[控制面板]-[管理工具]--[Internet信息服务IIS管理器]   打开应用程序池--找到网站对应使用的应用程序池--选择右侧[高级设置]   在[高级设置]窗口可看 ...

  9. 使用dataview组件显示服务器端xml文件数据

    来自<sencha touch权威指南>,约193页开始 ------------------------------------- (1)app.js代码: Ext.require([' ...

  10. transition与animation的区别

    transition需要事件触发,animation可以直接自动触发,而且功能上更为强大,包括可以设置不同时间段的动画规则,还有状态的控制,事件等等.