編程語言怎麼選?

大家好, 我是小神仙。

今天和大家聊下初學者,編程語言應該怎麼選?

以及學了這些語言之後都能找到什麼樣的工作?

相信大家在剛接觸編程語言的時候,肯定都會聽到以下的這些名詞哈。

什麼 Java ,C++ , C 語言,前端,後端, Go 語言,Python,還有前端對吧。

我自己是在研究生的時候纔開始認真寫代碼的,剛開始聽到這麼多種類的編程語言的時候也是一臉懵逼,不知道這些具體是幹什麼的。

也不知道自己適合什麼,選什麼語言是最好的選擇。

也不知道自己以後能找到什麼樣的工作。

那首先給大家科普下編程語言。

如果從發展歷史來說的話,編程語言可以分爲三個時代。

機器語言——-》彙編語言———》高級語言。

我們現在基本上所有的學習都是直接去學習高級語言,一些 CS 專業的人可能會安排一些彙編的課程(但是由於我沒上過哈哈,不知道具體是怎麼上的。

機器語言

第一代計算機語言稱爲機器語言。機器語言就是 0/1 代碼。計算機只能識別 0 和 1。

在計算機內部,無論是一部電影還是一首歌曲或是一張圖片,最終保存的都是 0/1 代碼,因爲 CPU 只能執行 0/1 代碼。

機器語言太難記憶了,也沒人能看得懂。

你想想如果你在那個時候是一個程序員,你每天都在打的字符是 0 和 1,真的是比現在的 CRUD 還痛苦吧。

對比之下,還是珍惜現在的搬磚時光吧。

彙編語言

彙編語言就是將一串很枯燥無味的機器語言轉化成一個英文單詞。比如說:add 1, 2;

add 就是一個英文單詞,這樣看起來就稍微有一些含義了,即 1 和 2 相加。這個就是彙編語言。如果直接用機器語言編寫的話,這幾乎是無法實現的。

通過專門的軟件就可以將這些英文單詞轉化成 0/1 代碼並由計算機執行,這種專門起翻譯的作用的軟件叫作編譯器。

這些英文單詞和與它們對應的 0/1 代碼之間的對應關係,以及語言的語法,在編寫這個軟件的時候就已經寫在裏面了。

我們只要通過編譯器就可以將這些都轉化成 0/1 代碼。這樣大大方便了我們對程序的編寫。

高級語言

彙編語言之後又出現了第三代語言。第三代語言又叫 “高級語言”。

C 語言, Fortran, Basic ,Pascal , C++, Java, C#, Python, Golang 等等。

這些語言也是我們現在用來乾飯的本領!感謝計算機的發展,不然現在連搬磚的機會都沒有呢。

對應的工程師的崗位就有 彙編工程師,高級語言工程師。

我們現在基本找工作找的都是高級語言的開發。

如果從前後端的分類來說呢。

大概可以分爲前端語言,和後臺語言。

那還要給大家說下前端,後端是吧。

前端

前端呢,主要是和用戶打交道的地方,主要是渲染數據和頁面。

比如我們可以看到的淘寶頁面呀,微信的 APP 呀,以及我們平時點進去的一些小程序,活動頁面等,這些頁面和交互都是由前端工程師們去實習的。

如果你對這種可視化的東西比較感興趣,那你可以嘗試着去學習前端知識,成爲一個前端工程師。

後端

後端呢,主要就是邏輯的控制和數據的存儲了,比如淘寶的用戶信息呀,訂單信息呀,都是需要去存儲和關聯的。

後端對一個產品來說很重要,就是很多時候沒有很漂亮的界面呈現,初學者學起來會有些覺得枯燥。

比較典型的就是學習 C 語言,學了很久但是發現還是隻能在一個黑乎乎的終端玩一玩。

如果你對這種後臺服務感興趣的話,可以試着去成爲一個後臺開發工程師。

說完了前端和後臺之後,我們再來聊聊分別的編程語言。

首先來聊下後臺的編程語言。

c, c++ , Java,python , php 這些都可以做後臺。但是各自的適用場景可能是有些不太一樣的。

1

首先來說下 Java 語言吧。

我自己本身是在公司從事 Java 後臺開發的。

Java  在整個互聯網是有很大的市場的,而且 Java 有一個很強的生態,比如我們知道的 Spring 全家桶, 微服務框架對吧。

所以 Java 語言工程師的需求量是非常大的,國內的一線互聯網公司,以及各自銀行,小型互聯網公司,傳統企業等都能看到 Java 技術棧的身影,所以你如果學習 Java 的話,基本上是不愁找工作的,前提是你學習。當然不是說你學了就一定能找到工作。

其次,Java 在整個大數據生態當中佔據着很重要的地位,像 Spark,Flink,Kafka 等等這些框架,你都能用 Java 去使用和二次開發。

如果你未來想從事大數據方向或者是後臺方向的話,學習 Java 是一個很不錯的選擇。

2

再來說下 C 語言。

C 語言算是很多 CS 專業必修的課程了,C 語言的話可以用來做嵌入式的開發,以及操作系統的開發。

因爲 C 語言直接和操作系統打交道,所以可以操作的東西就很多,很多對性能要求極高的東西還就真的只能用 C 語言來做。

不過 C 語言也是真的難學,指針那塊就把很多人勸退了。

我的建議是如果時間充裕的情況下,可以把 C 語言好好學習下。

但是如果時間不夠又着急找工作的話,那就還是學 Java 或者 Python 這種快速好上手的。

3

然後我們講下 C++。

C++ 應該也是算用戶比較多的一個語言,像騰訊和百度的很多技術棧都是 C++ 的。

雖然現在有很多業務部門都開始轉 GO 語言了,但是不可否認 C++ 的地位還是在的,畢竟老的系統還是要維護的。

C++ 也是比較難學的。

學 C++ 的時候要理解的難點不僅僅只是語言的特性和語言的實現本身,還要去理解內存佈局,變量生命週期,系統級別 API 實現原理等等這些。

主要可以用來做後臺開發,搜索引擎開發,遊戲開發這些。

我個人覺得 C++ 是一個越老越喫香的行業。

4

接着是 Python。

Python 也是這幾年很火的一個語言了,主要是可以用來做數據分析,爬蟲,後臺開發,機器學習等等。

Python 相比於其他語言來說,學習的門檻會稍微低一些,比較適合一些轉專業的同學去學習。

就業崗位還是很不錯的,像數據分析這一塊每年的需求量也是很大的。

Python 還能做 Web 應用開發,像豆瓣網就是用 Python 實現的。

Python 還能做自動化的運維, 人工智能領域等等。

5

最後說下 Golang 語言。

GO 語言是一種類 C 的語言,如果有 C 語言的基礎,來學習 Go 的話,是一件很簡單的事情。

GO 語言也是可以用來做後臺服務,因爲其語言特性所以天生支持高併發的場景。

騰訊的很多新業務現在都是基於 Go 語言開發的了。

我們知道的 Docker ,K8s 這些都是基於 GO 語言開發的。

Google , FaceBook,百度,騰訊,京東,小米這些公司也都在使用 Go 語言。

就目前的趨勢來看,Go 語言的前景還是很不錯的。

前端的編程語言

前端的編程語言就留到下次講拉,大家想看的話記得留言呦~

基本的編程語言和就業方向就給大家介紹到這裏啦~

其實語言之間固然有差異,但是隱藏在語言背後的編程思維方式沒有差別。

如果你精通了一門語言再去學其他語言,很快就可以上手。

晚上下班之後就會回覆下大家的消息。

我以前上學的時候很迷茫,不知道自己要做什麼,走了一些彎路,現在上班了,偶爾也還是會覺得迷茫。

不過還好那個時候有些學長學姐的幫忙,不然現在應該也沒有在深圳。

按照我媽媽的設想,我應該在銀行做個櫃員或者當個高中老師吧。(我覺得這樣的生活也很好哈哈,不像現在這麼卷。

所以很感謝那個時候幫助我的人,現在也想多分享一些出來,可能沒多少人看到,但是也算是除了工作之外的一點點有意義的事情吧。

如果大家有問題的話,可以來我的公衆號加我微信或者直接下面微信私信我。

好了,以上就是這篇文章的全部內容拉。

本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源https://mp.weixin.qq.com/s/PZ5O44wUb3X7w8xgYr_-EQ