perl shell php python 的区别

********************************************************************************
perl:用作文本处理比较好,可以作为系统的辅助工具
shell:大概应该指bash吧,用作系统维护、操作等方面
php:网页了,网络应用
python:功能强大,模块多、跨平台能力好,完全面向对象,尤其适用做大型脚本程序的开发和快速开发,国内这方面需求开始有所增加,强烈建议
********************************************************************************
一般来说,php网页上用得挺多,其他的几个一般用的不是很多,除了某些比较特殊的行业外,更多的是作为开发人员工具箱里的一个瑞士军刀式的武器,为自己或者公司的开发提高效率而已。 
********************************************************************************
各有所长。如果找工作比较吃香的是php和python
perl擅长文本处理
shell分类杂多,但是完成一次性工作很方便。但是写程序可读性真的不怎么样 
********************************************************************************
服务器管理学shell
    开发学perl 或python

估计只要有linux就一定会有shell , perl python 类似的语言会越来越多...没准哪天又流行个类似的语言呢.
 别的语言流行来流行去,shell还是shell,C还是C,asm还是asm。
********************************************************************************
python上手快,易学,好多大公司都用,另外php能做的,Python都可以做到。
********************************************************************************
我看shell+awk+sed的功能都可以用python实现,而且面向对象,语法直观。
shell呢,很大程度上,你不得不依赖奇技淫巧,这部分太难全面了,太花时间了。
py就没这问题,ruby也行。不过用的太少。
********************************************************************************
如果是准备做开发,建议PYTHON
不管是WEB方面还是网络编程,PYTHON都有较好的支持,而且现成的模板比较多,尽管PERL 有 CPAN 
但发展较慢
********************************************************************************

给个建议, perl 和shell 编程 先学那个?

两个没有什么关系,shell是使用命令行模式应该会的,perl是用来完成很多功能的。举个不恰当的例子,shell相当于批处理(dos下的bat文件,当然要笔bat强大了许多许多),perl相当于c语言。
********************************************************************************

用shell而不用perl/python的理由

先不用说"无论什么语言都是一种工具"。工具是我们身体的一部分,解放军解放台湾靠"小米加步枪"? "工具无所谓"论可以休矣。对于实际的软件工程工具和平台的选择是很重要的,有时候是致命的
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,哈哈 
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却是永恒的。
********************************************************************************
我觉得你要是系统或数据库运维人员的话, shell及其grep等UNIX基本工具的基本知识是必须要学的, 而且越深入越好, 因为这是基础. perl绝对是运维人员的利器, 瑞士军刀, 功能强大, 速度快, 几乎所有的UNIX系统都自带(包括SCO这种老掉牙的系统), 我从来不用网络上的其他模块, 不用语言里面很新的东西, 只用perl自带的模块, 基本的功能, 这样你的脚本所有系统下都通用, 登陆就能用了. 强烈建议学习一下, 如果有UNIX, shell, C的基础的话, perl学起来很快的, 看过小骆驼书就能解决绝大多数问题了(我一周看完就开始用了), 不过刚开始写脚本的时候, 经常记不住那些符号啊, 变量啊什么的, 呵呵, 熟了就好了. 学了perl之后, 除了很简单的脚本之外, 你不会再想去用shell写脚本了. 至于python, 管理员们还是算了吧, 难道你想在所有服务器上安装一遍python? 麻烦暂且不说, 领导让吗?

如果是开发人员, 不考虑兴趣的话, shell和perl基本上不用学了. 没什么意义了. python可以学一下的.
********************************************************************************
shell是必备python perl任选其一
********************************************************************************

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值