1.什么是编程?
编程就是写代码,代码是计算机理解的语言,编程就是通过计算机理解的语言实现一些事件,计算机能理解的就是二进制,就是0和1的两个值
计算机底层是电路,如何表达0和1?就像灯只能表示开灯和关灯,做成多个灯,就有很多种组合,多种组合就能实现多种状态对应的事件
总结理解的就是计算机就是二进制
假设你是BOSS,你有starffs,来自不同地域,理解的是不同的语言,需要一个共同的翻译工作来做交互
计算机能从二进制演化为能读懂英文的演变,古老的计算机就是只能读懂二进制的标志,像纸带一样做标记,现在为止底层还是机器语言,但是使用者不涉及底层了

【机器语言】:由于计算机内只能接收二进制代码,因此,用二进制代码0和1的描述的指令成为机器指令,全部机器指令的集合构成计算机的机器语言【机器语言属于低级语言】
输出的程序全是0和1的指令代码,直观性差,还容易出错,除了计算机生产厂家的专业人员外,绝大多数程序员已经不再去学习机器语言了
机器语言是微处理器理解和使用的,尽管机器语言好像是很复杂的,然而它是有规律的,存在着很多种机器语言的指令,这意味着不能把这些种类全部列出来

【汇编语言】:和机器语言相比没有多大的提高,汇编语言的实质和机器语言是相同的,都是直接对硬件进行操作,只不过指令采用了应为缩写的标识符,更容易识别和记忆
它同样需要编程者将每一步具体的操作用命令的形式写出来,汇编程序的每一个指令只能对应实际操作过程中的一个很细微的动作,例如移动、自增,
因此汇编程序一般比较冗长、复杂、容易出错,而且使用汇编语言需要有更多的计算机专业知识
但是汇编语言的优点也是显而易见的,用汇编语言所能完成的操作不是一般高级语言所能够实现的,而且源程序汇编生成的可执行文件不仅比较小,而且执行速度快。

开发CPU是调用的汇编语言

【高级语言】:简化的现代的使用便捷的语言,高级语言是大多数编程者的选择,和汇编语言相比,它不但将许多相关的机器指令合称为单条指令,并且去掉了与具体操作有关的但与完成工作无关的细节,
例如使用堆栈、寄存器等,这样就大大简化了程序中的指令,同时,由于省略了许多细节,编程者也需要大量的专业知识
高级语言主要是相对于汇编语言而言,它并不是特指某一种具体的语言,而是包括了很多编程语言,如C/C++,JAVA,PHP,Python,GO,C#等都属于高级语言
相比机器语言和汇编语言,高级语言对开发人员更友好,在开发效率上大大提升

市面上都是用高级语言来进行编程
高级语言之间的本质上的区别:C运行效率特别快,Java其次,Python更次,高级语言分类特别清楚,
区分高级语言的本质区别的原因:高级语言本质就是要转换为二进制,实际就行各种高级语言对二进制语言转换的速度的快慢
时间成本高:全部完成后发布
效率高:读一句翻译一句,同时翻译,花更长的时间才能完成

高级语言所编制的程序不能直接被计算机识别,必须经过转换才能被执行!
人读懂的代码>>编译[翻译]>>机器能读懂的二进制>>Cpu运行

【编译类】:编译类指在应用源程序执行之前,就将程序源代码“翻译”为目标代码,因此其目标过程程序可以脱离其语言环境独立执行(编译后的生成可执行文件,是CPU可以理解的二进制的机器码组成)
使用比较方便,效率较高,但是应用程序一旦需要修改,必须先修改源代码,再重新编译生成新的文件(也就是.obj文件),只有目标文件而没有源代码修改起来不方便
编译后程序运行不需要重新翻译,直接使用编译的结果就行了,程序执行效率高,依赖编译器,跨平台差些,如C、C++、Delphi等

【解释类】:效率不高,有什么好处呢?为什么要用解释型语言,解释型语言就可以适用所有的平台,可以相对的减少时间成本
执行方式类似于我们日常生活中的“同声翻译”,应用程序源代码一边由相应语言的解释器“翻译”成目标代码(机器语言),一边执行,因此效率比较低,而且不能生成可独立执行的可执行文件
应用程序不能脱离解释器(想运行,必须要先装上解释器),但是这种方式比较灵活,可以动态的调整,修改应用程序,如Python,Java,PHP,Ruby等语言
所有的linux就已经配置了python,直接就能运行,windows上是不支持python的
一味的追求速度,就是需要消耗开发时间

【小结】
机器语言:优点是最底层,速度最快,缺点是最复杂,开发效率低
汇编语言:优点是底层,速度最快,缺点是最复杂,开发效率低
高级语言:编译型语言执行速度快,不依赖语言环境运行,跨平台差
解释型跨平台好,一份代码,到处使用,缺点是执行速度慢,依赖解释器运行

路飞学城Python-Day1的更多相关文章

  1. 路飞学城—Python爬虫实战密训班 第三章

    路飞学城—Python爬虫实战密训班 第三章 一.scrapy-redis插件实现简单分布式爬虫 scrapy-redis插件用于将scrapy和redis结合实现简单分布式爬虫: - 定义调度器 - ...

  2. 路飞学城—Python爬虫实战密训班 第二章

    路飞学城—Python爬虫实战密训班 第二章 一.Selenium基础 Selenium是一个第三方模块,可以完全模拟用户在浏览器上操作(相当于在浏览器上点点点). 1.安装 - pip instal ...

  3. 路飞学城Python爬虫课第一章笔记

    前言 原创文章,转载引用务必注明链接.水平有限,如有疏漏,欢迎指正. 之前看阮一峰的博客文章,介绍到路飞学城爬虫课程限免,看了眼内容还不错,就兴冲冲报了名,99块钱满足以下条件会返还并送书送视频. 缴 ...

  4. 路飞学城-Python开发集训-第3章

    学习心得: 通过这一章的作业,使我对正则表达式的使用直接提升了一个level,虽然作业完成的不怎么样,重复代码有点多,但是收获还是非常大的,有点找到写代码的感觉了,遗憾的是,这次作业交过,这次集训就结 ...

  5. 路飞学城-Python开发集训-第1章

    学习体会: 在参加这次集训之前我自己学过一段时间的Python,看过老男孩的免费视频,自我感觉还行,老师写的代码基本上都能看懂,但是实际呢?....今天是集训第一次交作业的时间,突然发现看似简单升级需 ...

  6. 路飞学城-Python开发集训-第4章

    学习心得: 学习笔记: 在python中一个py文件就是一个模块 模块好处: 1.提高可维护性 2.可重用 3.避免函数名和变量名冲突 模块分为三种: 1.内置标准模块(标准库),查看所有自带和第三方 ...

  7. 路飞学城-Python开发集训-第2章

    学习心得: 这章对编码的讲解超级赞,现在对于编码终于有一点认知了,但还没有大彻大悟,还需要更加细心的琢磨一下Alex博客和视频,以前真的是被编码折磨死了,因为编码的问题而浪费的时间很多很多,现在终于感 ...

  8. 路飞学城-Python开发-第二章

    ''' 数据结构: menu = { '北京':{ '海淀':{ '五道口':{ 'soho':{}, '网易':{}, 'google':{} }, '中关村':{ '爱奇艺':{}, '汽车之家' ...

  9. 路飞学城-Python开发-第三章

    # 数据结构: # goods = [ # {"name": "电脑", "price": 1999}, # {"name&quo ...

  10. 路飞学城-Python开发-第一章

    # 基础需求: # 让用户输入用户名密码 # 认证成功后显示欢迎信息 # 输错三次后退出程序 username = 'pandaboy' password = ' def Login(username ...

随机推荐

  1. spring mvc 项目 相关配置文件小结

    web.xml文件主要配置如下: 需要加载的配置文件: 类路径下,可以使用通配符配置  类似:classpath:conf/spring/*/*.xml, <context-param> ...

  2. elasticsearch集群安全重启节点

    es2.x 关闭集群的动态分片:(动态分片开启状态如果节点宕机了,会导致集群重新分配数据进行数据转移,会导致节点直接大量传输数据)curl -XPUT 'http://192.168.248.193: ...

  3. hdu1542 矩形面积并(线段树+离散化+扫描线)

    题意: 给你n个矩形,输入每个矩形的左上角坐标和右下角坐标. 然后求矩形的总面积.(矩形可能相交). 题解: 前言: 先说说做这道题的感受: 刚看到这道题顿时就懵逼了,几何 烂的渣渣.后来从网上搜题解 ...

  4. 记一次mybatis<if>标签的问题

    前言 到底还是没理解清楚的锅~~~~搞了好久...啊啊啊啊 错误: There is no getter for property named 'name' in 'class java.lang.L ...

  5. 如何使用阿里云的yum源

    这里需要有网.因为我们需要下载会用到wget [root@localhost ~]# iptables -F[root@localhost ~]# systemctl stop firewalld[r ...

  6. Pyhton学习——Day47

    # 转载:http://www.cnblogs.com/yuanchenqi/articles/6357507.html# 外键:一种约束条件,与主键对应# 主表:被绑定的表:字表# 外键约束:# - ...

  7. DRF lazy Serializer

    class LazySerializer: def __init__(self, cls_name, **kwargs): self.cls_name = cls_name self.kwargs = ...

  8. 51nod-字符串连接

    输入n个字符串s[i],你要把他们按某个顺序连接起来,使得字典序最小. (1 <= n <= 100) (每个字符串长度 <= 100) (字符串只包含小写字母) Input 第一行 ...

  9. splay 文艺平衡树 (数据结构)

    题目大意:略 splay维护区间翻转裸题,为了减少不必要的麻烦,多插入两个点,分别是0和n+1 每次找区间的第K个值,就在splay上二分即可 顺便学了一下splay的完美建树,而且splay有一些小 ...

  10. java实现登录的验证码和猜数字游戏_图形化界面

    实验任务四 1,出现设计思想 (1)先定义文本框.密码框和验证码框的组件 (2)定义面板和按钮的个数 (3)定义公有的虚构方法,通过对象实例化来调用 (4)利用Random类来实现生成0-9的随机数 ...