計算機專業學習,該如何選擇技術方向?

【文章來源微信公衆號:每天學編程】

讀者A:我剛參加工作一年,感覺什麼也不精通。大學學的是 Java,但這一年來 Python 特別火,有幾個轉到 Python 的同學工資竟然比我高。我是不是也應該轉呢?

類似這樣的問題還有一些,比如說讀者B:“我現在大一,學的是 C++,聽說畢業後不太好找工作,作者什麼好的建議嗎?

對於初入職場或者在校的同學來說,選擇哪一門語言意味着未來的收益(掙到的錢)可能會有顯著的不同。

況且技術的更新迭代實在是太快了。你完全預料不到!如果選擇錯了,付出的代價也是沉重的。

不知道你有沒有這種感覺啊,前幾年盛行的安卓,好像一下子就涼透了。背後的原因也很簡單,就是微信公衆號和小程序的推而廣之,導致 APP 的需求量大幅降低。

技術方向

從大的層面來看,技術方向可以分爲兩種:前端和後端。計算機“文盲”經常性會把後端誤認爲是“後臺”(網站管理後臺)——做外包這些年,我遇到過不少這樣的甲方,每次我都需要耐心地給他們解釋好一會兒。

那接下來,我就要開始解釋了(開個玩笑)。我們來談談前端和後端的一些趨勢吧,大家可以作爲參考。

1)前端

前端工程師近兩年來非常吃香啊,尤其是前端前面加了一個“大”字之後,也就是現在非常流行的“大前端”,就好像“大數據”一樣。(藉此機會,你可以體會一下“大哥”和“哥”之間的差別有多大)

我想,前端技術裏面最不會過時的就是 HTML + CSS + JavaScript 了吧。爲什麼這麼說呢?因爲它們是前端開發的基礎,並且標準也在逐年更新。如果你用開發者模式觀察一下的話,你會發現,所有網站的源代碼裏面都少不了這老三樣。

排名第二的應該是 Node.js,它逐漸成爲了前端開發的基礎技術,正在變得越來越重要。上個月,我在使用 Jekyll + GitHub Pages 配置個人網站的時,它就要求我要先安裝 Node.js 環境(由此可見吧)。

排名第三的應該是 Vue.js / Angular / React.js,它們在 2018 年的時候已經成爲趨勢,2019 年也沒有呈現出任何的頹勢。尤其是 Vue.js,其作者尤雨溪因爲長得帥,成爲了廣大前端程序員心目中的大神(偶像)。

排名第四的應該是 Stencil,其官方的介紹如下:

Stencil is a toolchain for building reusable, scalable Design Systems. Generate small, blazing fast, and 100% standards based Web Components that run in every browser.
我先蹩腳地翻譯一下,大家將就看看。Stencil 是一個工具鏈,用於構建可重用的、可擴展的設計系統。可以生成小巧的、快速的、 100% 的基於標準的 Web 組件,關鍵的是可以在所有的瀏覽器中運行。

這就厲害了,不需要考慮瀏覽器的兼容性,還能夠和任何主流的框架(Vue.js / Angular / React.js)搭配使用。

排名第五的應該是 PWA(Progressive Web Apps),漸進式 Web 應用程序,快速、可靠,還能夠讓用戶感覺像原生應用一樣,體驗非常棒。Google 提出的概念,應該不會差。

好了,前端就說這五個吧(排名僅供參考啊)。

2)後端

說到後端,可能會有人開玩笑說:“ 主流不一直是 PHP 嗎? ”雖然說這是一句玩笑話,但是,我並不怎麼敢反駁。

從讀者羣體裏瞭解一下,洛陽做 PHP 的程序員真的蠻多的,儘管開源 PHP 的官方團隊已經解散了。不管怎樣,一個鐵打的事實是,PHP 語言在過去的 20 年裏給許許多多的人帶去了工作機會。

在我們繼續聊下去之前,請允許我驕傲地宣稱一件事:我是一名 Java 程序員。Java 到底有多牛逼,已經不需要我再吹了,反正我已經靠它吃飯了許多年,未來還要再吃幾年。

(雖然不用吹,但多少得說幾句)

Java 是一門以 Class 爲單位,高度面向對象的高級編程語言。Java 的設計初衷是“寫一次代碼,在哪裏都可以用” 。 Java 可以完成任何規模的任務,所以它是很多公司在做商業級項目的時候的首選 。

Jame Gosling 在 1995 年的時候設計了Java,似乎 Java 一出生就有做老大的氣質。事實上,確實做了好多好多年。

那 Python 呢?

Python 是一門擁有簡潔語法的高級編程語言。一位名叫 Guido van Rossum 的荷蘭大佬在 1991 年就設計了它。Rossum 設計 Python 的初衷是爲了讓代碼讀起來更輕鬆,並且讓程序員寫更少的代碼。

Python 火的原因可不是因爲 Python 的優雅,而是人工智能和數據分析。涉及機器學習、深度學習、神經網絡這些高大上的領域,絕對避不開 Python。所以可想而知嘛。

限於篇幅原因,後端技術我們就到此爲止。

3、到底怎麼選

說了這麼多,關鍵的問題來了,到底選擇什麼技術方向呢?

前端程序員已經很明確了,按照我說的趨勢去選就沒錯了。後端程序員呢?來看一份榜單吧,數據來源於可靠的 TIOBE。

看完這張榜單,我相信你心裏應該也有數了,對不對?

比如說讀者A,沒必要糾結是選擇 Java 還是 Python,這兩門語言現在霸佔了狀元和探花的位置。據我所知,Java 工程師和 Python 工程師的薪資待遇並沒有明顯的差別。如果不打算往人工智能和數據分析方向轉的話,抱緊 Java 這個大腿就行了。

就未來的發展前景來看,Java 也並沒有呈現出任何的頹勢。如果你有一部安卓手機,幾乎所有 App 都是用 Java 寫的。大型網站的後端,比如說淘寶、京東也都主要是用 Java 開發的。大型的企業級應用,比如 CRM 系統、ERP 系統也大多數是用 Java 開發的。越來越火的大數據,其主流框架 Hadoop 的開發語言也是 Java。

不過,從增長的百分比來看,Python 的增幅最大,這說明 Python 的潛力十足。如果時間充足的話,可以自學,以備後患。

至於讀者B同學,也沒必要過於憂慮,三年畢業後還不至於找不到工作。畢竟 C++ 的底蘊還是在的。況且,如果把 C++ 吃透的話,學習其他語言也完全不在話下。

4、最後的忠告

選擇技術方向,選擇一門語言,本質上都是一種投資。

在日新月異的科技時代,沒有人敢打包票說未來幾年後一定流行什麼,不流行什麼。還是那句話,技術更新迭代太快了!

那怎麼讓投資收益最大化呢?

說實話,我也沒有定論(皮一下)。

A:選擇年輕的語言(技術方向),意味着風險越大,因爲它就像流星一樣,燦爛,但易逝。有句俗話,你也聽過:“風險越大,回報也許也大”。

B:選擇市場已經認可的語言,意味着越穩定,畢竟活得越久越需要能耐。

C:把浮躁的心安定下來,讓時間來證明一切。專注於你當下選擇的語言,深耕的同時注意擡頭看一看就行了。

好了,我說完了我的看法,說說你的吧?

從事全棧6年,專門建立的學習Q-q-u-n ⑦⑧④-⑦⑧③-零①② 分享學習方法和需要注意的小細節,互相交流學習,不停更新最新的教程和學習技巧(從零基礎開始到WEB前端項目實戰教程,學習工具,全棧開發學習路線以及規劃)點:學習前端,我們是認真的

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章