一、编程语言的分类

  • 机器语言(低级语言)

    可以直接和硬件交互,用0和1和计算机沟通

    优点:执行效率高(因为可以直接和计算机沟通)

    缺点:开发效率低(都是用0和1进行编码)

  • 汇编语言

    同样可以直接和硬件交互

    优点(相较于机器语言):开发效率高(不再是0和1了)

    缺点(相较于机器语言):执行效率低(不在是计算机能读懂的0和1了)

  • 高级语言

    接近于人类的语言。

    ​ 假如现在有一个外国人要跟你交谈而你又听不懂那么你就可以有两种方式来翻译他说的话,就是解释型和编译型

    • 编译型

      可以和计算机硬件间接交互

      ​ 先全部写完再进行编译,编译成另一个文件,在与计算机进行沟通得到结果(就像一个外国人和你交谈而你可以先将他说的话全部都先记下来,再翻译成中文进行沟通)

      优点(相较于解释型语言):执行效率高(只需编译一次就能与计算机进行交流)

      缺点(相较于解释型语言):开发效率低(需要全部写完才能编译,一旦出错需要全文检查)

      如:C;C++;JAVA;GO

      C语言hello world:
      include<stdio.h>
      main
      {
      printf("hello world!\n")
      }
      Java hello world:
      public class hello
      {
      public static void main(String[]ages)
      {
      System.out.println("hello world!")
      } }
    • 解释型

      ​ 逐行翻译,需要先经过解释器(编译型语言写的)在进行编译,再与计算机进行交流沟通(就像一个外国人与你交谈,然后你找一个翻译官让他为你逐句翻译)

      优点(相较于编译型语言):开发效率高(每写一行翻译一行,一旦出错立刻就能知道)

      缺点(相较于编译型语言):执行效率低(需要先翻译成解释型语言,在进行编译才能与计算机进行沟通)

      如:Python

      Python hello world:
      print("hello world!")
  • 网络瓶颈效应

    ​ 首先应用程序都需要连接网络,而网络都会有延迟这里假设延时10ms,通过编译型高级语言写出来的程序比通过解释型高级语言写出来的程序再快也就快1ms,而这1ms相较于网络延时的10ms可能就无伤大雅


由于我们写的程序要越快越好所以我们应该选择编译型语言,但是又由于网络瓶颈效应所以在开发一些需要快速开发的程序时可以考虑使用解释型语言

python之浅谈编程语言的更多相关文章

  1. Python 基于python+mysql浅谈redis缓存设计与数据库关联数据处理

    基于python+mysql浅谈redis缓存设计与数据库关联数据处理 by:授客  QQ:1033553122 测试环境 redis-3.0.7 CentOS 6.5-x86_64 python 3 ...

  2. 浅谈编程语言中的新宠Python,你叫它如何不火?

    论述 凡是对编程有所关注的朋友都已经知道,Python公布于1991年,即使出现的时间不是很遥远,但是在众多爱好者的贡献下已经发展到全民Python的地步. Python最近火起来的笼统原因:面向企业 ...

  3. 【python】浅谈包

    python中的包可以理解为模块的集合.每个包也既可以为单包也可以有多个小包组成. Python中的package定义很简单,其层次结构与目录的层次结构相同,但是每个package必须包含一个__in ...

  4. 【python】浅谈encode和decode

    对于encode和decode,笔者也是根据自己的理解,有不对的地方还请多多指点. 编码的理解: 1.编码:utf-8,utf-16,gbk,gb2312,gb18030等,编码为了便于理解,可以把它 ...

  5. Python实例浅谈之三Python与C/C++相互调用

    一.问题 Python模块和C/C++的动态库间相互调用在实际的应用中会有所涉及,在此作一总结. 二.Python调用C/C++ 1.Python调用C动态链接库 Python调用C库比较简单,不经过 ...

  6. Python实例浅谈之五Python守护进程和脚本单例运行

    一.简介 守护进程最重要的特性是后台运行:它必须与其运行前的环境隔离开来,这些环境包括未关闭的文件描述符.控制终端.会话和进程组.工作目录以及文件创建掩码等:它可以在系统启动时从启动脚本/etc/rc ...

  7. python itertool 浅谈迭代工具

    1.概述 Python的内建模块itertools提供了非常有用的用于操作迭代对象的函数. 首先,我们看看itertools提供的几个“无限”迭代器: import itertools natuals ...

  8. Python之浅谈多态和封装

    目录 组合 什么是组合 为什么使用组合 多态和多态性 多态 什么是多态? 多态性 好处 多态性 什么是多态性 封装 封装是什么意思? 隐藏 如何用代码实现隐藏 python 实际上是可以访问隐藏属性的 ...

  9. Python之浅谈继承

    目录 继承 继承介绍 如何使用继承 新式类:只要继承了object类,就是新式类,再python3中,默认继承object类 经典类:没有继承object的类,就是经典类 利用继承减少代码冗余,菱形问 ...

随机推荐

  1. Java实现 蓝桥杯VIP 算法训练 星际交流

    算法训练 星际交流 时间限制:1.0s 内存限制:256.0MB 问题描述 人类终于登上了火星的土地并且见到了神秘的火星人.人类和火星人都无法理解对方的语言,但是我们的科学家发明了一种用数字交流的方法 ...

  2. Java实现 蓝桥杯VIP 算法提高 多项式输出

    算法提高 多项式输出 时间限制:1.0s 内存限制:512.0MB 问题描述 一元n 次多项式可用如下的表达式表示: f(x)=a[n]xn+a[n-1]x(n-1)+-+a[1]x+a[0], a[ ...

  3. Java中TreeSet的详细用法

    第1部分 TreeSet介绍 TreeSet简介 TreeSet 是一个有序的集合,它的作用是提供有序的Set集合.它继承于AbstractSet抽象类,实现了NavigableSet, Clonea ...

  4. Java实现二进制幂

    1 问题描述 使用n的二进制表示,计算a的n次方. 2 解决方案 2.1 从左至右二进制幂 此方法计算a的n次方具体思想,引用<算法设计与分析基础>第三版一段文字介绍: package c ...

  5. MyBatis整合双数据源

    有时候在项目中会遇到需要连接两个数据库的情况.本文就结合Spring和Mybatis来讲下怎么使用双数据源(或者是多数据源). 背景知识介绍 本文中实现多数据源的关键是Spring提供的Abstrac ...

  6. linux基础相关命令

    请参照以下文章 shell常用命令:https://www.cnblogs.com/pengtangtang/articles/PengTangTang_linux_base_one.html 通配符 ...

  7. ESXI多网卡网络配置

    1.两台路由器接入不同网络: 2.一台4网口服务器,网口分别为:vmnic0.vmnic1.vmnic2.vmnic3 3.ESXI6.5服务器虚拟机系统 测试环境模拟: 路由1:192.168.0. ...

  8. 关于adb命令的基本使用

    在我们使用adb命令之前,我们要安装一个安卓模拟器(夜神.逍遥.海马王......),这里以夜神安卓模拟器为准(个人推荐,没用过可以使用夜神模拟器). 进入夜神安卓模拟器官网:https://www. ...

  9. protobuf安装流程

    protobuf安装流程 环境 平台 ​ Ubuntu16.04 依赖 autoconf automake libtool curl make g++ 安装流程 在Ubuntu / Debian上,您 ...

  10. markdown分页导出pdf

    在需要分页之处,插入代码: <div STYLE="page-break-after: always;"></div>