标签:tle mil 学生 解释型 速度 功能 并发 时间 职业
我是一名大学生,在校期间有幸参加了大数据竞赛,然后知道有一门编程语言叫做Python,后来在校期间又去研究linux,发现云计算特别火,Openstack便是基于Python语言开发的,然后我就开始去尝试学习Python。
对于一个0基础的小白,我同样也走过了很多弯路,这本书写的好,就看看这本书,其他人推荐那本书,我又去看了那本,到最后发现什么都没看,也没有学到;去闲鱼、淘宝上买视频,发现讲来讲去并没有多好,后来到了企业中, 就十分佩服那些会开发的,很喜欢那种一坐就是坐一整天的,那么具体是什么推动我一定要学python的呢?
在我面试的时候是运维实习生,我以为会去接触到linux服务器,结果是去监控公司1000台服务器,当然,我并不会觉得监控就不好,直到了后来,也不知道自己怎么发展的,就变成了桌面运维,当时还是比较闲,到了后来就发现很烦,一点东西都没有学到,包括我的linux运维这一块,有人曾经和我说:在公司中,并不是你想去干什么就去干什么,而是公司让你干什么你就要去干什么。我也曾拿这句话安慰过自己,后来每天过的超级烦,实在是不想搞了,我是一名学生,学习这个习惯一直没有没落。
现在规模稍微大一点的公司都会上云,那么传统的运维工程师将在几年之内就会饱满,那么该怎么办,python!python在云计算、自动化运维、数据分析这一块十分有优势,而我也是那种学习就是享受的人,python我必须要学会。
我是一个十分有理想的人,我为我的以后3-5年做过仔细的职业规划,我很明确的知道自己想要什么,同时需要付出多大的努力,我也不想一直就这样碌碌无味,我不想!!!
我相信:付出总有回报,时间稍纵即逝。
和C++相比,很重要的一点就是:C++编译生成的是纯二进制的机器指令, 而Java编译生成的是非纯二进制的字节码。而这种Unicode字节码是不依赖特定的计算机硬件架构而存在的--这就意味着只要有JVM环境,你的字节码就可以在任何平台上运行。其次,Java字节码的二进制数据以固定的格式进行存储和传输,消除了字节顺序的干扰。
Java为什么能跨平台?因为字节码实在虚拟机上运行的,而不是编译器,是因为JVM能跨平台安装,所以相应Java字节码便可以在任何平台上运行。只要JVM自身的代码能在相应平台上运行,即JVM可行,则Java的程序员就可以不用考虑所在的程序要在哪里运行,反正都是在虚拟机上运行,然后变成相应的机器语言,而这个转变并不是程序员应该关心的。
由于计算机内部只能接受二进制代码,因此,用二进制代码0和1描述的指令称为及机器指令,全部机器指令的集合构成计算机的机器语言。
机器语言属于低级语言。
编出的程序全是些0和1的指令代码,直观性差,还容易出错,除了计算机生产厂家的专业人员外,绝大多数的程序员已经不再去学习机器语言了。
机器语言是微处理器理解和使用的,尽管机器语言好像是很复杂,然而它是有规律的。
存在着多至100000种机器语言的指令。这意味着不能把这些种类全部列出来。
汇编语言的实质和机器语言是相同的,都是直接对硬件操作,只不过指令采用了英文缩写的标识符,更容易识别和记忆。
它同样需要编程者将每一步具体的操作用命令的形式写出来。汇编程序的每一句指令只能对应时间操作过程中的一个很细微的动作。例如移动、自增,因此汇编程序一般比较冗长、复杂、容易出错,而且使用汇编语言编程需要有更多的计算机专业知识。
但汇编语言的优点也是显而易见的,用汇编语言所能完成的操作不是一般高级语言能够实现的,而且源程序经汇编生成的可执行文件不仅比较小,而且执行速度很快。
高级语言是大多数编程者的选择。和汇编语言相比,它不但将许多的机器指令合成为单条指令,并且去掉了与具体操作有关但与完成工作无关的细节,例如使用堆栈、寄存器等,这样就大大简化了程序中的指令。同时,由于省略了很多细节,编程者也就不需要有太多的专业知识。
高级语言主要是相对于汇编语言而言,它并不是特殊某一种具体的语言,而是包含了很多编程语言,例如:C/C++,JAVA,PHP,Python都属于高级语言。
相比机器和汇编语言,高级语言对开发人员更友好,在开发效率上大大提高!
高级语言所编制的程序不能直接被计算机识别,必须经过转换才可以执行。
按照转换方式可以将他们分为两类
编译是指在应用源程序执行之前,就将程序源代码“翻译”成目标代码(机器语言),因此其目标程序可以脱离其语言环境独立执行(编译后生成的可执行文件,是cpu可以理解的2进制的机器码组成的),使用比较方便、效率较高。但应用程序一旦需要修改,就必须先修改源代码,再重新编译新的目标文件才能执行,只有目标文件而没有源代码,修改很不方便。
编译后程序运行时不需要重新编译,直接使用编译的结果就可以了。程序执行效率高,依赖编译器,跨平台性差些,如C,C++等。
执行方式类似于我们日常生活中的“同声翻译”,应用程序源代码一边由相应语言的解释器“翻译”成目标代码(机器语言),一边执行,因此效率比较低,而且不能生成可独立执行的可执行文件,应用程序不能脱离其解释器(想运行,就必须要装上解释器,就像跟老外说话,必须要有翻译在场),但这种方式比较灵活,可以动态的调整,修改应用程序。如python、PHP、Java等。
优点
缺点
机器语言
优点是最底层,速度最快,缺点是最复杂,开发效率最低
汇编语言
优点是比较底层,速度最快,缺点是复杂,开发效率最低
高级语言
编译型语言执行速度快,不依赖语言环境运行,跨平台差
解释型跨平台好,一份代码,到处使用,缺点是执行速度慢,依赖解释器运行
当我们从Python官网下载并安装好了Python 2.7后,我们就直接获得了一个官方版本的解释器:CPython。这个解释器是用C语言开发的,所以叫CPython。在命令行下运行python就是启动CPython解释器。
CPython是使用最广的Python解释器。教程的所有代码也都在CPython下执行的。
IPython是基于CPython之上的一个交互式解释器,也就是说,IPython知识在交互方式上有所增强,但是执行python代码的功能和CPython是完全一样的。好比很多国产浏览器虽然外观不同,但内核其实都是调用了IE。
PyPy是另一个Python解释器,它的目标是执行速度。PyPy采用了JIT技术,对Python代码进行动态编译,所以可以显著提高Python代码的执行速度。
JPython是运行在JAVA平台上的python解释器,可以直接把Python代码编译成Java字节码执行。
IronPython和JPython类似,只不过IronPython是运行在微软.Net平台上的Python编辑器,可以直接把Python代码编译成.Net的字节码。
标签:tle mil 学生 解释型 速度 功能 并发 时间 职业
原文地址:https://www.cnblogs.com/xiaoyafei/p/8877295.html