您好,登錄后才能下訂單哦!
如果你是個學生,你應該會C,C++和Java。還會一些VB,或C#/.NET。多少你還可能開發過一些Web網頁,你知道一些HTML,CSS和JavaScript知識。總體上說,我們很難發現會有學生顯露出掌握超出這幾種語言范圍外的語言的才能。這真讓人遺憾,因為還有很多種編程語言,它們能讓你成為一個更好的程序員。
在這篇文章里,我將會告訴你,為什么你一定要學習Python或Ruby語言。
跟C/C++/Java相比— Python/Ruby能讓你用少的多的多的代碼寫出相同的程序。有人計算過,Python或Ruby寫出的程序的代碼行數只相當于相對應的Java代碼的行數的五分之一。如果沒有絕對的必要,為什么要花這么多時間寫出這么多的代碼呢?而且,有人說,一個優秀的程序員能維護的代碼量最多是2萬行。這不區分用的語言究竟是匯編,C還是Python/Ruby/PHP/Lisp。所以,如果你用Python/Ruby寫,你一個人干的,不管是干什么,如果換用Java/C/C++,那都需要一個5人的小團隊來干。
跟VB/PHP比較—跟PHP/VB相比,Python/Ruby的是一種從設計上講比它們好的不知多少倍的語言。PHP和VB分別是在開發網站和桌面應用程序上非常流行的語言。它們流行的原因是非常的易學。不懂計算機的人也很容易的上手。如果你用這些語言開發過大型的項目,你就會發現這些語言的設計是如此的糟糕。是朋友,他就不會勸你使用PHP/VB。
跟Lisp/Scala/Haskell/Closure/Erlang相比— Python/Ruby跟它們比起來顯得相當的“主流”。確實,這些語言每種都有其很酷的特征,對于高級編程人員,了解這些語言能給他們對編程的思考帶來實際的提升。但這些應該在你以后的職業生涯中才去決定學哪一兩種。對于現在,Python/Ruby是在語言功能和實際運用之間平衡后的更好的選擇。
跟Perl相比— Python和Ruby都受恩于Perl,在這兩種語言異軍突起前,Perl是最好、最大的一種動態語言。但現在,Perl已是昨日黃花,越來越多的人轉向Ruby/Python。我感覺Perl的面向對象機制有點做作,很不好用。通常認為,Perl一種比較難學的語言,因為它提供你了太多不同的方法去完成同一個任務,它的語法有點像密碼,非常不直觀—除非你對它掌握的非常好。總之,我感覺Perl是一種對于學生來說不是很合適的語言—除非你有特殊的理由去學它(例如,你有很多正則表達式要處理,這是Perl的閃光點)。
跟sh/sed/awk/bash相比—如果你使用Linux/Unix,你可能需要做一些shell編程,甚至會編寫一些不小的程序。但是,對于這些語言,一旦程序達到一定的行數,事情就會開始變得讓你痛苦不堪,你最好是用Python去做這些事情。當然,做這種事情,Perl是最好的選擇,Python排第二。(Ruby對于系統shell腳本不是很合適)。
你可以在Google上搜一下“為什么X比Y好”—其中把X換成Python或Ruby,把Y換成另外一種語言—你就會發現,有無數的文章來說明它們為什么這么好。
如果你有選擇你的畢業設計使用的編程語言的自由,你應該選擇Python或Ruby,它們能讓你在開發項目的過程中節省一半的時間(除非你要開發的是移動應用,這樣你必須要使用Java或Objective-C)。
下面是xkcd上的一幅漫畫,告訴你掌握Python后你會變得多么的強大:
如何去學它們呢?很多很多的網站上都提供了學習Python和Ruby的教材和課程。下面的是我從中選出的一些:
谷歌的Python課程,學習Python的好資源。
RubyLearning,學習Ruby的一個好網站。
有疑問嗎?請在評論了寫出來,我會盡量回答你們。
尾注:
1:我的這篇文章可能會讓很多Perl愛好者很郁悶,現在回味一下,我認識到對這種語言的要求過于苛刻了。因此,我把關于Perl的一節改寫了一下。
Python和Ruby都受恩于Perl,在這兩種語言出現之前,Perl是最大、最好的動態語言。但Perl現在太老了。它的面向對象性不完整。它很久沒有升級更新了,它的市場份額正在丟失。對于一些新的、很火的事物(例如Web編程框架,Web API),它不如Python & Ruby那樣能跟上時代的步伐。基本上,Python/Ruby在興起,Perl在衰退。
2:本文中的所有語言的比較都是用來給印度計算機科學專業的學生選編程語言時做參考的。像“X比Y好”這樣的句子準確的講是毫無意義的,因為所有的語言都是經過時間的考驗而存活下來的,有些語言會在某些領域比另外一種要強,這也是它們存活下來的原因。換句話說,總有一些情況下,PHP/Java/C/C++/Perl 看起來會比 Ruby/Python 等其它語言顯的更適合。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。