设为主页
收藏本站
当前位置: >
首页
->
Linux技术
->
发行版专区
->
Mandrake
->
Perl与MandrakeLinux
相关分类:
CentOS
ubuntu
turbolinux
Suse
slackware
Redhat
Mepis
mandriva
Mandrake
knoppix
Gentoo
Fedora
Debian
红旗
站内搜索:
智能模糊搜索
仅搜索标题
《Mandrake Linux10.0-Official》(Ma
(04-20)
Linux之Mandrake9宋体安装Shell程序
(04-11)
Linux汉化之让MandrakeLinux支持中文
(04-11)
在硬盘用ISO裸装Mandrake9
(05-05)
Perl与MandrakeLinux
(05-05)
Perl与MandrakeLinux
(05-05)
安装 Mandrake 9.0 与多重开机技巧
(05-05)
安装 Mandrake 9.0 与多重开机技巧
(05-05)
安装 Mandrake 9.0 与多重开机技巧
(05-05)
安装 Mandrake 9.0 与多重开机技巧
(05-05)
Perl与MandrakeLinux
作者:
Webmaster
来源:
Linux-cn.com
点击:
日期:
2007-05-05 [
收藏
] [
投稿
]
IE是否经常中毒?推荐您
译者/作者:klaus
出处:中国Perl协会 FPC(Foundation of Perlchina)
作者:Mark Stosberg
原名:Perl and Mandrakelinux
原文:http://www.perl.com/pub/a/2005/02/24/mandrakelinux.html
发表:February 24, 2005
请保护作者的著作权,维护作者劳动的结晶。
Perl 程序员们选择 Mandrakelinux 作为他们的操作系统是有他们特殊理由的。 Mandrakelinux 的许多发行版都使用 Perl 作为其附加程序的开发语言,包括大部分的 Mandrakelinux 控制台。我向 Mandrakelinux 提出要求,请求采访一位他们之间最好的 Perl 开发者,于是他们介绍了Rafael Garcia-Suarez 。Rafael 除了是 Mandrakelinux 的 Perl 开发人员之外,还是 Perl 5.10 的 pumpking(发布人)。Rafael 回答了我关于 Perl 与 GUI 编程的一些问题,并且还谈了他是如何在正常工作与 pumpking 的身份之间平衡的。
O’Reilly Network: 简单介绍一下你为 Mandrakelinux 所做的一些和 Perl 有关的工作吧。
Rafael: 我的主要职责是维护和加强 urpmi 这个命令行工具(以及它的 GUI 版本 rpmdrake),它是 Mandrakelinux 系统上的 debian apt 或者说 Fedora 上的 yum。它的功能是通过获取有依赖关系的 RPM 来安装或升级它们。
这项工作实际上涉及到了所有和安装有关的问题,所以我也参与 Mandrakelinux 的安装程序的升级的工作。这些全都是用 Perl 写的。
除了前面这些我还在维护 perl 本身的 RPM,以及 CPAN 上一些和 Mandrake 有关的模块。
ORN:采用 Perl 来做图形界面,是一个不太常见的选择,但是 Mandrakelinux 却选择 Perl 来写了超过五十个图形界面的程序。其中许多都是 Mandrakelinux 特有的,发行版附加程序。你能不能谈谈为什么 Mandrakelinux 要用 Perl 来完成这个重要的工作?
Rafael:并不是所有工具都是用 Perl 写的。不过始终使用同一种语言有利于所有工具共享和代码重用,像 perl/rpmlib 还有图形工具箱,OS 安装程序还和 urpmi 和 rpmdrake 都共享了一些代码。是不是采用一种语言取决于开发的速度以及 debug 的难度。在我来 Mandrakesoft 之前,开发队伍也曾经尝试过痛苦的用 C 语言来写 rpmdrake 。选择 Perl 是很自然的,因为它已经有一些很好的特性可以完成这项工作。
编者注:最近, Linspire 发行版也采用的动态语言来开发图形界面程序,并快速的将它推向了市场。
它的 Lsongs 和 Lphoto 使用的是 Python。
ORN: 能否举个例子说说 Perl 怎样显著缩短了开发时间?
Rafael: 我觉得使用脚本语言基本上都能缩短开发时间,因为使用它们之后,写代码/编译/测试/debug 这个循环变得更快了。 而 Perl 由于拥有大量的 CPAN 模块而尤其有用。 比如在 Devel::Trace 模式下运行 OS 安装程序会生成大量的 log 文件,在追踪那些很隐蔽的 bug 的时候极其有效。如果用 C 的话就没法做到,只好到处添加 printf 然后反复的重新编译整个程序。
ORN: Mandrakelinux 使用什么工具来自动测试图形界面的 Perl 程序呢?
Rafael: 嗯?你是新手(interns)吧?
严肃的讲,实际上没有什么针对 GUI 程序的自动测试。对这种程序的自动测试会碰到有一些很棘手的问题,因为它们常常会修改系统的配置或是需要某些特定的硬件(更不要说 OS 安装程序的 GUI)
不过,我一直希望将来能够写出更多的测试程序,比如对 urmpi 的一套完整测试就非常有用。
ORN: 那些 Perl 社区的人(尤其是那些提交补丁的人)对 Perl 开发的 Mandrake 工具有何回应呢?
Rafael: 那些提交补丁的人往往是希望能够改善他们所用的发行版的人,即使他们是来自 Perl 社区。他们是以一个 Mandrakelinux 用户的身分来参与的。这就是为什么这些工具在 MDK 之外的地方很少能见到的原因。
另一个原因是 Mandrakesoft 从来没有想过要把什么 library 是 MDK 特有的,而什么不是的分割开,然后写出完整的文档:这些都需要很多时间,没有直接的回报,而且常常不能在期限内完成。
不过储存这些工具的源码的 CVS 是公开的,有一些开发者(如 Mandrakesoft 的员工)有管理的权限。我们现在需要更多的人了解这一点。
ORN:如果有 Perl 程序员愿意为 Mandrakelinux 做些贡献,你对他们有什么建议?
Rafael:和许多开源项目一样,如果你想知道它是怎么开发的以及参与到开发当中去,你就使用最新的版本,在 Mandrakelinux 当中叫做”cooker”,最新的开发版。订阅 mail list,在 CVS 里 check out,获取一个 Bugzilla 帐号,多向别人请教。学习怎么创建 RPM 包也是有用的,至少学会把那些工具打成 RPM 包。很多问题在 wiki 中都有解答,可以看看这个页面:http://qa.mandrakesoft.com/twiki/bin/view/Main/HowTo
ORN:你用 Perl 做为系统的核心组件,然后无数的工具都依赖它,那能说说你在维护它们的过程中你碰到的最大的挑战吗?
Rafael:呃,这个要说的话,有两种:空间上的和时间上的。
首先,空间上,你需要把标准的 Perl 发行版分割称更小的包(”perl-base”用于基本组件,”perl”用于其他组件,”perl-devel”用于开发组件,而”perl-doc” 则用于它自己以及其他的文档),这个分割不是随意的。当你维护向 urpmi 这样的系统管理基础组件的时候,你不会想要太多的 Perl 模块,甚至很多核心模块也不需要。(安装程序也一样,全都要的话安装 CD 就满了)所以 perl-base 只包括了 urmpi 需要的模块,其他的则包含在 perl 里面。
ORN:人们常认为 perl 用作图形编程的时候会很慢。Mandrakelinux 如何解决这个问题的呢?
Rafael:我觉得 Perl 本身不是这样,只有少数的 Perl 程序才会这样! MDK 工具使用的是 perl-Gtk(因为这些工具开始开发的时候Qt还不够成熟),由于它非常接近 C 的库,所以效率完全可以接受。
你知道 Frozen Bubble 这个游戏吧?它是 Mandrakelinux 以前的一位成员用 Perl 写的,它一点也不慢。人们听说 Frozen Bubble 和 MDK 是 Perl 所写的时候往往很吃惊,因为他们完全没有感觉到那种所谓的由一般脚本语言所写的 GUI 常有的缓慢速度。
实际上 MDK 的速度瓶颈其他程序一样,即不是在图形显示方面,而是在数据处理方面。
如果您对本文有任何疑问或者建议,请到讨论区发表您的意见:
>> 论坛入口 <<
上一页
1
2
下一页
上一篇:
安装 Mandrake 9.0 与多重开机技巧(5)
下一篇:没有了
【
文章评论
】 【
收藏本文
】 【
推荐好友
】 【
打印本文
】 【
我要投稿
】 【
论坛讨论
】
相关文章:
·
Perl与MandrakeLinux
·
安装 Mandrake 9.0 与多重开机技巧(5)
·
安装 Mandrake 9.0 与多重开机技巧(4)
·
安装 Mandrake 9.0 与多重开机技巧(3)
·
安装 Mandrake 9.0 与多重开机技巧(2)
·
安装 Mandrake 9.0 与多重开机技巧(1)
·
在硬盘用ISO裸装Mandrake9
·
《Mandrake Linux10.0-Official》(Mandra
·
Linux汉化之让MandrakeLinux支持中文
·
Linux之Mandrake9宋体安装Shell程序
文章评论:
(1条)
请留名:
匿名评论
点击查看所有评论
论坛讨论
声明:刊登此文章是为了传递更多信息,文章内容仅供参考,转载请注明出处。