接触perl的时间不长,感情却颇深。
从前初学编程时,总觉枯燥,加上不熟练,写一个小小的程序都要花上很多时间,无聊且无趣,还弄得很累,形单影只地坐在屏幕前,一行行地敲着代码,重复之上还是重复,说实话,一开始并不喜欢编程。
后来,用PHP较多,语言使得得熟了,代码敲得多了,每当看到自己编写的代码编译成功,解决了一个又一个的问题,在欣喜之余也有一点小小的满足感,说不出的满足,这才渐渐浅尝了一些编程的乐趣。坐在电脑前,浏览着屏幕前的一行行代码,心里总会有种奇妙的感觉,面对着这些代码,总想用一种文科生甚至艺术家欣赏一件件心爱的艺术品的眼光去欣赏它们,从中得到乐趣。喜欢写诗,所以在敲打代码的闲隙之余总是不自觉地以诗歌的眼光来看待这些代码,更有妙处。代码的结构说来与诗别无二致,都是以行为单位,用言简意赅的抽象词语表达更多更深的信息,甚至觉得代码竟有些韵律之美,如最常见的“if...else if...else...”结构写的语句,大有《诗经》六义中赋的风采,合辙而歌,反复吟唱,好的语句让人不禁联想起《卫风》中的诗句:“投我以木瓜,报之以琼琚。匪报也,永以为好也。投我以木桃,报之以琼瑶。匪报也,永以为好也。投我以木李,报之以琼玖。匪报也,永以为好也。”即使很晦涩难懂的代码,跟所谓的“梨花体”比起来,也稍觉更胜一筹。
代码的确是一件艺术品,不论从科学还是人文的角度观察,只要能创新人类逻辑方式和思维方式之美的,就是一件艺术品。阅读一个个前人留下的经典程序,大师们的思维方式和逻辑方法尽现眼前,任你去品味,参悟其中的奥妙,偶有看到和自己相似的代码,大有和古人暗合之感,自是心有灵犀,成就感十足。很多IT专业的人总觉得计算机冷冷冰冰,毕竟在AI领域的进展不多,自然缺少人的感情,其实我却觉得不然,我思故我在,小小唯心一下,意识决定物质不无道理,对某件事物的感情并不是由事物本身所决定的,而是自身对某个事物的印象所致,我们总爱把自己的意识强加到事物的头上。喜欢他了,就说他可爱,讨厌了,就骂他无聊。而我喜爱代码,代码的艺术,就像我喜欢音乐围棋一样,也像很多人醉心于LV,Prada,CHANEL的包包一样,也像我对这些包包并不感冒一样。
先学会C,然后又会了Java、C++,这些十分严格,犹如严师一般,错不得一点,严谨的结构,严谨的变量定义,严谨的语法,所有问题的解决方法都能给出简洁完善的代码解决方案,是优秀的为程序员创造的语言。然而自己编写编译这些代码,总有点像刚高考完的考生检对白哦 准唯一的高考答案,十分紧张,一出现报错就像写错了一道大题扣了很多分,心痛不已,打击也不小,生怕因此考不上大学。
编程语言也是一种语言,和自然语言一样拥有各自的语法,语法过于严谨单一,虽然可以简洁明了地表达思想,但是有时却相应缺乏了语言的文学性,未免有些乏味。Developer在理性的同时,也需要一些感性,不然就真的要变成阴暗角落中的屌丝和宅男了。
就在这时,发现了Perl,仿佛上天的赏赐,在关键的时候给了我一缕阳光继续探索代码的世界。
脚本语言用得较多,PHP、Python等都用过,但是更喜欢perl。perl就像是我最钟爱的一支Montblanc的钢笔,使用它可以自信地写出一篇篇优美的文章。
Perl的创造者Larry Wall除了是一位程序员,还是一位出色地语言学家,所以在创造出这颗闪亮了数十年的珍珠的时候,就少了那份生硬的学术气和钢铁的味道,而给人以一种朗朗上口,舒服的感觉,当编写perl代码时,就好象真的是一种创作,不仅仅是逻辑和思维上的思考,还有我们一些感性的东西溶入其中,写 Perl 就好象有点写诗的味道。 不可否认的,代码的艺术,在 Perl 的身上表现的淋漓尽致。
刚来到 Perl 的世界,很多的不习惯,但使用起来很舒服,不过写代码时总是爱忘记那些可爱的 $ & @ % 符号。在初写 Perl 的时候,我总是无意间在程序开头声明个变量,给变量赋一个类型,完全不是perl应有的语法,然而最后的结果却是正确的。这才是perl的可爱之处,一门真正的高级编程语言,正如Perl标榜的一句话:There's More Than one Way To Do It(TMTOWTDI)。利用一门语法丰富的语言,可以写得冗余反复难以阅读,也可以精简优雅令人赏心悦目,不在语言本身,全在作者,写得不好,你是小丑,写得好,你就是大师,标准一视同仁。
喜欢Perl,真如其名,和Pearl一样美丽。
题外话,很多程序员都真的拿perl写诗,虽然编译出来没有实际效用,但是阅读起来真的很美,这也是perl的魅力所在,说它是最接近自然语言的一种编程语言,应该没有其他语言敢加上“之一”二字吧。最后,用一首经典的用perl写的诗作为结尾,向前辈致敬:
#!/usr/bin/perlAPPEAL:listen (please, please);open yourself, wide;join (you, me),connect (us,together),tell me.do something if distressed;@dawn, dance;@evening, sing;read (books,$poems,stories) until peaceful;study if able;write me if-you-please;sort your feelings, reset goals, seek (friends, family, anyone);do*not*die (like this)if sin abounds;keys (hidden), open (locks, doors), tell secrets;do not, I-beg-you, close them, yet.accept (yourself, changes),bind (grief, despair);require truth, goodness if-you-will, each moment;select (always), length(of-days)# listen (a perl poem)# Sharon Hopkins# rev. June 19, 1995
文章评论