python,shell,c语言总结
来源:互联网 发布:郴州市2016年财政数据 编辑:程序博客网 时间:2024/06/13 01:27
百度百科上对于Python的介绍是:一种面向对象、直译式程序设计语言,也是一种功能强大而且完善的通用型语言,已经具有十多年的发展历史,成熟且稳定。这种语言具有非常清晰的语法特点,适合完成各种高层任务,几乎可以在所有的操作系统中运行。目前,基于这种语言的相关技术正在飞速发展,用户数量急剧扩大,相关的资源非常多。
综合网络及书籍对于Python的各种评价来看,Python应用是非常的广泛,而且在未来也是非常被看好的语言。但这并不代表Python是适用于任何场合的,如对于一个SA(系统分析员)而言,平时管理系统用shell脚本肯定是最简单的,如果纯粹的系统管理,应该很少有问题是shell解决不了的,使用shell来处理也会显得更加地方便和快捷,举个例子:把所有开头是#的行都找出来,用shell只需要一个grep命令,而对于Python则需要open(文件).readlines(),然后还需要读入正则表达式模块,一行一行地读入文本,再分析该行是否满足条件,需要一大堆的逻辑代码才能完成shell一个命令的功能。
当然,任何一种语言必定有它的适用范围,虽然在开发效率方面Python要低于shell要高于shell,但Python相对于shell的优点,依照我最近的学习,感觉可以概括为如下方面:
(1)Python不需要记忆太多的命令,语法简单,有C基础的人学起来非常容易上手,易于使用。而shell要学的命令太多了,但常用的命令不是太多。
(2)Python可移植性好,它的标准是统一的,不会出现因为平台的不同运行结果不同,但shell的命令在各个平台上还有些不一样。
(3)Python要更加强大,shell是一种命令语言,同时也可以看成是一个命令解释器,用于接收诸如awk、sed的命令调用等完成相关的功能。而Python则是一种编程语言,Python提供给程序员更大的自由度和灵活性,以完成shell所不能完成或者难于完成的编码任务,如实现面向对象的模块化设计、操作服务器数据库等等。
(4)Python支持面向对象、支持可扩展性和可嵌入性,同时提供了功能丰富的库
(5)性能方面:很明显地,Python的执行效率要高于shell,有一个很充分的理由就是shell本身的各种进程间IPC通信要造成相当大的开销。而Python底层是用C实现的,其性能可以接近于C,但具体相同功能的Python代码量却要比C短上很多倍!因此,按照性能排序:C > Python > shell,按照开发效率排序:shell > Python > C。
其实对于各种编程语言的发展,如果纯以语言的执行效率而言,最快的肯定是汇编了,为什么有了汇编之后还会有C?而有了C之后还会有Perl、Python呢?这应该是许许多多天才般的程序语言设计者们,从开始都现在一直在不断地追求的,试图在语言的执行性能与易用性上寻找一个平衡点。而语言本身只是工具而已,而这项工具好不好用,除了很大程度上取决于语言本身的设计之外,另一方面则是与语言使用者本身的熟练度、能力和水平密切相关。
程序设计语言其诞生的意义在于解决问题,验证想法,属于对问题求解的实践过程,如研究数据挖掘的,主要关注的是数据的分布、概率模型等数学算法问题,用哪种语言来验证方案的可行性并不非常重要,对于语言本身的唯一的要求可能就是要好用,最好不需要有太多复杂的语法,通过简单地学习就可以上手并能轻松地写出程序,二是要执行效率可以接受,不需要最快,但也不能太慢。
而在执行效率与易用性上,脚本语言给了用户一个很好的平衡点,而这一点,恰恰是脚本语言的最重要的意义。我们可以通过脚本方便快捷地编写代码,甚至在某些情况下,这此脚本代码执行的效率跟C是相差无几的。
春节过年,走亲访友是常事,就没有用实验去验证比较一下shell、Python和C性能的差异。不过我找到一个非常有意思的网站:http://shootout.alioth.debian.org/
这个站点对比了所有主流语言的执行的性能包括[时间、内存、代码量],如下图所示的是:在运行多个有代表性的测试用例情况下,Python的性能除以C语言的性能得到的数据图,可以看出C在[时间、内存]上的开销要低于Python,但在[代码量]上Python要少于C。
- python,shell,c语言总结
- 编程语言基本用法总结(Shell,Python,C/C++)
- 编程语言基本用法总结(Shell,Python,C/C++)
- 【总结】python和C语言(1)
- C 语言Shell 排序
- shell排序-c语言
- shell与C语言
- python调用shell总结
- 【总结】C语言总结!!!
- [C语言]C总结
- C语言 调用 shell 命令
- C语言调用SHELL脚本
- C语言SHELL排序算法
- c语言运行shell脚本
- Shell Sort C语言实现
- C语言调用shell命令
- c语言执行shell命令
- c语言执行shell命令
- Android MediaRecorder录制视频提示start failed的解决办法
- cf589B Layer Cake 排序
- 错误代码: 1048 Column 'typeId' cannot be null
- PermGen space
- oracle课堂收录-存储过程
- python,shell,c语言总结
- 项目总结——疯狂食材
- lvs模型及调度算法
- C++静态库与动态库(转载)
- JSON
- iOS巅峰之UIScrollView滑动的左右上下位置控制
- kendo ui upload html + java + springmvc
- vim
- OOP三个基本特征:封装、继承、多态