perl 还值得学吗

2018-10-14 17:25:26 +08:00
 jiafaner
工作需要,要把一个 perl 的程序重新做一套手机版出来,功能挺多的,好几十个模块,老板的意思是 perl 的程序不要动,扩展 perl 的接口出来我们用 vue 写客户端,可没人会 perl

现在是两个方案,一个是老板的方案,另一个是用 PHP 重写,老板说重写的风险高于扩展,建议学点 perl

网上都找不到 perl 的资料了,这个语言还值得学吗,现在还有人用吗,还有什么优势没
6504 次点击
所在节点    Perl
18 条回复
liprais
2018-10-14 17:47:16 +08:00
perl 早就该死了,建议离职
lululau
2018-10-14 17:51:33 +08:00
Perl 的书有一大堆吧,小骆驼、大骆驼、菜谱,等等;你的问题到底是还有没有人用 Perl 还是 Perl 值不值得学?
jiafaner
2018-10-14 17:54:42 +08:00
@liprais 怎么突然建议离职呢
jiafaner
2018-10-14 17:55:05 +08:00
@lululau 感觉现在要学的东西太多了,不知道还要不要学习 perl,不知道值不值得学
wtks1
2018-10-14 18:08:58 +08:00
我们公司现在都在把原来的 perl 程序重构成 java,但工程量巨大,迁移起来很是缓慢
iannil
2018-10-14 18:15:24 +08:00
perl 很少看到人用了,不出意外的话,未来用的人大概率越来越少。

建议在原 perl 系统的外围包一层胶水,然后使用新语言实现新功能,有用到遗留系统的通过胶水层完成。逐渐的把遗留系统里模块在新语言下重新时间,最后完全替代。
jiafaner
2018-10-14 18:18:01 +08:00
@iannil 用什么能当胶水啊,原来的代码打开都看不懂,都看不懂怎么相互引用的,比 php 的符号还多
thedrwu
2018-10-14 18:35:04 +08:00
perl 一直都比较好用,然而 numpy 流行之后,渐渐转到 Python 了。
iannil
2018-10-14 18:41:18 +08:00
@jiafaner #7

胶水就用 perl 呗,就是用多用少的问题。

怎么处理看情况,通过分析现有系统的开放程度(例如有无现成的接口),代码架构(是否有专门的表现层),数据复杂度(简单的话,可以直接用新语言和数据库通讯)等才好下结论。

1. 最好是直接和数据库玩,或者有现成的接口。
2. 次好是在表现层全局拦一下,想办法把数据处理一下给到外围。
3. 最次是本身旧系统没有做分层,要改 N 多个地方才能做好胶水层。

从 1 到 3,1 用不到 perl,2 要求最起码能看懂 perl,3 不仅要能看懂代码,还得看懂业务,要求逐层拔高。

题外话:
perl 本身就是出了名的阅读不友好,以前还有个啥比赛,就比谁写 perl 写的更难懂。
重写的风险确实高于扩展,不能上来就要重写,一定要有个逐渐替换的过程才比较可控。
jiafaner
2018-10-14 18:54:52 +08:00
@iannil 现在的状况是完全看不懂原系统有没有分层,而原系统的界面是用在那种黑白屏幕上的,数据库的表不全,有很多数据是存成了 xxx.pdb 文件,用文本文件打开后是用一些符号隔开的文本的东西,在 perl 里面有一个读写这些 pdb 文件的层,所以现在还不好判断怎么处理合适
derek80
2018-10-14 20:29:01 +08:00
短时间写过一点,一个月后自已已经看不懂了。
alcarl
2018-10-15 02:02:13 +08:00
从你目前的情况看,值不值得学都得学一点,看不懂原来代码就去重写,你确定吗? perl 作为胶水语言,在某些领域的优势仍然强于 python。关于哥们你说的那个那种黑白屏幕上的。。。。。。我觉着你先不要讨论什么值得学了,我建议你目前这个知识面,不想离职的话,还是听老板的。。。。。。。
zjsxwc
2018-10-15 07:15:32 +08:00
其实和 PHP 语法差不多,没什么难不难的
ech0x
2018-10-15 09:11:20 +08:00
原来 perl 现在该有活着的项目的啊……
ech0x
2018-10-15 09:11:35 +08:00
@ech0x 该->还
jiafaner
2018-10-15 09:43:43 +08:00
@ech0x 有啊,看起来客户还挺依赖这个项目的
jiafaner
2018-10-15 09:44:33 +08:00
@alcarl 我今天也觉得应该学一下看看,因为总要看明白这个系统的一些简单的逻辑再说
whusnoopy
2019-09-12 10:11:37 +08:00
翻不同语言的节点看到还有在讨论 perl

从描述来看,不管是推倒重写,还是原有维护,首先都还得有基本的语言能力可以看懂原来干了什么才行,然后再提怎么重构或优化

经典的小骆驼书 https://book.douban.com/subject/4088038/ ,只是入门应该够了,不厚,自己把练习题做一遍也快 https://github.com/whusnoopy/whusnoopy/tree/master/learn_perl

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/497535

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX