編程入門:你的第一門編程語言應該學什麼?還期望百度給你答案?

大多數人的編程之旅都是從搜索引擎開始的。程序員

例如搜索「XXX語言教程」。算法

但要怎麼決定從哪門語言開始呢?編程

反手給你來一廣告,讓你防不勝防!服務器

「硅谷的人老是開Java的玩笑,我想應該先學Java。」微信

或者:數據結構

"Python!如今Python這麼火!"編程語言

又或者:性能

"必定要學Go!你看它的吉祥物多麼可愛!"學習

或者當咱們不知所措的時候,只能搜:搜索引擎

"入門學什麼編程語言比較好?"

人們顧慮的問題一般就那麼幾個,下面這張信息圖很好地回答了這些疑惑:

選擇第一門編程語言的過程十分有趣,這就好像是我的的信仰選擇問題同樣。

也許由於你像個孩子同樣喜歡玩橡皮泥,稀裏糊塗都打算開始學Ruby。我仍是要提醒你,不要草率作決定。

想要真正掌握你的第一門編程語言,你須要投入成千上百小時來學習實踐。

因此你要考慮清楚如下這幾個方面:

(1)這門語言的崗位需求大不大

(2)這門語言有沒有發展前景

(3)語言的學習難度

(4)在學習過程當中你能運用它開發什麼樣的練手項目(把你的成果分享給周圍的朋友才能激勵你堅持學習下去)

每一年都會有新的編程語言出現,以及隨着而來的學術論文亦或者是搞笑段子:

第一門編程語言可選擇的範圍很廣。下面這張圖很清晰地顯示了過去12年幾門語言學習的Google搜索熱度變化:

Java有起有落,而Python逐漸成爲了最受歡迎的入門語言。除此以外,還有最近幾年逐步火起來的JavaScript.(新手請注意,Java和JavaScript之間的區別就像是周杰和周杰倫之間的區別。)

在我展開討論以前,先明確幾點:

(1)我並不會在這裏爭論哪門語言要比哪門優越

(2)我認同一名合格的程序員最終應該掌握不止一門編程語言

(3)我想說明的是,對於剛入門的初學者來講,仍是應該先專一於一門語言的學習。

咱們先來聊聊如今學校裏的編程教學是什麼狀況。

計算機基礎教學

通常在大學教授編程課程的都是計算機系,而計算機專業通常數學和電子方面的內容又比較多。固然你可能早就據說過:

計算機科學的教育沒法使任何人成爲專業的程序員,就好像學習怎麼使用刷子和顏料沒法讓任何人成爲畫家同樣—— Eric S. Raymond(《大教堂與集市》做者)

即便在2020年的今天,許多大學還像教計算機科學同樣教編程,像教數學同樣教計算機科學。

因此許多課程中編排的入門語言是C這樣底層抽象的語言,或者是專門針對數學的MATLAB.

一些專業權威的機構也推出了他們的編程語言年度排行榜,例如TIOBE Index,又或者是下面這個來自IEEE的榜單:

大多數這類榜單10年來都沒有什麼變化。

先專一學好一門語言,再去學別的

若是你老是在各個語言之間搖擺不定,你很難取得什麼實質上的進步。

爲了不在入門階段止步不前,你須要紮實學好你的第一門語言。以後再學習別的語言你就會感受到異常輕鬆。

等到那個階段,你就能夠逐步成長爲一名掌握許多語言的全面的開發者啦:

C 對於你理解計算機原理特別有幫助,例如內存管理之類的。在高性能計算中很是有用。

C++ 在桌面應用軟件開發、服務器開發,音視頻開發中運用普遍

Python 在科學研究和數據分析中應用普遍

若是你想在大型的科技公司中工做,Java就很是重要。

但仍是先學會C語言和C++再說吧!)

編程入門就選C語言,同時C語言也是大學計算機相關專業必修課之一!

C是一個結構化語言,它的重點在於算法和數據結構。C程序的設計首要考慮的是如何經過一個過程,對輸入(或環境條件)進行運算處理獲得輸出(或實現過程(事務)控制)。

C++,首要考慮的是如何構造一個對象模型,讓這個模型可以契合與之對應的問題域,這樣就能夠經過獲取對象的狀態信息獲得輸出或實現過程(事務)控制。 因此C與C++的最大區別在於它們的用於解決問題的思想方法不同。之因此說C++比C更先進,是由於「 設計這個概念已經被融入到C++之中 」。

C與C++的最大區別:在於它們的用於解決問題的思想方法不同。之因此說C++比C更先進,是由於「 設計這個概念已經被融入到C++之中 」,而就語言自己而言,在C中更多的是算法的概念。那麼是否是C就不重要了,錯!算法是程序設計的基礎,好的設計若是沒有好的算法,同樣不行。並且,「C加上好的設計」也能寫出很是好的東西。這樣就是C/C++軟件工程師工資高的緣由之一,畢竟是接近底層的高級語言!

一樣人們也喜歡吐槽C++,可無論有多少人吐槽,C++依然很成功。

這就和PHP是全世界最好的語言是一個道理。

因此若是再有人在你面前說JS怎麼怎麼很差的話,請記住C++之父的那句名言:

世界上只有兩種編程語言:一種是每天被人噴的,另外一種是沒人用的。— Bjarne Stroustrup

自學C/C++編程難度很大,想提高你的編程能力,不妨和一些志同道合的小夥伴一塊兒學習成長!

C語言C++編程學習交流圈子,【點擊進入微信公衆號:C語言編程學習基地

有一些源碼和資料分享,歡迎轉行也學習編程的夥伴,和你們一塊兒交流成長會比本身琢磨更快哦!

相關文章
相關標籤/搜索