標籤:

為什麼大家都在黑 perl?

為什麼你們要黑 perl 這樣一個上古時代就有 map和 filter 這些 fp 概念的語言?

代碼寫得連自己都看不懂是因為 perl 除了寫成亂碼就沒有別的寫法了,還是程序員自己的錯?

#!/usr/bin/perl
@lines = `perldoc -u -f atan2`;
foreach (@lines) {
s/w&<([^&>]+)&>/U$1/g;
print;
}

當然我知道 Learning Perl 一上來就寫一個這樣的代碼確實挺傻逼的,但是也沒人因為譚浩強的書寫的有問題就去怒噴 C/C++的啊……


因為知乎上硅農太少,作為每天整RTL的硅農,我這條命都是Perl給的


必須承認,在我學perl之前,我寫過python,我學perl的時候,就已經被江湖流傳的perl的各種缺點洗腦,認為perl是一門過時落伍的語言,我帶著批判的眼光讀完了小駱駝,覺的perl有點古怪,不如python。

現在我已經寫了大半年的perl了,發現perl教會了我很多,很多都是原先一知半解的東西,是perl讓我理解了,比如正則,比如閉包,比如面向對象,比如測試驅動開發,也是perl讓我第一次寫了一萬行以上代碼的項目,一點也不write only。比較有趣的是perl原生的對象系統非常簡陋,卻更能讓我明白面向對象是什麼。

現在看起來,perl並不比python落後,他們都有各自的優點和性格,perl這些年有了很大的變化,小駱駝畢竟是十幾年前的入門書了,現在的perl和以前的相比有了很多變化,可讀性大大提高,規範性增強,也有很多好的項目,正則也一如既往的犀利,萬能的CPAN,友好的社區。至於為什麼被黑,恐怕還是歷史原因以及人云亦云造成的吧


還是重新更新下回答吧

=========

我想大部分人黑Perl的理由無非就是,可讀性和維護非常差(還有其他槽點嗎?)

在Perl里確實存在很多符號,還有各種眼花繚亂的淫技。

還有重要的一點就是 Perl 俗語:TMTOWTDI(There"s more than one way to do it

也就是解決問題的辦法不止一個,條條大路通羅馬。

Perl太太靈活了,相當自由,這樣的後果就是你可以寫出極其亂糟糟或者裝逼的代碼,當然也可以寫出簡潔的代碼,也就是一點:跟寫的人有關,其實換其他語言也是一個道理,只是沒Perl這麼明顯。

如果有興趣的朋友看看CPAN上的一些代碼,可以乍一眼看看,代碼是不是很整潔?

Perl在文本處理和系統管理方面就目前來說,便捷性還是超過了其他腳本(我就不黑其他xxx啦),想想Perl5已經十幾年了。。

還有,黑Perl的有幾個人真正寫過Perl代碼的?


不得不說黑Perl的這兩類居多:要麼是不會Perl卻道聽途說,要麼是水平太淺還沒達到那個閾值就嚇跑了


perl可以寫成亂碼,但題主您的例子里,分明是正則表達式的責任好嗎?perl的部分還是很整齊的。


我覺得Perl其實不錯,沒感覺有說起來那麼亂。你把use strict什麼的加上,是不允許寫太噁心的代碼的。

但是它最大的問題就是:binary模塊的介面代碼是一坨巨大的shi。


Perl 可以很容易寫成天書。不過在文本處理和正則表達式方面,Python、Ruby、Lua、JavaScript 等都沒它方便。


說perl看不懂不易維護不是黑。說php是最好的語言才是黑。


因為Perl發展太慢了,別的Community 都在跑步前進的時候,Perl語言和社區在Larry的帶領下一直在悠閑的散步。Perl6喊了多少年了,還沒一個真正能用的版本出來。CPAN多年來一直沒有創新,在新興領域缺乏殺手級框架。再加上以前支持Perl的幾大公司的力量日漸式微,Perl何去何從。。


perl5和perl6的正則一騎絕塵,如果要在自然語言和編程語言之間架橋,非perl莫屬。

Larry說perl6今年會有大驚喜,我們拭目以待。


perl在生物信息領域用的很廣,我們這邊大部分人不管什麼背景,perl都會一點。閱讀性差我覺得主要是因為perl寫法確實非常靈活吧,不同人風格差別較大。但是在我來看其實就是沒學夠,沒看夠吧...語言上肯定各有各的優勢,不過這個我就說不上來了。


$1,$@ 之類的符號比較蛋疼而已


這幾行代碼不是快捷的解決了問題?你想想這段代碼用別的語言得寫多少行。perl都不好閱讀,那shell還看不看了。


黑perl?你是說black Perl嗎?那可是讚美之詞啊。

其實我想說c++不是吵著符號不夠用嗎?還有@$`可以用啊,快用上。


昂, perl確實被黑的有些過分了,

當你已經是一個有兩年perl經驗, 寫了近10w行perl代碼的perl高手時, 你去#perl頻道看到一個用戶貼出perl代碼, 很有可能你第一眼沒看懂, 仔細讀過之後發現, 我靠, perl還能這麼寫!!! 很多人第一眼沒看懂的時候就已經開噴了..

你想一下, 一個perl初學者, 看到了很多莫名其妙的寫法之後, 會是個什麼感想?

當然, 更多是人云亦云的亂噴. 正如我噴python的殘廢lambda和golang的渣設計渣gc一樣... 兩個我都只寫了簡單的程序, 然後就開始亂噴.


比 Lisp 晚了快 30 年的語言沒有 FP 的概念才有問題(逃


分頁阅读: 1 2