導(dǎo)語:去年的某個下午,我突然決定自學(xué)編程。
然而我碰到一個困擾我很久的問題——我應(yīng)該學(xué)習(xí)哪一門編程語言?
后來我花了3個月時間,查看大量知乎的資料、詢問w3cschool的程序員(也就是我同事)、再調(diào)查了當(dāng)前市場各類編程語言的薪資,得出一個很平凡的結(jié)論——選自己喜歡的。
大家好,這里是w3cschool,在線編程平臺。
在去年一個下雨天,我決定學(xué)編程。
為什么我要學(xué)編程?
一方面是覺得編程挺好玩的。
另外一方面,是因為w3cschool平臺上有大量的編程初學(xué)者,我想要了解他們學(xué)編程中會碰到什么問題,以便更好解決用戶的問題。
但是我碰到一個問題,不知道該怎么哪一門編程語言。
似乎每一門編程語言都很不錯,而其牛逼的地方,都有發(fā)展前景。
后來我發(fā)現(xiàn)這個問題不僅僅困擾我,很多想要自學(xué)編程的小伙伴也會碰到這個問題。
心想,如果能一開始就找到自己喜歡的編程語言,是一件很幸運的事情。
就像一開始就遇見對的人,然后很早就在一起了,那豈不是很幸福。
也因此,我花費了3個月的時間,查詢了知乎的資料,跟w3cschool的程序員,還有去調(diào)查目前各個招聘網(wǎng)站上不同編程語言的薪資待遇。
最后總結(jié)到這篇文章里面,希望能夠幫助到對編程有興趣的小伙伴。
由于本文主要是寫給對編程有興趣的小伙伴,如果有出現(xiàn)偏差,也希望各位能夠留言指正。
如何選編程語言
在我自己準(zhǔn)備自學(xué)編程的時候,就碰到這個問題,當(dāng)時我向w3cshcool的技術(shù)經(jīng)理“老王”請教。
老王可是一個技術(shù)大佬。
可是他似乎也挺迷茫,反而問我,你自己喜歡哪一門編程語言?
當(dāng)時,我也懵,心想似乎網(wǎng)上說的很多編程語言都不錯??!
“聽說Java很不錯,就業(yè)前景好”
“聽說Python現(xiàn)在很火,而且很簡單,而且從業(yè)方向很高端:人工智能、機器學(xué)習(xí)”
“PHP是世界上最好的編程語言...”
“要不學(xué)前端吧,簡單,而且聽到到處都確認”
“還是C語言吧,所有語言都會死,C語言絕對不會死”
“...”
這就是編程初學(xué)者的困擾!
似乎每個編程語言都很好,你怎么才能知道你喜歡哪個編程語言。
那么我們簡單理清一個問題,編程語言到底是個什么東西?
學(xué)編程,本質(zhì)是“學(xué)如何使用工具”
編程語言 = 工具
首先,讓我們明確一點:學(xué)編程是在學(xué)什么?
答案很簡單,就是在學(xué)如何使用工具!
只是這些“工具”,非常強大牛逼,能夠做出非常多很棒的東西。(網(wǎng)站、游戲、爬蟲等)
也正是這些“工具”因為強大,所以使用起來會比較復(fù)雜,需要你花點時間去學(xué)習(xí)。
就像操作無人機一樣,無人機的使用也是很復(fù)雜的。
你需要花一些時間去學(xué)習(xí),才能熟練使用它,以便達到自己的目的。
同樣,編程語言也需要我們花費一些時間才能學(xué)會。
但是本質(zhì)上,這玩意就只是個工具。
而各個編程語言的技術(shù)文檔,其實就是一個工具的說明書而已。
當(dāng)你學(xué)會一項編程,再去學(xué)其他的編程語言,你會發(fā)現(xiàn)其實也就那樣。
所以別被嚇到,你甚至可以把這些“工具”當(dāng)成“玩具”!
去玩玩它,你會發(fā)現(xiàn),這些“玩具”還挺好玩的。
只要你看下說明書就能玩。
所以學(xué)編程第一步,是想辦法“玩它”。
比如你想把知乎某個用戶的資料都“抓走”,那么你就去學(xué)Python的爬蟲。
然后去玩玩看。
當(dāng)我們知道,編程語言是工具的時候,那么剩下問題簡單了。
了解這些工具都能干啥,我們挑一個我們喜歡的來。
下面簡單介紹下各個編程語言都能干啥。
編程語言的有什么
編程語言有很多種!
目前已知的編程語言大概就有600多種。
不過,主流的編程語言其實不多,這些也就是我們常見的編程語言。
C語言、C++、PHP、JavaScript、java、python、swift、SQL等等。
而這些編程語言有什么區(qū)別呢,或者說有什么可比性?
了解這個,有助于你選擇你喜歡的編程語言。
這邊舉個例子:
不同的編程語言,就像不同的交通工具!
飛機:速度快、限制多(安保、飛機場地等)、駕駛難度高
輪船:載貨多、航程遠、效率高、駕駛難度高
高鐵:速度快、路程有限制、、駕駛難度高
汽車:速度相比要慢、但是便利、駕駛難度低
自行車:速度慢、便利、駕駛難度相比之下,最低。
而不同的編程語言,就像這些交通工具一樣。
你學(xué)編程,其實就是在學(xué)如何駕駛(使用)這些交通工具(編程語言)。
而這些交通工具,其實沒有可比性,他們都是交通工具(都是編程語言)。
但是在不同的運用場景,各有自己的優(yōu)勢!
你在一個園區(qū)內(nèi)出行,你的選擇肯定是自行車,而不是飛機!
雖然自行車相比飛機來說,速度慢、但是比較便利。
但是在園區(qū)這個場景里面,自行車的便利性和優(yōu)勢太明顯了。而且,學(xué)自行車的成本肯定比學(xué)開飛機低很多。
但是,如果你想出國,那肯定是選擇開飛機或者駕駛輪船。(但是學(xué)習(xí)成本會比較高)
而在某個工廠里面,可能叉車比自行車、飛機、輪船有用。
所以編程語言沒有可比性,因為意義不大。
不同場景,有些語言一定比另外一些語言更適合。
看到這里,想必各位小伙伴應(yīng)該很清晰了!
編程語言到底是什么!—— 一些牛逼但是稍微難學(xué)的工具!
不同的編程語言本質(zhì)區(qū)別是什么!—— 就像不同的交通工具一樣!
那么我們繼續(xù)邁向我們的核心問題:我應(yīng)該選擇哪一門編程語言?
如何選擇編程語言?
那么,接下來,我們就可以來選擇這些編程語言了!
先來看下2019年最新的編程語言使用排行榜(范圍:全球)
上面這些,都是比較主流的編程語言,各位小伙伴稍微了解一下就行。
方法一:簡單粗暴
下面會簡單介紹各個編程語言的用途,屬于比較簡單粗暴!
各位小伙伴隨意選一個,然后學(xué)好!都能夠找到一份薪資待遇不錯的工作!
網(wǎng)站:選PHP和Java
游戲:Java、C語言和C++
數(shù)據(jù)分析:Python
(說明:數(shù)據(jù)分析可能很多小伙伴不了解,這邊簡單說一下,目前互聯(lián)網(wǎng)上各種各樣的東西,說白了,就是數(shù)據(jù),用python這個工具對數(shù)據(jù)進行分析和抓取,有助于運營者做決策,當(dāng)然python用途不止這些,有興趣可以自己去了解。)
IOS開發(fā):swift
(swift和objective-C都是應(yīng)用于蘋果系統(tǒng)IOS的開發(fā))
前端開發(fā):JavaScript
數(shù)據(jù)庫:SQL
PS:
上面介紹的比較籠統(tǒng),比如Python其實也能開發(fā)網(wǎng)站,比如豆瓣和YouTube就是使用python。
這邊只是說個大概,有興趣最好自己深入了解一下。
各位小伙伴可以先看下自己喜歡做什么,如果你覺得看完上面,還是不知道如何選。
方法二:性格測試
哈哈,是不是很意外,很驚喜,選編程還能用性格測試?
確實,在知乎上,關(guān)于編程有一篇文章,大概就是說不同編程語言的程序員,性格和處理問題的方式也不一樣!
比如說喜歡收拾房間的人,可能適合Java、C語言、C++這種編程語言,而不喜歡的適合PHP、JS這種編程語言。
再比如說你是個極簡主義者,那么你適合Python,如果不是的話,可能你適合C語言。
w3cschool根據(jù)知乎和自己網(wǎng)站的用戶,在w3cschool的小程序里面做了一個簡單的學(xué)前評測。
你也可以測試看看,也許就知道你適合什么編程語言了。
(PS:這個圖很明顯有廣告嫌疑,不過挺準(zhǔn)挺好玩的,各位小伙伴來試試嘛【手動狗頭】)
方法三:選大概率能贏的
成年人做事,盡量不要去考慮結(jié)果,選大概率能贏的!
選編程語言也一樣!
這邊推薦兩個編程語言:Java和JavaScript
Java:
就像交通工具一樣,我們盡量選汽車這種交通工具!
能運東西,也能跑長途,也能跑短途!
而有一種編程語言特別像這種交通工具,那就是Java!
Java也被稱為“萬事通”編程語言,意思就是幾乎啥事都能干!
開發(fā)游戲、開發(fā)網(wǎng)站、數(shù)據(jù)分析、人工智能,Java都挺適合的!
另外學(xué)Java還有一個好處!
Java屬于入門不難,而且屬于強語言!
學(xué)完Java,再去學(xué)其他類似Python、PHP這種語言,會簡單非常多。
悄咪咪打個廣告,w3cschool有初級、中級、高級一整個體系的Java課程啊!
JavaScript
前端開發(fā),是非常多的人,無腦選擇的編程語言。
因為目前國內(nèi)互聯(lián)網(wǎng),對前端開發(fā)工程師,需求量特別大!
另外前端入門不難,薪資待遇也很贊。
前端開發(fā),也是非常穩(wěn)的!
方法四:選熱門選酷炫的選好玩的
Python!
好玩!熱門!酷炫!
為什么我這么捧Python!因為我自己就選擇Python?。ü?nbsp;
Python是去年最熱門編程語言,這點應(yīng)該沒有爭議。
為什么那么火?
因為簡單,因為強大!
不久的將來人工智能必然崛起。
最近華為5G不是出來了么,那么AR和VR也必然興起。
這也是Python為什么火爆的原因之一。
另外Python能做很多很好玩的事情!
比如寫爬蟲,爬取數(shù)據(jù)。
而且對網(wǎng)絡(luò)運營也很有好處,因為Python也刪除做數(shù)據(jù)分析。
但是,最最最重要,是python真的簡單。
人生苦短,我用python。
你看下各類編程語言發(fā)明者的發(fā)量,你就知道了。
方法五:選自己喜歡的——投骰子
最后的最后!
給一個非常非常中肯的建議:選自己喜歡的!
其實,對于初學(xué)者來說,各個編程語言,難度都一樣。
畢竟你就是白紙一張。
所以務(wù)必選自己喜歡的!
興趣會彌補掉非常非常非常多的短板,什么英語不好,數(shù)學(xué)不好,都不是問題!
最重要還是你得你自己喜歡!
如果實在不知道,選哪個。
把各個編程語言,寫在不同的紙上,投骰子。
投中哪個,就告訴自己,這就是我最喜歡的編程語言,然后把其他紙全部撕了。
以后就選這個編程語言!
如果你想再投一次,那么先把你投中的撕掉,再接著投。
直到你拿到一張你不舍得撕掉的編程,那么這就是你喜歡的編程語言。
腫么樣,這個辦法是不是非常贊?。。。。。。?!
今天,就到這里,下面一篇會給各位小伙伴帶來的是零基礎(chǔ)學(xué)編程的方法!