友快網

導航選單

學習軟體開發的人:學習哪門語言好?這些開發語言的區別你知道嗎?

很多想要學習軟體開發的人問過我,學習哪種開發語言好。對很多想要介入軟體行業的新人來說,學習哪門語言很是糾結。現在剛好開始放寒假,在假期學習一門開發語言也是一個不錯的選擇。今天我給大家簡單介紹一下。

現在市面上的開發語言非常多,在我看來,沒有哪種好,他們的區別在於在哪種領域更適合。瞭解他們是應用場景,自然也就知道了自己心中問題的答案。

上面的圖片列舉了很多開發語言,最顯眼的是C和JAVA,市面上份額最多的也是這兩門語言,但並不表示其他語言就差。

天下武學出少林,在我看來,C++就是程式設計界的少林,萬法之宗。C++是在C語言基礎上擴展出來的,他們屬於近親。 C是面向過程的,C++是面向物件的。語法上也有很大的區別。從面向物件的角度去解決問題,更符合問題抽象邏輯。C現在主要應用領域是微控制器,如果想要走硬體的路子,將來做微控制器應用行業,C語言是必須的。微控制器還是非常有前景的,我們生活中到處都有微控制器的影子,吹風機、洗衣機,電冰箱等等,都需要微控制器去控制。C++的應用領域就非常的廣泛了,電腦桌面應用程式,伺服器,遊戲,嵌入式。C++/C有他獨特的優勢,就是這門語言可以控制硬體,而JAVA/JS之類很多語言就做不到(JAVA也可以控制硬體,是透過其他方式,就語言本身是控制不了的)。現在很多開發語言的出現,已經將C++的份額分去了很多,但是在嵌入式領域,C++依然處於霸主地位,這是C++的先天優勢。這裡簡單說下,為什麼C++可以控制硬體,而其他語言不可以。因為C++編譯後的可執行檔案是基於系統的二進位制檔案,是直接可以執行的機器碼,而JAVA是執行在虛擬機器中,JS是執行在瀏覽器中,指令碼語言需要直譯器的支援,他們都是中間嵌套了一層,不是直接使用機器碼與電腦等執行環境直接互動,所以從先天上就是不可能的事情。正是因為這個原因,C++執行效率也是非常高的,當然現在硬體已經非常強勁了,執行效率問題已經被強勁的硬體所掩蓋。從學習難度上講,C++是被認為比較難學的一門開發語言,之所以難學,很多人說是因為指標的存在,其實在我看來這並不準確,指標其實並不難,C++其實要比其他語言更加的靈活,靈活就能更好的最佳化程式碼,提高效率,使用最合適的語法,同時也增加了學習難度。對C++感興趣的朋友可以關注我,我打算最近寫一份C++的教程,配套影片同時釋出。其他開發語言也會更新一些開發技巧。

如果說C++是少林,那麼JAVA就是程式設計界的武當。武當出少林,但高於少林。JAVA在程式設計界算的上是巨無霸。網際網路時代,後臺開發成就了JAVA。從語言本身來講,JAVA有著和C++一樣的 多型、介面、面向物件,同時摒棄了C++複雜的資源管理,JAVA自動進行資源釋放,將開發者精力迴歸問題本身。JAVA是一門非常優秀的語言。JAVA也可以做桌面應用程式,但是份額遠遠沒有C++/C#高,但是在後臺開發上的地位卻是無法撼動的。學習難度上來講,語言本身並不難,也僅僅是JAVA語言本身,要學好後臺開發需要學習後臺執行原理,前後臺互動機制,後臺框架,後臺框架執行原理。因為現在後臺框架太多了,方便使用的同時也遮蔽了執行原理的認知。JAVA主要是用在後臺開發上,想要學好還是要下一番苦功的。JAVA應聘單位也是非常多的,開啟招聘網站看看就知道了。

JS/HTML這算是武林中的峨嵋派了。在武林中比上不足比下有餘,到哪都招人喜歡(美女多(◠‿◠)),要是真遇到高人,能一巴掌被拍死。JS和HTML放在一起介紹,是因為他們幾乎是同時存在,有JS的地方少不了H5(html5的簡稱)。外行人可能奇怪為什麼被比作了峨嵋派,因為H5和JS是用來做前端開發的,說白了就是做介面的。現在社會幹什麼都要有一個美麗的外表,同樣功能的APP,沒有一個漂亮的介面,直接就被解除安裝了。JS屬於指令碼語言,先天不足決定了效率不高,但是現在硬體非常的強勁,這個問題可以被忽略。JS+H5+CSS就可以做出非常漂亮的介面,應用場景也非常的廣泛,手機APP的H5開發,現在已經非常的流行了,一份程式碼可以同時適用android和IOS平臺,確實很有誘惑。網站的前端開發,微信小程式(和VUE相似度很高)開發,甚至嵌入式開發(我之前就用過,QT封裝一個H5框架,使用H5開發介面)。H5/JS開發還是非常火的,就業前景挺好。從學習難度講,入門非常簡單,知識點並不多,H5+JS+CSS是基礎,之後再學習VUE等其他前端框架就可以去上班了。

如果說上面介紹的開發語言屬於武林界的,那麼python在我看來就是來至外太空的機器人。說起python我相信圈內圈外的人都是如雷貫耳,廣告滿天飛,到處都是鼓吹python的,就連小學生都不放過(可憐的家長花錢給孩子報特長班,學少兒程式設計學python)。其實我對python並不感冒,僅僅代表我個人觀點。我先說下我對python不喜歡的理由:第一條就是廣告太多了,我就沒見過開發語言還打廣告的,老是讓我有種此地無銀三百兩的感覺;第二條就是太虛誇了,好像人工智慧就是python一樣,混淆視聽;第三條就是小學生培訓機構到處鼓吹python,費用還相當的高,其實我不建議那麼小的孩子學什麼程式設計,小學數學課本的邏輯訓練就足夠了,程式語言僅僅就是思維的實現,就是些符號,沒必要花那麼多錢讓那麼小的孩子去學(市面上針對小學生的還有程式設計貓scratch,這明明是GOOGLE的一個免費專案,到中國一包裝就成了搖錢樹,如果讀者想要了解scratch可以給我留言,我可以分享給大家下載地址,scratch本身就是免費的)。以上僅僅是我個人觀點,但是並不能否認python的開發語言特性。Python在雲計算,人工智慧,爬蟲方面比較出名,python是一種指令碼語言,之所以人工智慧出名是因為他有很豐富的類庫,其實C++  JAVA也都可以實現,只是配套庫沒有那麼豐富,這也讓我感覺現在的新東西太浮誇,現成的庫用起來方便,但是效率和原理就有待商榷了。爬蟲方面用於爬取網路資料,其他開發語言也是可以實現的,易語言的網路填表,有興趣的可以自己百度一下。不可否認,python確實是非常的出名。從學些難度上說,學起來難度並不大,我看網上很多人都說非常簡單,幾天就能學通,我覺得這就太誇張了。我以前也是沒有接觸過python。後來做了幾個簡單的python專案,學習了下python的語法,沒有網上說的那麼誇張,但是不可否則python集成了其他語言語法上的很多優點。

C#讀作C Sharp,說起C#我有點詞窮了,感覺他圖示設計的還挺符合他的囧狀,兩個叉號交錯,好糾結,在我看來C#啥也能幹,啥也不行,好尷尬啊!!在WINDOWS的天下,C#可以做桌面程式,也可以進行後臺開發,而且表現還都挺出色,就是用的人不多,又一次尷尬了。C#和JAVA的語法特別的像,在我看來有70%以上的相似度,所以這兩種開發者可以瞭解學習下另一種語言。學些難度不大,其實我感覺這門語言很優秀,但是用的確實不多,找工作可能比較尷尬。

其他開發語言我也不瞭解,就不說了,也比較小眾,想了解更多程式設計知識,關注我,更多更好的技巧分享給你。

上一篇:「新機」驍龍870處理器起步價4499元,驍龍條、oppo find x3都賣了4499元!
下一篇:榮耀釋出會現場:趙明說任正非和任正非最好的方式就是要發展得更好