zoukankan      html  css  js  c++  java
  • Perl/Python 感概

    最近因为项目需要,

    需要在多个古老的linux/unix版本上完成一个工具,有些没有python所在,不得不重拾perl文档……

    再读perl文档的,是一个让人吐血的过程。

    习惯了python> 2.4 的语法和core库组织,那种相对来说比较合理的安排和统一的格式,

    perl的就显得非常的不合理。

    我想这应该是因为它所出现的那个石器时代造成了这些个时代断层,最初的优雅和惊艳经过

    前仆后继维护者的缝缝补补,变成了现在这个百变妖精的德行……

    1,perl的关键字语法多变和诡异,比如 unless 循环;

    2,各种函数和各种表达式的上下文敏感的使用方式;

     

    # 这两句就相当不同……
    @b = @a;
    $b = @a;

    3,$^ $@ $! $| 等特殊变量;(本来俺记性就很差,多年不见,现在更是完全认不得这些英雄)

    (当然,听说有一个 use English; # 大概这个格式 的一个语法可以使用纯英文模式来使用特殊变量,

    但教程甚至都不推荐。。)

    4,函数参数省略写法和非省略写法;(虽然,这个确实提高了代码的表达力,但却也增加了相当程度的阅读难度,尤其象我这种非

    长期perl代码维护者的阅读难度)

    chomp($text = <STDIN>); # 比如这种

    substr( $str, 1, 3) = "new string "; # 比如这种牛逼又神奇的语法……

    5,标准库多而且乱;

    与C++标准库的贫瘠相比,perl 标准库确实很富裕,但组织方式和杂乱摆放让人非常头疼。。

    File::Basename;

    File::Spec; # 这个还是OO实现方式,调用格式不同于其它模块…… 崩溃

    Cwd;

    这些个东西,python的一个 os.path 就基本上覆盖了。

    总之一句话,不喜perl,life is short, you need Python.

  • 相关阅读:
    FZU 2105 (线段树)
    HDU 4903 (模拟+贪心)
    Codeforces Beta Round #91 (Div. 1 Only) E. Lucky Array
    HDU 3308 (线段树区间合并)
    POJ 3667(线段树区间合并)
    线段树题集 (cf版)
    HDU 4902 (牛叉的线段树)
    20150204--JS巩固与加强2-01
    20150203+JS巩固与加强1-02
    20150203+JS巩固与加强1-01
  • 原文地址:https://www.cnblogs.com/morya/p/1999254.html
Copyright © 2011-2022 走看看