本节重点

  • 理解编程语言是什么?

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

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

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


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


  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. deep learning and machine learning

    http://blog.csdn.net/xiangz_csdn/article/details/54580053

  2. UGUI 学习

    1. Grid Layout Group(网格布局) Hierachy: Game: 属性和功能: 2. 根据鼠标位置旋转界面实现: public class TiltWindow : MonoBeh ...

  3. CentOS 安装python3.5

    1.刚开始centos可能会缺少gcc等组件,先安装组件 yum groupinstall "Development Tools" 2.下载源码,解压后进入目录 #下载地址http ...

  4. Linux OOM 自动杀死进程

    问题描述: 今天上班后,登录一台内网测试服务器,发现部分进程失踪 (Nginx/PHP-FPM/MySQL/Crond). 解决方法: 1.首先启动这些进程,保证正常提供服务. 2.查看服务器日志信息 ...

  5. 113. Path Sum II (Tree; DFS)

    Given a binary tree and a sum, find all root-to-leaf paths where each path's sum equals the given su ...

  6. c++ 备忘录模式(memento)

    备忘录模式:在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态.这样以后就可将该对象恢复到原先保存的状态[DP].举个简单的例子,我们玩游戏时都会保存进度,所保存的进度以文件的 ...

  7. 621. Task Scheduler CPU任务间隔分配器

    [抄题]: Given a char array representing tasks CPU need to do. It contains capital letters A to Z where ...

  8. 测试URL

    http://localhost:8080/dmonitor-webapi/monitor/vm/342?r=1410331220921&indexes=cpu&indexes=mem ...

  9. 实践作业4---DAY4阶段三。

    阶段三:给出结论 这一阶段,我们首先列表从核心功能.细节.用户体验.辅助功能差异化功能.软件的适应性和成长性展开.我们得结论前参考了权威网站数据.并自己也做了相应分析. 结论:经过这么多工作,这个软件 ...

  10. 白盒测试实践项目(day2)

    到目前为止: 李建文同学大体完成代码复审,并在完善文档,汪鸿同学和杨瑞丰同学都在熟悉各自的任务,胡俊辉同学设计了JUnit测试用例,张颖同学负责维护这几天的博客. 目前小组成员还未碰到不能解决的问题. ...