IT行業太多技術了,你選擇學習什麼技術?

雖然我是硬件專業——電子信息工程,但是我卻由衷的熱愛計算機科學與技術和軟件工程。我們的專業學習的是C語言,在我們這個專業上是爲學習彙編語言、搞硬件做準備。我不知道高中的物理基礎會不會影響到我對電工學的學習,雖然我的高中的物理成績不錯,電路基礎紮實,但是我到了大學才發現,儘管我又十分紮實的電學基礎,我學習電工學、數模等課程還是十分的吃力;相反,C語言成功的引起了我對軟件的興趣,儘管讀的是硬件專業。就單單從入門角度來講,學習軟件的入門速度是遠比學習硬件的入門速度更快,我們通常都是從學習一門基礎的編程語言開始入門軟件,而對於掌握一門語言的語法,特別是高級語言,是十分簡單的。所以,相比於學硬件,學軟件的初期更能讓學習的人體會到成就感和滿足感。相反,學習硬件是一個艱難的過程,它的基礎知識十分的晦澀難懂,你不僅要通曉複雜的電路知識,還要具備大學裏的優良的硬件設備等實驗環境才能可能學得很好,而僅僅單片機這個複雜的小成品纔是硬件的入門。所以,爲什麼即使有很多人選的是硬件專業,卻往往更加喜歡學習軟件,跟軟件工程和計算機專業的人搶飯碗,我也不例外。

可是畢竟我讀的是硬件專業,我和所有硬件專業的學員一樣一起學習C語言,C語言除了在硬件領域上有所應用,什麼嵌入式開發等,還能幹什麼?我在網上搜索了大量的資料,雖然有許多人都贊同和欣賞C/C++的高效性能,但是在我剛剛學完C語言入門C++時,我卻發現C++有太多難學的東西了,而且據很多大佬說C++越是到後期越難學,由於指針和多繼承這些東西的存在,使得C++更加的難學並且及其容易誤用,導致內存崩潰,再加上C/C++並沒有像Java那樣有成熟的開源庫和框架,在C/C++的應用上我們還要經常性的造輪子,它本身就難以學精並且容易誤用了,如果我們一直自己造輪子的話,豈不是及其容易造成開發上的不便。左右爲難之下,我還是毅然決然的選擇了Java。

Java是當世最盛行的語言之一,其語法簡單易學,在概念上摒棄了C++指針和多繼承這個概念,只保留了單繼承,每一個Java開發環境都具有Java虛擬機,使得每一個Java程序能在不同的操作系統上運行,移植性極強。Java應用及其廣泛,這也成爲了Java主流的原因之一,所以,這也必然讓Java發展成技術最成熟、應用最全面的語言。如果就就業而言,Java程序員的對口率更高。

python近幾年來特別火熱,是朝陽編程語言,它是爬蟲、計算機視覺、人工智能開發的主流編程語言。其語法是所有編程語言中最簡單、美觀的,有時候別的編程語言需要十行代碼量完成的任務,python一行就可以解決了。它的開發效率之高效,使得許多程序員喜歡利用Python來編寫一些小型項目或一些小腳本。爲了解決python的性能低的問題,人工智能領域常常將python和C/C++結合。就算python是人工智能的主流,C/C++在人工智能的開發商也不會退出,反而越發重要。不論用什麼樣的高級語言進行開發,爲了保證開發的性能問題,C/C++永遠作爲底層的開發語言。所以哪怕python再火再熱,C/C++的重要性也不會下降。但是,在未來的智能領域,python也將越來越重要。但是python語言雖然易學,但是我們在人工智能上的應用需要我們有高超的數學和算法基礎作爲支撐,也許在Java上,數學和算法的重要性用1衡量,那麼在基於python上的人工智能開發,數學和算法的重要性就要用10衡量。在智能領域,數學和算法越是高超,機器智能化的程度越強。另外,人工智能領域不僅侷限於數學上,它更是許多學科的結合。大腦神經學,用於模擬智能機器的思考過程;人體運動學,模擬智能機器的運動;視覺神經學,模擬智能機器的成像過程。所以,要在人工智能上有所建樹,一個團隊必須擁有這些方面科研的能力。而對於我這個主攻Java的程序員來講,我只需要會簡單的運用python寫一些小程序和小腳本足以。

很多人認爲學習前端是個不錯的選擇。的確,站在用戶的使用需求上來講,前端確實是一個比C/C++、Java等這些後端工作要舒適得多,更加人性化,而且簡單易學。所有的前端工程師或全棧工程師都是從靜態腳本語言HTML開始學,然後CSS、JavaScript。現在企業上更加需要的是全棧工程師,而不是前端工程師,因爲全棧工程師更能根據用戶需求HTML+CSS+JavaScript這三種語言融匯貫通。但是從摳圖到一個網站頁面的形成,是需要花費十分大的精力的。與其說全棧工程師是個程序員,倒不如說它像網頁設計師。在職能上,全棧工程師更傾向於設計網頁。絕大多數的全棧工程師在前期提升的非常快,但是到了後期會遇到難以想象的瓶頸。換句話說,絕大多數全棧工程師的能力會停留在一個無限趨近於某個數的平緩線上。

然而,近年來,國家大力支持網絡安全發展的力度,制定了一系列促進網絡安全行業的發展。正因爲,網絡安全形勢日益嚴峻。電視劇《親愛的,熱愛的》正是在這一背景下橫空出世,它以甜蜜的愛情爲題材,以男主參加網絡安全大賽爲主線,旨在向大衆傳播網絡安全知識,提升公衆的網絡安全意識。但是,現實生活中的網絡安全可並沒有這麼爲人所熟知。置身事外的人,僅僅知道網絡安全這個名詞,但是真正到了學習網絡安全上,它確確實實是一個大坑。就拿ctf爲例,它是爲遏制黑客在網絡上相互攻擊而進行的奪旗賽(Capture the Flag),我也有幸領略過和學習過ctf,它的知識量龐大,某些領域的晦澀難懂,難以深入,讓很多學習網絡安全的程序員們望而卻步。學習網絡安全,最好的是要有編程開發經驗,這僅僅是作爲基礎。要想達到另所有人仰望的層次,需要學習者對技術精益求精和不懈努力的精神。在現實生活中,從事網絡安全的人員呈現出兩極分化態勢,比起廣大的編程行業,更加的良莠不齊。絕大部分處於瞭解層次,而處於金字塔頂端的黑客,纔是決定攻防、主宰攻防的人,無論學習網絡安全的人有多麼多,但真正能從網站上發現前所未有的新漏洞並加以利用的人,都是屈指可數的。所以,我認爲,網絡安全的學習難度遠遠高於編程,而且還需要大量的編程經驗,甚至精通數門編程語言。

在IT行業技術繁雜的今天,IT這個圈子十分龐大,裏面還細分很多領域,要想在IT圈子裏面混,你要選擇學習什麼技術?

無論在IT界的哪個領域,入門者最需要的就是基礎。首先要以一門編程語言作爲入門語言(推薦是C語言),循序漸進地學習數據結構與算法,在此基礎上,不斷了解新的語言,學習新的技術,一切都以興趣、理想爲導向,最終的成果靠的是堅持。

你可能嚮往成爲一個精通Java技術棧的資深程序員;你也可能嚮往成爲一個精通多門語言,無所不能的黑客;你也可能嚮往成爲一名高級的全棧工程師,不斷貼近用戶,滿足用戶的需求;你也可能嚮往成爲一個利用IT技術的創業者……不論你想成爲什麼,將自身所學不斷地轉化爲社會價值,這個社會纔會不斷的前進。

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