问个很菜的问题,perl这样古老的语言与其他语言相比优势在哪,有了php、jsp、asp.net为什么还需要用perl写cgi程序呢?

xingqiliudehuanghun 2008-07-10 01:52:51
今天看了下新浪sina的招聘,应聘者需要熟悉perl,感觉不解,写web程序jsp什么的已经很方便了为什还需要perl来写cgi呢
,对perl只是知道他是一门脚本语言其他的没了解过,所以在这想请教各位
...全文
357 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
hwman 2008-07-18
  • 打赏
  • 举报
回复
perl 除了可以写web之外,还可以编写可以直接运行的工具(主要是自己使用的实用小程序),这些使用php或者jsp之类是很难完成的。比如我就经常编写一些自动抓网页并进行分析、自动提交的程序。另外,perl有庞大的cpan库,几乎涉及到你能够想象到的任何一方面。虽然现在python写程序更简洁,但是很多时候我还是要换回perl。什么时候可以实现perl 和python之间的互通就更爽了
wang154 2008-07-18
  • 打赏
  • 举报
回复
1. 为什么还直接用CGI呢?.
目前说直接用CGI主要是指直接用 C/C++/PERL等编写CGI源文件, 它们共同的缺点就是没用HTML模板文件进行流程控制, 输出操作相对复杂些. 但直接用 C/C++编写CGI还具有如下优势和原因:
(1) 高效率, C/C++ 不像PERL/VBS/JS等解释执行语言运行时解释执行源文件中的语句. 同时这一点仍非JAVA/PHP等所能及. 金山毒霸免费下载 所以C/C++仍是许多WEB应用的首选, 特点是大型WEB应用中.
(2) 嵌入式设备(如PDA/数码产品/通信产品)WEB应用的首选, 目前几乎所有的嵌入式设备都直接用C语言开发, 而CPU/内存/外存等的限制几乎根本不可能安装如PERL/ASP/JSP的运行环境, 所以嵌入式设备上C开发CGI几乎仍是唯一选择.
CDSoftwareWj 2008-07-17
  • 打赏
  • 举报
回复
[Quote=引用 15 楼 xingqiliudehuanghun 的回复:]
引用 14 楼 w95927w 的回复:
perl就是为处理Web页面而生的,你说他比其它语言有什么优势

没搞错吧,为处理Web页面而生的因该是php,perl可以做的事情很多,大四上半年的linux课程上我安装过一些linux程序,里面好多安装程序就是用perl写的
[/Quote]

可能我说的太露骨了,哇哈哈哈,perl处理文本很强大,web页面又是大量文本组成,当然对头了
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 w95927w 的回复:]
perl就是为处理Web页面而生的,你说他比其它语言有什么优势
[/Quote]
没搞错吧,为处理Web页面而生的因该是php,perl可以做的事情很多,大四上半年的linux课程上我安装过一些linux程序,里面好多安装程序就是用perl写的
w95927w 2008-07-16
  • 打赏
  • 举报
回复
perl就是为处理Web页面而生的,你说他比其它语言有什么优势
wanderfox 2008-07-16
  • 打赏
  • 举报
回复
我觉得perl开发效率更高些,lz可以参考一下《代码大全2》,第四章有一个效率的比较,我觉得还是很客观的。
  • 打赏
  • 举报
回复
在网上查了下大体上有了一个粗略的结论不知道是否正确:
1.cgi虽然开发效率要低一些但安全性高、跨平台,大公司人力充足这个缺点与优点相比可以接受
2.perl免费、开源,避免对某一特定厂家的技术依赖
3.对方是sina是用php架构的整个网站,php与perl搭配比较适合(网上的说法)
可能也就这几项了
rootbin1 2008-07-15
  • 打赏
  • 举报
回复
perl 无所不能!~
  • 打赏
  • 举报
回复
算了就此打住,要不又要吧话题转移到开发语言的比较上了,还是回到帖子的主题上吧。
[Quote=引用 6 楼 Semigod 的回复:]
因为方便
[/Quote]
方便在哪?perl语言有的,其他语言也都有啊?
iambic 2008-07-14
  • 打赏
  • 举报
回复
用JSP的多是些公司内部的网络或者学校,没多少人访问的。楼主可以找几个JSP开发的例子来看看。
那么多人用JSP,完全是由于这是J2EE的一部分,搞Java的没什么别的选择而已。
  • 打赏
  • 举报
回复
我现在就在用jsp,楼上的观点不敢苟同,如果真是那样怎么会用这么多人在用jsp?。
iambic 2008-07-13
  • 打赏
  • 举报
回复
JSP是乱七八糟的一门技术,可用性很差,据说对硬件要求还很高,以至没什么实际的应用。
Semigod 2008-07-13
  • 打赏
  • 举报
回复
因为方便
  • 打赏
  • 举报
回复
这个区人气比较差些,再等等
  • 打赏
  • 举报
回复
存在就是合理,这点很对,所以才感觉迷惑。论可维护性和使用人群比不过java,论速度应该比不过c++,毕竟是解释语言吗,可是人们还是用他来开发cgi,难道是这些大网站建立的比较早,一些较早的程序是用cgi写的吗?
maxyan 2008-07-10
  • 打赏
  • 举报
回复
存在就是合理,讨论这个没有什么意义。
wx红杉树 2008-07-10
  • 打赏
  • 举报
回复
1. 什么是CGI?
CGI 是通用网关接口(Common Gateway Interface)的缩写. 它主要用于服务器端动态输出客户端的请求(如,HTML页面/二进制文件). 也就是说客户端请求参数不同, 服务器端会给出不同的应答结果..

CGI 标准将这个接口定义的非常简单 (即: WEB 服务器收到客户端的请求后通过环境变量和标准输入(stdin)将数据传递给CGI程序, CGI程序通过标准输出(stdout) 将数据返回给客户端). 所以只要能操作标准输入/输出的程序语言都可以CGI程序, Perl/C++/JAVA/VB等.

2. CSP/ASP/JSP/PHP/PERL 与CGI程序的关系?
严格来讲, 它们全都是CGI的变种, 因为它们的操作原理都是CGI. 而在又在CGI的基础上作了进一步的包装, 屏蔽了CGI的与程序语言相关的接口. 如从环境变量和标准输出中获取参数被包装成 getParameter(),将数据输出到标准输出被包装成 “=”, print(), echo() 等. 万变没离其踪.

3.为什么要包装?
如同将TCP/IP协议进行分层一样, 目的都是简化操作的难度. CSP/ASP/JSP/PHP/PERL等都提供了各自的操作接口, 另外CSP/ASP/JSP/PHP等直接将 C/C++ /VBS/JS/JAVA/PHP语句嵌入到HTML模板文件中, 还能很好地对输出流程进行控制.

4. 为什么还直接用CGI呢?.
目前说直接用CGI主要是指直接用 C/C++/PERL等编写CGI源文件, 它们共同的缺点就是没用HTML模板文件进行流程控制, 输出操作相对复杂些. 但直接用 C/C++编写CGI还具有如下优势和原因:
(1) 高效率, C/C++ 不像PERL/VBS/JS等解释执行语言运行时解释执行源文件中的语句. 同时这一点仍非JAVA/PHP等所能及. 所以C/C++仍是许多WEB应用的首选, 特点是大型WEB应用中.
(2) 嵌入式设备(如PDA/数码产品/通信产品)WEB应用的首选, 目前几乎所有的嵌入式设备都直接用C语言开发, 而CPU/内存/外存等的限制几乎根本不可能安装如PERL/ASP/JSP的运行环境, 所以嵌入式设备上C开发CGI几乎仍是唯一选择.

5. 将 C 直接嵌入到HTML中叫CSP吗?
是的, C 语言天然好的"移植性/高效性/灵活性", 一直以来都是最受程序员青睐的语言, 现在用CSP 技术我们就可以轻松地将 C 语句直接嵌入到 HTML 源文件中了, 它编程过程跟ASP/JSP/PHP 几乎一样. 甚至有些时候, 就可以直接拿 JSP/PHP 的源文件作为 CSP 的源文件了, 因为它们都用 <% 和 %> 进行标记.

如果你对 CGI有兴趣, 可以:
下载并运行的CGI示例程序(还包括一个web 服务器, 共 217K):
http://www.eybuild.com/develop/demoshow.htm

免费下载CSP的开发环境 eybuild (Windows/Linux版):
http://www.eybuild.com/develop/download/eyBuild-00-07-00.tar.gz
wx红杉树 2008-07-10
  • 打赏
  • 举报
回复
用Perl来写CGI应用程序,因为Perl有很强的字符串处理能力,在国外很多处理数据库的软件可以用Perl来沟通。在Perl5.0版本中还增加面向对象的用法、增加对字符串的处理能力、可以把整个文件当成一个字符串来处理、不受任何数据的大小限制而只受存储器的大小、能够处理DBM数据库格式的数据也能够处理二进制的数据等等,更重要的是Perl还可以在Unix、WindowsNT、Windows95、Dos、Linux、FreeBSD、OS2、Macitosh等操作系统中使用。目前还可以用Perl来和一些数据库软件沟通,在国外一些功能强大的CGI应用程序几乎都是用Perl语言来当主角!

37,735

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧