iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >shell perl python 剖析
  • 128
分享到

shell perl python 剖析

shellperlpython 2023-01-31 01:01:41 128人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

先不用说"无论什么语言都是一种工具"。工具是我们身体的一部分,解放军解放台湾靠"小米加***"? "工具无所谓"论可以休矣。对于实际的软件工程工具和平台的选择是很重要的,有时候是致命的1. perl是强大的, perl=shell+awk+

先不用说"无论什么语言都是一种工具"。工具是我们身体的一部分,解放军解放台湾靠"小米加***"? "工具无所谓"论可以休矣。对于实际的软件工程工具和平台的选择是很重要的,有时候是致命的
1. perl是强大的, perl=shell+awk+sed+一堆命令行工具。
   但是反过来也一样shell+awk+sed+一堆命令行工具可以替代perl. 
2. shell的简约,可读性比perl好,工具之间通过命令行stdio管道通信,任何一个小部分都可以拿出来测试和试验,程序维护/修改很容易。学习曲线和积累方式比perl更优。
3. perl是跨平台的呀!java,sysv标准, posix是跨平台工具和标准。oracle还跨平台呢! 但是实际软件部署是需要选择平台的,一旦选择好了就希望这个平台稳定。虽然unix/linux的命令行工具在不同的平台特性稍有不同,但是你一旦选定了平台,那么这个平台上的shell/命令行工具就是非常稳定的可依赖集合,不但可靠而且基本不会有变化。软件开发商的投资也因此受到了保护。perl和python则处于不断的变化当中,新的数据库DBI模块/某种功能的版本来临,需要perl/Python升级到新的版本。那么新的版本是否可靠,是否影响原有系统的运行参数? 那么需要很多的回滚测试。perl可以写文件到某个路径,win下面用盘符开头,*nix下面用/路经开头---软件开发和部署的成本并没有因为perl跨平台而减少。
    如果perl只是用来作为"胶水"粘合其他的程序,那么跨平台也就无从谈起了。效率也比不上shell
4. python是面向对象的呀!不错,只是没有了shell使用管道拼接程序,难以单独拿出某一块来跑跑看看有什么效果。你必须读完整个程序才能发现出了什么问题。开发成本不比shell低。
5. Unix的Kiss原则,perl和python都违反了。我刚学习shell,用的很爽。脚本里面有一部分是sed和awk,我不懂不要紧,我留给以后学习"sed和awk"。尽管如此我可以看到sed和awk的输入输出是什么,不影响我理解程序。我有用了,可以学学awk,学学find的高级用法。这些都不会使得原先的shell程序过时。perl呢? 就像java, swing出来了awt就过时了,一个新框架出来了老框架就得推导。作为一个语言,问题域太大。而shell恰恰做到了kiss,它只做好自己的事情。
6. 作为弱类型语言的perl,虽然避免了类型的繁琐开销,同时也使得程序的调试更加困难,反而不如shell的文本IO来的直观。
7. DBI很强大吗? 我们的系统如果选定了oracle那我就在shell脚本里面sqlplus然后直接sql语句,用dbi岂不累死(5倍以上的代码),难里理解,难以调试,可读性也级差!为了dbi屏蔽了db的不同,提供统一的接口? 如果db要改变,那么定义文件,存储过程,函数什么的全都要重写!脚本调用只是一小部分。python也存在同样的问题。如果完全不用存储过程呢? 那么j2se+hibernate+spring好了,真正的跨平台。perl/python的思想是大而全,和win+vs如出一辙。
8. python的很多用户来自win,因为上面默认没有shell,哈哈 :D
9. python的运行取决于变量,像perl一样,无法如同shell一样提取IO的结果来直观的调试和修改。
10.是的, linux的anaconda安装界面,yum都是基于python的,gnome/kde也大量依赖perl。那是为了有一个"像脚本一样运行的C/C++"。
   但是问题是操作系统虚拟机,桌面管理器都是严肃的东西,那些系统级别的perl/python的代码有牛人和牛组织来保证。如果是普通的应用软件开发呢(卖钱的那种),用perl/python的人会因为各种目的,有的是为了程序今后的扩展性(其实他离开以后这个版本就完结了),有的是为了移植性(其实大部分的系统都被绑定在一个特定的平台),有的是为了赶时髦(很多python用户都是这么来的),还有的是为了显示自己的编程多么厉害使用一堆perl/python的高级特性:总之,这个豪华的工具就是双刃剑,对于普通的项目普通的软件开发者来说,会给我们展示一个虚拟的天国(其实团队达不到那样的把握水准),然后会把事情弄得一团糟。    所以我选择古老的shell,古老而且稳定,保守而久经考验,足够而且简洁。M16会被更好的M4取代,但是AK47却是永恒的。

---------------话题补充---------------


--结束END--

本文标题: shell perl python 剖析

本文链接: https://www.lsjlt.com/news/183876.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • shell perl python 剖析
    先不用说"无论什么语言都是一种工具"。工具是我们身体的一部分,解放军解放台湾靠"小米加***" "工具无所谓"论可以休矣。对于实际的软件工程工具和平台的选择是很重要的,有时候是致命的1. perl是强大的, perl=shell+awk+s...
    99+
    2023-01-31
    shell perl python
  • shell、perl和python的简单
    自己总结的shell、perl和python的简单对比,欢迎交流!   【输出】 Shell:echo "hello,world" Perl:print “hello,world” Python:print "hello,world" 【变...
    99+
    2023-01-31
    简单 shell perl
  • Shell、Perl、Python、PHP如何访问MySQL数据库
    这篇文章主要为大家展示了“Shell、Perl、Python、PHP如何访问MySQL数据库”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Shell、Perl、Python、PHP如何访问MyS...
    99+
    2023-06-09
  • shell怎么调用perl脚本
    要在shell中调用Perl脚本,需要执行以下步骤:1. 确保已经安装了Perl解释器。可以在终端中输入perl -v来检查Perl...
    99+
    2023-10-21
    perl shell
  • perl怎么调用shell命令
    在Perl中,可以使用反引号或`qx//`操作符来调用shell命令。使用反引号调用shell命令的示例:```perlmy $ou...
    99+
    2023-10-07
    perl
  • Unix Shell的Perl中的’-x’选项
    在Unix Shell的Perl中,'-x'选项是用于检查文件是否可执行的条件表达式。它返回真(true)如果文件存在且可执行,否则...
    99+
    2023-09-17
    Unix
  • Perl、PHP、Python、Java
    ◆ 语言的发展趋势一定是动静结合、刚柔并济◆ Perl凝练晦涩,Python优雅明晰,Ruby精巧灵动,PHP简明单纯◆ 或许优雅正是来自对细节和规范的重视◆ (RoR)与Ruby结合之后,便如一只猱身而上灵猫,立刻衬托出Java和.NET...
    99+
    2023-01-31
    PHP Perl Java
  • python源码剖析之PyObject详解
    目录一、Python中的对象1.1 对象机制的基石PyObject二、类型对象2.1 对象的创建2.2 对象的行为2.3 类型的类型三、Python的多态性四、引用计数五、Pytho...
    99+
    2024-04-02
  • 如何剖析Python 测试框架
    这期内容当中小编将会给大家带来有关如何剖析Python 测试框架,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。许多的程序员会建议使用Python 测试框架,而不是手工测试是否相等的 assert 语句,在...
    99+
    2023-06-17
  • python源码剖析之PyObject的示例分析
    这篇文章主要介绍python源码剖析之PyObject的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!一、Python中的对象Python中一切皆是对象。————Guido van Rossum(1989)这...
    99+
    2023-06-15
  • 剖析 Python 和 Jython 的语法差异
    Python:所有导入的模块和对象都存储在全局命名空间中。 Jython:导入的 Java 包和类也被存储在全局命名空间中,但需要显式使用 Java 约定访问。 关键字 Python:none、true、false 是保留关键字。 ...
    99+
    2024-03-15
    Jython
  • Spring源码剖析9:Spring事务源码剖析
    转自:http://www.linkedkeeper.com/detail/blog.actionbid=1045...
    99+
    2023-06-02
  • 深入剖析 Python CPython 的内部机制
    Python、CPython、字节码、解释器、垃圾回收 字节码解释器 Python 代码在执行之前会被编译成字节码。字节码是一个中间表示,它比源代码更紧凑、更易于解释。CPython 使用一个字节码解释器,它逐条读取字节码并执行相应的操...
    99+
    2024-03-04
    了解 Python 解释器的内部机制对于优化代码性能和理解语言功能至关重要。本文将深入探讨 CPython(Python 最广泛使用的实现)的内部运作 从字节码解释器到垃圾回收。
  • 如何剖析Python if语句源代码
    如何剖析Python if语句源代码,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。Python if语句在Python编程语言环境中有很多应用的地方,不少的程序员都不能够很顺利...
    99+
    2023-06-17
  • 如何深度剖析Python语言特点
    这期内容当中小编将会给大家带来有关如何深度剖析Python语言特点,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。这里并不涉及python的特殊规则和细节,目标是通过示例使你快速了解Python语言的特点。...
    99+
    2023-06-17
  • HDFS原理剖析
    一、概述 HDFS是Hadoop的分布式文件系统(Hadoop Distributed File System),实现大规模数据可靠的分布式读写。HDFS针对的使用场景是数据读写具有“一次写,多次读”的特征,而数据“写”操作是顺序写,也就是...
    99+
    2023-08-30
    hdfs hadoop 大数据
  • perl和python的相互调用
    从实用角度出发,并未付诸于解释(有时间后期补充)。程序内容直接复制到文件,即可使用。 注意perl调用python路径在相同目录下; python调...
    99+
    2023-01-31
    perl python
  • 用Python解剖数据:深入数据分析
    深入数据分析: 数据探索 Python提供了一系列库和模块,如NumPy、Pandas和Matplotlib,用于数据探索。这些工具允许您加载、浏览和操作数据,以了解其分布、模式和异常值。例如: import pandas as pd i...
    99+
    2024-02-17
    Python 数据分析 数据探索 数据可视化 机器学习
  • Django admin源码剖析
    单例模式 单例模式(Singleton Pattern)是一种常用的软件设计模式,该模式的主要目的是确保某一个类只有一个实例存在。当你希望在整个系统中,某个类只能出现一个实例时,单例对象就能派上用场。 比如,某个服务器程序的配置信息存放在...
    99+
    2023-01-30
    源码 Django admin
  • 剖析 Python Django 中的数据库连接难题
    常见连接难题 以下是 Django 中常见的数据库连接难题: 超出最大连接数:当应用程序打开的连接超出数据库允许的最大连接数时,会出现此错误。 无法建立连接:应用程序无法与数据库建立连接,通常是由于配置错误或服务器不可用。 数据库暂时...
    99+
    2024-02-15
    Django 数据库 连接 故障排除 优化
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作