很多人都听说过一句话:人生苦短,我学python。这句话的来源是什么?为什么要学习python? 树哥今天来聊聊python这个话题。

什么是python?

python是一们计算机编程语言,也就是一门编写计算机软件的工具。python的中文释义是蟒蛇,名字其实没有什么含义,只是因为它的发明者Guido喜欢的一个电视连续剧的名字叫month python而已。

既然是一个计算机的编程语言,了解它的前世今生就需要了解计算机的发展历程。

一、计算机的发展历程

1946年-1981年 计算机结构阶段

1946年,世界上第一台计算机诞生 。

之后35年的时间,计算机主要就是解决计算能力的问题,cpu能力不断提升,内存增大,硬盘空间增大。

1981年-2008年 个人计算机时代

1981年开始,第一台个人计算机出现。

在这27年的时间内,主要出现两种技术:互联网技术和windows技术。

也就是说,这个时代主要是解决的一个交互问题。

互联网技术解决的是计算机与计算机之间的交互。

windows解决的是人与计算机之间的交互。

2008年-2016年 复杂信息系统时代

这个时代的开始的标志是2008年andriod操作系统的出现。

andriod操作系统出现代表了人类进入了移动互联网阶段。

在这个阶段最核心要解决的是海量数据的处理问题。

2016年--之后 人工智能时代

这个时代的标志是阿拉法狗出现打败李世石,人工智能将逐渐走上舞台

人工智能时代主要需要解决的问题是人类自身的问题。

二、计算机编程语言的发展

在计算机的发展历程中可以看到,第一个阶段是计算机硬件发展推动着计算机行业的发展,之后的阶段都是软件行业的发展推动着计算机的发展。没有计算机软件的硬件只是一堆没有灵魂的废铁,做不了任何事情。然而计算机软件不是凭空产生出来,而是由编程语言进行编写出来。接下来我们介绍一下这些编程语言。

机器语言

所谓机器语言就是计算机可以执行执行的语言,它们体现为0,1代码。 例如:000111 00111。

机器语言有两个特点:可读性差 没有几个人能读懂。

和cpu相关 在这个型号的cpu上的机器语言,不能移植到其他的cpu上。

汇编语言

所谓汇编语言,就是用一些助记词代替二进制,本质上也是直接对机器底层操作。

汇编语言也有两个特点:和cpu版本相关,不可以移植到其他的cpu上。

执行效率高,多用于工业控制领域。

高级语言

所谓高级语言是指更加贴近人类的语言的编程语言,例如语句: a = 1+2,大家都很容易理解; 高级语言也更加容易在各个平台之间进行移植。

目前,我们大多数学习的编程语言均为高级语言,总共有600种以上,基本涵盖了A-Z的所有字母。简单介绍几种常用编程语言:C语言

C语言诞生于计算结构时代,那个时候计算机的硬件还没有完全发展起来,内存只有可怜的几M大小,所以C语言是极其注重机器性能的语言,期待更加高效使用有限的计算机资源。

所以,学习C语言必须要了解计算机的底层结构,例如指针、内存、数据类型等等。反过来,学习好C语言也就能更加深刻理解计算机的底层结构。

Java

Java语言诞生在网络与windows时代,这个时代的计算机主要解决的是电脑和电脑之间,电脑和人之间的交互问题。所以,Java语言特别注重主客关系,关心交互问题。

学习Java语言就是学习面向对象及跨平台编程。面向对象就代表对象可以更好解决人机交互问题,跨平台编程可以比较好解决计算机之间的交互问题。

C++

C++语言应该是融合C语言和Java语言的特点,既有要理解底层计算机系统的需求,有可以面向对象解决跨平台问题。

C++通常需要学习对象,多态,继承等概念,多用于大规模程序的编写,例如操作系统、大量的图像处理等等。

VB

VB语言本质上是一种桌面应用开发语言,因为它主要定义一些对象、按钮、文本框之类。也就是说它是人和计算机之间的交互语言,但它没有很强的网络能力和跨平台能力,VB在当前在桌面、手机、Pad的多终端网络时代应用越来越不广泛。

超级语言

所谓超级语言,是指具备强大的言语生态,可以轻易复用别人编写的代码,具备简洁、高效、通用等特点。

这里指的超级语言就是指python语言。

为什么说python是超级语言呢?

因为python是世界上最大生态语言,其一家的生态就超过了其他所有语言的生态总和。python有13万的第三方库

意味着,只要有别人已经编写好的程序,您直接直接可以拿来就用,而不用重新发明轮子。

python的第三方库以每年2万的速度增加

这意味着随着越来越多的人使用python,绝大多数应用都可能有了程序。

python是万能胶水语言

python语言还是一种万能胶水语言,可以把其他编程语言的程序都粘粘在一起。

python语言应用广泛

无论是在航天的火箭,还是火星探测,或者人工智能、或者自动化处理,也或者去爬一些数据,python语言几乎可以使用在所有的行业。

最最核心的一点是:

python语言编程极为高效!

原因为:它的代码开发量不到c语言的十分之一

代表它的程序编写时间只是其他语言的十分之一,也就是它的编写效率比别的语言高十倍。

它有超级多的第三方库

代表着很多已有的功能不需要重新编写,也就是它的编写效率再比别的语言高十倍。

因为语法简单代码开发量小,因为有丰富第三方库开发量小,整体的效率会比其他语言高几十倍甚至上百倍,这可能也把它称为“超级编程语言”的一个原因吧。

总结:因为它应用广泛、极为高效、对其他语言的粘粘整合、有极其庞大的生态,所以我们认为python这样一种超级语言不可阻挡。当然,python还有很多优点,例如可以操作中文字符,可以对接excel等等其他优点,树哥在之后的文章中再详细探讨。

python超级关系_不可阻挡的超级语言--python相关推荐

  1. 人工智能语言python实验报告_【报名】人工智能语言Python启蒙课程(五六年级)...

    原标题:[报名]人工智能语言Python启蒙课程(五六年级) 7月,图书馆为中低年级的小朋友准备了两期8节课的少儿编程启蒙课程.8月,我们将为小学高年级的学生朋友献上一期人工智能语言Python启蒙公 ...

  2. Python灰帽子_黑客与逆向工程师的Python编程之道

    收藏自用 链接:Python灰帽子_黑客与逆向工程师的Python编程之道

  3. mysql和python的关系_八MySQL与Python

    <1>数据库介绍 什么是数据库? 数据库(Database)是按照数据结构来组织.存储和管理数据的仓库, 每个数据库都有一个或多个不同的API用于创建,访问,管理,搜索和复制所保存的数据. ...

  4. cf1月超级翻盘_穿越火线1月超级翻牌活动-穿越火线1月超级翻牌地址分享

    <穿越火线>1月超级翻牌活动网址是什么呢?很多玩家都想参与活动.感兴趣的话下面就和小编一起看看<穿越火线>1月超级翻牌活动网址介绍,希望大家喜欢. 活动规则 1.活动时间202 ...

  5. pyscripter与python的关系_【转】PyScripter启动出错:Python could not be properly initialized. We must quit....

    [问题] 折腾: 过程中,安装完毕PyScripter后,启动出错: Python could not be properly initialized. We must quit. [解决过程] 1. ...

  6. pyscripter与python的关系_【已解决】PyScripter启动出错:Python could not be properly initialized. We must quit....

    [问题] 折腾: 过程中,安装完毕PyScripter后,启动出错: Python could not be properly initialized. We must quit. [解决过程] 1. ...

  7. python 完全面向对象_史上最全的Python面向对象知识点疏理

    原标题:史上最全的Python面向对象知识点疏理 面向对象技术简介 类: 用来描述具有相同的属性和方法的对象的集合.它定义了该集合中每个对象所共有的属性和方法.对象是类的实例.class 类变量:类变 ...

  8. python自动化从零开始_从零开始学Selenium自动化测试:基于Python:视频教学版

    前言 第1章 自动化测试基础 1.1 自动化测试简介 1.1.1 自动化测试的定义 1.1.2 自动化测试与手工测试的关系 1.1.3 何时开展自动化测试 1.1.4 自动化测试的优势 1.1.5 自 ...

  9. python 面试问题_值得阅读的30个Python面试问题

    python 面试问题 Interview questions are quite tricky to predict. In most cases, even peoples with great ...

最新文章

  1. ThreadLocal源码分析
  2. Codeforces 352B - Jeff and Periods
  3. 6.排序算法最优的时间复杂度
  4. java炸弹游戏_java实现数字炸弹
  5. PHP高手干货分享:不能不看的50个细节!
  6. 针对Fluent-Bit采集容器日志的补充
  7. Java 集合系列03之 ArrayList详细介绍(源码解析)和使用示例
  8. 2015蓝桥杯省赛---java---B---8(饮料换购)
  9. (49)System Verilog字符串string详解
  10. 2012年7月新日本語能力試験N3、勉強している!
  11. 朗沃20140414
  12. 2014恒生电子笔试题
  13. Java去除使用富文本编辑器时自动生成的标签
  14. Adobe Flash Player 未能正常运行问题
  15. 【干货】前端开发者最常用的六款IDE
  16. 微信小程序蓝牙打印开发心得
  17. 理解两个函数乘积的导数的一种视角
  18. C2872 “detail”: 不明确的符号
  19. python读取文件报错OSError: [Errno 22] Invalid argument: '\u202aC:\\Users\\yyqhk\\Desktop\\1.csv'
  20. 服务器阵列卡缓存显示错误,服务器阵列卡(缓存)

热门文章

  1. [转] Gmail 的Host解决方案
  2. 【白皮书分享】低幼年龄段在线教育白皮书.pdf(附下载链接)
  3. nvidia-smi每0.1s实时显示显存使用情况,且数字变化处有白底
  4. Could not install packages due to an EnvironmentError: [Errno 13] Permission denied解决办法
  5. 机器学习算法总结之支持向量机(四)
  6. 电视墙服务器应用,电视墙服务器技术概述
  7. Leetcode每日一题:121.best-time-to-buy-and-sell-stock(买股票的最佳时机)
  8. POJ1321(深搜)
  9. ubuntu安装teamviewer教程 linux安装teamviewer教程
  10. 机器学习之熵【从定义到代码】