如何根據(jù)你想要的生活選擇第一門(mén)編程語(yǔ)言
程序員的生活輕松。工作機(jī)會(huì)眾多,而且薪資也不錯(cuò)。
即使你不想從事程序員這個(gè)職業(yè),學(xué)點(diǎn)編程仍然是沒(méi)錯(cuò)的。尤其是對(duì)于那些網(wǎng)頁(yè)設(shè)計(jì)、數(shù)字營(yíng)銷(xiāo)、企業(yè)和IT行業(yè)的工作崗位來(lái)說(shuō)。
但是你應(yīng)該學(xué)習(xí)哪門(mén)語(yǔ)言呢?
Udacity網(wǎng)站制作了一張很棒的信息圖(見(jiàn)下文),有助于你選擇。但是我還想講得更深入一點(diǎn)。
在它們那張信息圖的基礎(chǔ)上,我會(huì)根據(jù)你的愿望,分門(mén)別類(lèi)地給出我的建議。比如,我會(huì)針對(duì)于旅行愛(ài)好者、設(shè)計(jì)師、IT人員或者其他職業(yè)的人員給出建議。
過(guò)去一年中,我面試了很多人,面試的崗位也不一樣。我經(jīng)常和其他也在招聘的技術(shù)公司交流,對(duì)比各自的筆記。這使得我比較了解技術(shù)的長(zhǎng)遠(yuǎn)發(fā)展方向(跟大家透露一下,我在IBM工作)。
怎么做到在任何地方能找到工作?
你熱愛(ài)旅行嗎?如果是的話,你應(yīng)該選擇像Python這樣的網(wǎng)絡(luò)開(kāi)發(fā)語(yǔ)言,在C語(yǔ)言上投入的時(shí)間要少一點(diǎn)。
推薦一些幫助學(xué)習(xí)的云平臺(tái):要去高水平的網(wǎng)站,比如Heroku,BlueMix和Azure。如果了解亞馬遜的AWS也不錯(cuò),但是與其他選擇相比,學(xué)習(xí)曲線比較陡。作為初學(xué)者,你應(yīng)該關(guān)注的是編程概念,而不是如何配置。
你可以在Stack Overflow Careers和Angel.co兩個(gè)網(wǎng)站上找到遠(yuǎn)程工作機(jī)會(huì)。
如何打造出色的硬件
如果你計(jì)劃打造實(shí)實(shí)在在的東西,推薦給你兩個(gè)很棒的原型開(kāi)發(fā)用板:樹(shù)莓派和Arduino??梢钥催@篇二者的對(duì)比文章詳細(xì)了解。
在我看來(lái),樹(shù)莓派是一個(gè)更好的選擇,因?yàn)镻ython語(yǔ)言比C語(yǔ)言更容易學(xué)。但是如果你想要打造硬件,最終你是不得不學(xué)習(xí)C語(yǔ)言(和C++)。
但是,如果是做個(gè)人“物聯(lián)網(wǎng)”項(xiàng)目的話,有時(shí)候購(gòu)買(mǎi)一臺(tái)便宜、碎屏的iPhone或Android手機(jī)會(huì)更簡(jiǎn)單些。
通過(guò)IBM的BlueMix IoT演示項(xiàng)目,不需要編程,你就可以立即追蹤智能手機(jī)的3D位置和震動(dòng)情況。之后,你可以修改用于演示的Python代碼,做些自己認(rèn)為酷的事情。(比如說(shuō),把iPhone藏在你前任的床墊下面,看看能不能找出些規(guī)律。)
我是一名程序員,如何提高薪資水平?
除了學(xué)習(xí)一門(mén)新語(yǔ)言外,還有一個(gè)策略就是學(xué)習(xí)、掌握更多的利基企業(yè)系統(tǒng)。例如,你可以學(xué)習(xí)像Hadoop和Spark這樣的大數(shù)據(jù)系統(tǒng)。(網(wǎng)上有很多免費(fèi)學(xué)習(xí)這些技術(shù)的地方,比如IBM的大數(shù)據(jù)大學(xué)或Edx.org)
如果我選擇的職業(yè)不是編程呢?
對(duì)于IT和網(wǎng)頁(yè)設(shè)計(jì),我有如下建議。但是其他行業(yè)呢?有一些編程知識(shí)會(huì)不會(huì)有幫助?首先,如果你不知道sumif()是什么,那你應(yīng)該花點(diǎn)時(shí)間學(xué)習(xí)一門(mén)Excel課程。Excel表格比大家想象的要強(qiáng)大的多。大多數(shù)程序員在進(jìn)行編碼之前,都會(huì)嘗試使用Excel進(jìn)行計(jì)算(如果能算出來(lái)的話)。舉個(gè)例子,Excel中利用數(shù)據(jù)制作一張精美的圖表,只要幾分鐘,但是純編程的話,可能需要很多個(gè)小時(shí)(甚至幾天的時(shí)間)。
之后,你應(yīng)該學(xué)習(xí)下面這些知識(shí):
- HTML:每一個(gè)網(wǎng)站使用了HTML。(而且,很多移動(dòng)應(yīng)用現(xiàn)在也在使用。)不論你現(xiàn)在嘗試深入掌握WordPress,或者需要設(shè)置數(shù)字營(yíng)銷(xiāo)工具,懂一點(diǎn)HTML都是有好處的。
 - CSS:CSS,又稱(chēng)為“層疊樣式表”。它是網(wǎng)站用來(lái)選擇網(wǎng)頁(yè)的字體和顏色時(shí),所使用的一種特殊排版語(yǔ)言。
 - JavaScript:懂一點(diǎn)JavaScript,在你需要給老板調(diào)整網(wǎng)站插件時(shí)是挺有用的。
 - PHP、Visual Basic或者ASP.net中的一種:這些是非常容易學(xué)習(xí)的語(yǔ)言,可以讓你快速地做出些有用的東西來(lái)。另外,它們還是日常編寫(xiě)腳本和建設(shè)網(wǎng)站時(shí)所使用的語(yǔ)言。懂類(lèi)似Python或Java這種語(yǔ)言,對(duì)于解決普通員工日常碰到的編程問(wèn)題沒(méi)有太大幫助。(因?yàn)樗鼈冎饕糜诟笠?guī)模的計(jì)算機(jī)服務(wù)器編程,網(wǎng)絡(luò)應(yīng)用開(kāi)發(fā)或者是編寫(xiě)系統(tǒng)腳本)。值得說(shuō)明的是,了解JavaScript或者PHP之后,之后可以很容易地轉(zhuǎn)到Python語(yǔ)言。它們的基本概念是一致的。
 
我是一名IT從業(yè)人員,應(yīng)該學(xué)習(xí)哪種編程語(yǔ)言?
如果你是Windows管理員,那么就學(xué)HTML和PowerShell。如果你是Linux管理員,就學(xué)HTML和bash腳本。
在IT行業(yè),你不需要學(xué)習(xí)編程就可以賺大錢(qián):擁有企業(yè)級(jí)技術(shù)證書(shū)或資質(zhì)的話,和程序員的薪資是差不多的,有時(shí)甚至更好。但是懂得如何編寫(xiě)bash腳本就是一個(gè)優(yōu)勢(shì)。
網(wǎng)頁(yè)設(shè)計(jì)師應(yīng)該學(xué)習(xí)哪種編程語(yǔ)言?
學(xué)習(xí)SASS這種基于CSS的語(yǔ)言是個(gè)很好的起點(diǎn)。之后,重點(diǎn)學(xué)習(xí)JavaScript。***學(xué)習(xí)Node.js,也就是不依賴(lài)于瀏覽器運(yùn)行的JavaScript。Node.js市場(chǎng)現(xiàn)在很火熱,之后長(zhǎng)期都會(huì)如此。不要偏離JavaScript領(lǐng)域。相反,要專(zhuān)攻Node.js,深入學(xué)習(xí)。(注意,以后io.js可能會(huì)取代Node.js。所以你要與JavaScript社區(qū)保持技術(shù)上同步更新。)(譯者注:最近io.js與Node.js已經(jīng)合并了代碼庫(kù),不過(guò)作者說(shuō)的保持技術(shù)更新是沒(méi)錯(cuò)的。)
關(guān)于信息圖的***一點(diǎn)說(shuō)明
Udacity在描述JavaScript的發(fā)展趨勢(shì)時(shí),我想他們應(yīng)該沒(méi)有把這點(diǎn)考慮進(jìn)去,即Node.js只是不依賴(lài)瀏覽器運(yùn)行的JavaScript。2005年,對(duì)Node.js工程師的需求異常的高。如果開(kāi)不出6位數(shù)的薪資(截至2015年十月),很難招到一名擁有豐富Node.js經(jīng)驗(yàn)的工程師。隨著越來(lái)越多的人學(xué)習(xí)Node.js,市場(chǎng)也許會(huì)慢慢平靜一些。***一點(diǎn)忠告:Node.js比原生JavaScript要難掌握的多。所以,如果你是初學(xué)者,請(qǐng)先學(xué)習(xí)原生JavaScript,然后再轉(zhuǎn)到Node.js。
***,奉上Udacity制作的信息圖。
















 
 
 












 
 
 
 