perl 还值得学吗 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
jiafaner
V2EX    Perl

perl 还值得学吗

  •  1
     
  •   jiafaner 2018-10-14 17:25:26 +08:00 7450 次点击
    这是一个创建于 2616 天前的主题,其中的信息可能已经有所发展或是发生改变。
    工作需要,要把一个 perl 的程序重新做一套手机版出来,功能挺多的,好几十个模块,老板的意思是 perl 的程序不要动,扩展 perl 的接口出来我们用 vue 写客户端,可没人会 perl

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

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

    建议在原 perl 系统的外围包一层胶水,然后使用新语言实现新功能,有用到遗留系统的通过胶水层完成。逐渐的把遗留系统里模块在新语言下重新时间,最后完全替代。
    jiafaner
        7
    jiafaner  
    OP
       2018-10-14 18:18:01 +08:00
    @iannil 用什么能当胶水啊,原来的代码打开都看不懂,都看不懂怎么相互引用的,比 php 的符号还多
    thedrwu
        8
    thedrwu  
       2018-10-14 18:35:04 +08:00 via Android
    perl 一直都比较好用,然而 numpy 流行之后,渐渐转到 Python 了。
    iannil
        9
    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
        10
    jiafaner  
    OP
       2018-10-14 18:54:52 +08:00
    @iannil 现在的状况是完全看不懂原系统有没有分层,而原系统的界面是用在那种黑白屏幕上的,数据库的表不全,有很多数据是存成了 xxx.pdb 文件,用文本文件打开后是用一些符号隔开的文本的东西,在 perl 里面有一个读写这些 pdb 文件的层,所以现在还不好判断怎么处理合适
    derek80
        11
    derek80  
       2018-10-14 20:29:01 +08:00 via iPhone
    短时间写过一点,一个月后自已已经看不懂了。
    alcarl
        12
    alcarl  
       2018-10-15 02:02:13 +08:00 via Android
    从你目前的情况看,值不值得学都得学一点,看不懂原来代码就去重写,你确定吗? perl 作为胶水语言,在某些领域的优势仍然强于 python。关于哥们你说的那个那种黑白屏幕上的。。。。。。我觉着你先不要讨论什么值得学了,我建议你目前这个知识面,不想离职的话,还是听老板的。。。。。。。
    zjsxwc
        13
    zjsxwc  
       2018-10-15 07:15:32 +08:00 via Android
    其实和 PHP 语法差不多,没什么难不难的
    ech0x
        14
    ech0x  
       2018-10-15 09:11:20 +08:00 via iPhone
    原来 perl 现在该有活着的项目的啊……
    ech0x
        15
    ech0x  
       2018-10-15 09:11:35 +08:00 via iPhone
    @ech0x 该->还
    jiafaner
        16
    jiafaner  
    OP
       2018-10-15 09:43:43 +08:00
    @ech0x 有啊,看起来客户还挺依赖这个项目的
    jiafaner
        17
    jiafaner  
    OP
       2018-10-15 09:44:33 +08:00
    @alcarl 我今天也觉得应该学一下看看,因为总要看明白这个系统的一些简单的逻辑再说
    whusnoopy
        18
    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
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2767 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 30ms UTC 06:41 PVG 14:41 LAX 22:41 JFK 01:41
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86