2010-12-17 45 views
7

我想知道Perl在基於OOP的編程中表現如何。使用Perl進行面向對象的優點和缺點是什麼?如果存在缺點,是否存在回溯編碼的方式來編碼?任何有關現在使用什麼Perl的信息 - 以及將來如何支付Perl程序員 - 都會受到讚賞。Perl對OOP有什麼優點和缺點?

+5

OOP不是結束,而是達到目的的手段。 – 2010-12-17 13:47:17

回答

23

OOP不是結束,而是達到目的的手段。你的問題太廣泛了,幾乎毫無意義。

如果你編寫的Perl程序可以讓巨大的金融機構從他們的投資組合中獲得額外的幾十億美元的利潤,那麼你將會獲得豐厚的報酬。

如果您編寫的Perl程序可以解決難以讓其他程序員解決的問題,那麼您將會獲得豐厚的報酬。

如果您編寫Perl程序來處理簡單網站的基於Web的聯繫表單,您將不會被支付。

如果您的程序很好地實現了封裝,多態性和組合,它們將更容易理解,擴展和修復。這會讓你在更快更好地完成任務的過程中獲得優勢,這會讓你比那些在牆上扔東西的程序員賺錢,直到有東西粘住。

Perl爲您提供了創建解決方案的自由。隨着自由而來的風險和責任。根據你的個性,這可能是一件好事或壞事。

至於OOP:

  • Perl是簡潔。
  • Perl不要求您將所有對象視爲對象。
  • Perl不會強制您使用繼承作爲代碼重用的主要機制。
  • Perl使得用於代碼重用的組合非常簡單。
  • Perl的詞法範圍和閉包有助於封裝。
  • Perl允許多重繼承。
  • Perl允許運算符重載。
  • 使用Perl,您不僅限於使用別人在十年前決定的「真正的設計原則」。
  • 我肯定會忘記許多其他相關的位。

和以前一樣,你把車放在馬前面。您應該首先徹底瞭解OOP,而不參考任何特定的編程語言。

對於Web應用程序,Perl爲您提供了許多選擇。 Catalyst是一個非常好的框架。 Dancer可以很容易地表達您的Web應用程序的功能。 Plack可以輕鬆部署它。

您可以決定在這些框架中使用多少OOP技術。

我最近fell in loveMooseDancer的組合。

注意:鑑於您剛剛開始學習,我會建議(儘管有班級作業)您不必擔心語言比較太多。相反,打開自己的各種語言。在這個時代,它就像等待幾分鐘的下載開始一樣簡單。當我第一次決定學習如何編程時(略小於30年前),紙和鉛筆是我編寫程序的唯一方式,我必須用紙來模擬程序的輸出。我知道,我知道,兩種方式和所有的上坡;-)

所以,實驗。不要犯。你將通過嘗試自己來理解語言的比較優勢和劣勢。嘗試使用各種不同的技術編寫相同的應用程序。使任務簡單。

我在Perl編程的第一次嘗試是still available online與疣和所有。我從此開始的原因很簡單:我想做一些簡單的事情,讓我快樂。

試一下簡單的完成會給你滿意。嘗試使用與您感興趣的語言相同的語言。給Erlang一槍。

就業市場在你大學畢業時會有所不同。對大學來說最好的準備是要有一個廣泛的理解,所以你不會陷入細節,但能夠完成其他人會爲你選擇的作業。

+0

對不起,如此廣泛,我是新來的,所以我一開始肯定會提出不好的問題,基本上我的意思是說Perl程序員在當前的經濟形勢下找到工作有多難?以及Perl今天常用的是什麼類型的東西。當談到OOP時,Perl與其他語言有什麼不同。 – 2010-12-17 13:58:02

+0

現在的工作情況在哪,哪個國家,哪個行業,哪個專業化?至於OOP部分,這是一個單獨的問題。與Perl的主要區別在於它提供了自由。 – 2010-12-17 14:00:47

+1

在密歇根州內,我沒有受僱,因爲我仍然有很多要學習的高中生。我不確定什麼專業化或行業由於我是新來的語言本身,它似乎比Java更吸引我。儘管我不確定我在考慮基於Web的應用程序的思路。 – 2010-12-17 14:04:05

13

你問「Perl程序員未來可以付多少錢」。

這讓我想起了這個故事一個傢伙誰去算命的:

蓋伊:什麼將我的未來帶來什麼?
算命:展望我的水晶球我看到很多很多$的
蓋伊:哦,我要賺很多美金!?
算命先生:不,你將成爲一名perl程序員。

+0

辛苦一天結束時,我們笑了起來!謝謝 %) – Dallaylaen 2010-12-17 16:01:12

13

Nate - 無論您是否學習Perl,只是一個非常小的因素就業。特定的語言是你需要的10-20% - 其餘的是Web開發,數據庫開發,網絡編程,軟件工程,數據結構,算法,模式和範例(例如OOP與功能與聲明等)。 ...),通信,演講技巧等..

這就是說:

  • Perl是一種優秀的語言學習向您介紹相當多的這些概念全部。正如最近的線程所討論的那樣,它可以教你更多關於OOP的知識,而不是Java(因爲Java只實現了OOP的某些方面),而且Java根本無法教給你關於函數式編程的知識(你需要掌握JavaScript) 。

  • 只知道只有 Perl可能會讓你的工作更難。沒有那麼多需要Perl和Perl的工作(還有一些,只是不多)。另一方面,與Java猴子相比,許多優秀的Perl開發人員少得多,所以如果你非常擅長Perl,那麼你的職位與可用人才庫的比率可能實際上比其他人更好語言。

  • 有很多很多需要幾種語言的工作。所以你顯然需要學習Perl和其他語言(C#或Java就像就業一樣好像是個好賭注)。

  • 要重複上述 - 主要(80%)的因素,您可以輕鬆找到一份工作,以及付出多少與您是否選擇瞭解Perl或任何其他語言無關了解我上面列出的其他內容以及您學習特定工作業務知識和新語言的能力。

相關問題