最適宜初學者學習的幾種程式語言

pythontab發表於2014-08-06

對程式設計師或程式設計初學者來說,有哪些最有用或最好的程式語言適宜學習? 創業者Roger Huang將為大家推薦一些程式語言,並分享個人的經驗與看法。Huang是一名連續創業者,目前他正專注於他的第二個創業專案,並給予他人職業成長的建議。

有幾個人曾經問我,有哪些最有用或最好的程式語言適宜學習?  

姑且略過HTML/CSS不談,我認為答案取決於你想透過程式設計來做什麼。  

要點速覽  

對只用一種語言來構建某個專案的情況而言,Javascript和它的框架是非常有用的。

Angular.js可以控制展示給使用者的網站前端。

Node.js將作為管理網站所有內容的網路伺服器。

Express.js在前端和伺服器兩者之間執行,對資訊的來去進行導向。

MongoDB作為儲存中心,用於儲存從使用者處獲取的資料。MEAN(Mongo/Express/Angular/Node)——一個有助於構建你在一個Web應用中所需要的一切東西的結構化框架——是一套目前被大量初創公司所喜好的程式語言。這是一個完備的元件,它包含了基於單一語言來Web化地構建所有事物的技術。  

我一直在用Egghead.io和Scotch.io來及時更新我的Angular.js和MEAN技術。Egghead的網站內容主要集中於有序地組織的教學影片。Scotch有一些關於構建Web應用的整個流程的很棒的圖表,包括下面這張解釋MEAN的圖表:  

它們都有很棒的教學影片,教你如何構建精巧的應用,例如基本的搜尋引擎和新的表單驗證方式(以確保若你建立輸入表單,人們的實際輸入將是有效標準下的值)。透過使用Angular.js,你可以使一個網站動畫化並使它“動”起來,而不需要過多的設定。這是非常精巧的一種方式。  

Python可讀性和靈活性都非常好,最近它成為大學院校在教授計算機專業時選擇的入門語言之一。  

對於玩轉資料以及用它的共通模組來完成各種你以前認為不可能的精巧工作來說——例如抓取完整的網頁和進行高階科學計算,Python都是絕佳的。我是在Learn Python上開始學習Python的,它非常符合我“ 邊做邊學”的學習風格。  

Java(以及其他更緊密地與計算機硬體互動的語言)對人類理解來說會稍難一些,儘管對於幫助你理解“程式碼的實際執行過程”和“程式設計師與計算機的互動過程”的絕大部分知識而言,它們是很棒的。    Java也用於在安卓系統上的移動應用開發,而這將會是一直有需求的領域。    如果我們想簡捷地將知識轉換成金錢,那麼,我曾見到業界對IOS開發者有著大量需求,而開發IOS應用所使用的Objective-C和Swift也並不那麼難學習。    Ruby——尤其是當它與Rails一起使用時——是一種因其並不陡峭的學習曲線而被大量初創公司在初創時所用的語言(事實上,有一本叫Children's Book

for Ruby的書)。

我自己正在學習Python以處理資料;學習Javascript和MEAN以建立Web應用;以及學習Java以對電腦科學有更深入的理解與構建移動應用。我認為這是一個可用的平衡良好的程式語言組合。  

我已經有了一組學習清單和資源,用來幫助你我學習構建傑出作品所需要的東西。但實際上,這些都不是最好的程式語言。  

最適宜學習的程式語言——以及如何著手去學習它        學習如何像一個程式設計師那樣思考——學習如何透過簡潔的程式碼來用數學解決問題,絕對是最適宜學習的東西。程式語言會演進,它們會改變,它們會衰落並不再受歡迎;一個程式語言社群會變化成另外一個。    現在偉大的Web應用可能會在幾十年後被淘汰。不會改變的是對人們的邏輯思考和問題解決能力的需求——以及將它們變成在機器上運作的一個更簡單的自動化流程的需求。    你可以寄希望於一個事實,那就是隨著時代不斷髮展,如果你訓練解決問題的技能,你將能夠找到最適合你的語言,以及獲得你建立偉大事業所需要的知識與金錢。    我已經開通了Project Euler,它提供一系列與數學和邏輯相關的程式設計問題。我在Codecademy workspace上嘗試用Python構造整潔的程式碼來解決這些問題。這是一名Google招聘官所提到過的“一個學習程式設計的很好的訓練步驟”,而我並不懷疑這一點。我感到我的大腦更敏銳了,並對我的能力更充滿自信——不僅僅是程式設計能力,還有思考能力。    

最適宜學習的程式語言最終還是位於程式設計核心的邏輯,數學和問題解決能力。“什麼是最適宜學習的程式語言”這個問題並無對錯,只要你理解程式設計的基礎價值何在。  


相關文章