最適宜初學(xué)者學(xué)習(xí)的幾種編程語言
對程序員或編程初學(xué)者來說,有哪些最有用或***的編程語言適宜學(xué)習(xí)? 創(chuàng)業(yè)者Roger Huang將為大家推薦一些編程語言,并分享個人的經(jīng)驗與看法。Huang是一名連續(xù)創(chuàng)業(yè)者,目前他正專注于他的第二個創(chuàng)業(yè)項目,并給予他人職業(yè)成長的建議。
有幾個人曾經(jīng)問我,有哪些最有用或***的編程語言適宜學(xué)習(xí)?
姑且略過HTML/CSS不談,我認(rèn)為答案取決于你想通過編程來做什么。
要點(diǎn)速覽
- 
    
對只用一種語言來構(gòu)建某個項目的情況而言,Javascript和它的框架是非常有用的。
 - 
    
Angular.js可以控制展示給用戶的網(wǎng)站前端。
 - 
    
Node.js將作為管理網(wǎng)站所有內(nèi)容的網(wǎng)絡(luò)服務(wù)器。
 - 
    
Express.js在前端和服務(wù)器兩者之間運(yùn)行,對信息的來去進(jìn)行導(dǎo)向。
 
MongoDB作為存儲中心,用于存儲從用戶處獲取的數(shù)據(jù)。MEAN(Mongo/Express/Angular/Node)——一個有助于構(gòu)建你在一個Web應(yīng)用中所需要的一切東西的結(jié)構(gòu)化框架——是一套目前被大量初創(chuàng)公司所喜好的編程語言。這是一個完備的組件,它包含了基于單一語言來Web化地構(gòu)建所有事物的技術(shù)。
我一直在用Egghead.io和Scotch.io來及時更新我的Angular.js和MEAN技術(shù)。Egghead的網(wǎng)站內(nèi)容主要集中于有序地組織的教學(xué)視頻。Scotch有一些關(guān)于構(gòu)建Web應(yīng)用的整個流程的很棒的圖表,包括下面這張解釋MEAN的圖表:  

 
它們都有很棒的教學(xué)視頻,教你如何構(gòu)建精巧的應(yīng)用,例如基本的搜索引擎和新的表單驗證方式(以確保若你創(chuàng)建輸入表單,人們的實際輸入將是有效標(biāo)準(zhǔn)下的值)。通過使用Angular.js,你可以使一個網(wǎng)站動畫化并使它“動”起來,而不需要過多的設(shè)置。這是非常精巧的一種方式。
Python可讀性和靈活性都非常好,最近它成為大學(xué)院校在教授計算機(jī)專業(yè)時選擇的入門語言之一。
對于玩轉(zhuǎn)數(shù)據(jù)以及用它的共通模塊來完成各種你以前認(rèn)為不可能的精巧工作來說——例如抓取完整的網(wǎng)頁和進(jìn)行高級科學(xué)計算,Python都是***的。我是在Learn Python上開始學(xué)習(xí)Python的,它非常符合我“ 邊做邊學(xué)”的學(xué)習(xí)風(fēng)格。
Java(以及其他更緊密地與計算機(jī)硬件交互的語言)對人類理解來說會稍難一些,盡管對于幫助你理解“代碼的實際運(yùn)行過程”和“程序員與計算機(jī)的交互過程”的絕大部分知識而言,它們是很棒的。 Java也用于在安卓系統(tǒng)上的移動應(yīng)用開發(fā),而這將會是一直有需求的領(lǐng)域。 如果我們想簡捷地將知識轉(zhuǎn)換成金錢,那么,我曾見到業(yè)界對IOS開發(fā)者有著大量需求,而開發(fā)IOS應(yīng)用所使用的Objective-C和Swift也并不那么難學(xué)習(xí)。 Ruby——尤其是當(dāng)它與Rails一起使用時——是一種因其并不陡峭的學(xué)習(xí)曲線而被大量初創(chuàng)公司在初創(chuàng)時所用的語言(事實上,有一本叫)。
我自己正在學(xué)習(xí)Python以處理數(shù)據(jù);學(xué)習(xí)Javascript和MEAN以創(chuàng)建Web應(yīng)用;以及學(xué)習(xí)Java以對計算機(jī)科學(xué)有更深入的理解與構(gòu)建移動應(yīng)用。我認(rèn)為這是一個可用的平衡良好的編程語言組合。
我已經(jīng)有了一組學(xué)習(xí)清單和資源,用來幫助你我學(xué)習(xí)構(gòu)建杰出作品所需要的東西。但實際上,這些都不是***的編程語言。
最適宜學(xué)習(xí)的編程語言——以及如何著手去學(xué)習(xí)它 學(xué)習(xí)如何像一個程序員那樣思考——學(xué)習(xí)如何通過簡潔的代碼來用數(shù)學(xué)解決問題,絕對是最適宜學(xué)習(xí)的東西。編程語言會演進(jìn),它們會改變,它們會衰落并不再受歡迎;一個編程語言社群會變化成另外一個。 現(xiàn)在偉大的Web應(yīng)用可能會在幾十年后被淘汰。不會改變的是對人們的邏輯思考和問題解決能力的需求——以及將它們變成在機(jī)器上運(yùn)作的一個更簡單的自動化流程的需求。 你可以寄希望于一個事實,那就是隨著時代不斷發(fā)展,如果你訓(xùn)練解決問題的技能,你將能夠找到最適合你的語言,以及獲得你建立偉大事業(yè)所需要的知識與金錢。 我已經(jīng)開通了Project Euler,它提供一系列與數(shù)學(xué)和邏輯相關(guān)的編程問題。我在Codecademy workspace上嘗試用Python構(gòu)造整潔的代碼來解決這些問題。這是一名Google招聘官所提到過的“一個學(xué)習(xí)編程的很好的訓(xùn)練步驟”,而我并不懷疑這一點(diǎn)。我感到我的大腦更敏銳了,并對我的能力更充滿自信——不僅僅是編程能力,還有思考能力。
最適宜學(xué)習(xí)的編程語言最終還是位于編程核心的邏輯,數(shù)學(xué)和問題解決能力。“什么是最適宜學(xué)習(xí)的編程語言”這個問題并無對錯,只要你理解編程的基礎(chǔ)價值何在。















 
 
 



 
 
 
 