V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
jiafaner
V2EX  ›  Perl

perl 还值得学吗

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

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

    网上都找不到 perl 的资料了,这个语言还值得学吗,现在还有人用吗,还有什么优势没
    18 条回复    2019-09-12 10:11:37 +08:00
    liprais
        1
    liprais  
       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   ·   我们的愿景   ·   实用小工具   ·   2828 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 13:14 · PVG 21:14 · LAX 06:14 · JFK 09:14
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.