首頁>技術>

偷偷看知乎的時候,發現很多人在問,應該學一門什麼樣的程式語言,才能升職加薪走上人生巔峰。真進坑了,你可能會發現,草色遙看近卻無。

Java

Java目前在國內使用的極其廣泛,廣泛到什麼程度呢,你在北京西二旗隨便扔個磚頭,就能砸中一個寫Java的。

Java這麼常用,那一定是有其過人之處。這是一門極其全面的語言,速度快、型別全、可遷移、框架固定。要是不知道用什麼語言來開始新的專案,或者擔心以後碰到無法解決的坑,那我真的推薦你,用Java吧!

幾乎所有的java問題,你都可以找到對應的解決方案。目前小公司在業務上大部分都在用Java,大廠除了Java,也會用一些其他的語言,比如golang,node等。

這個語言真的是十全十美嘛?當然不是,一切都有代價,Java這麼多優點的代價是,卷。

沒錯,這是一門超級內卷的語言。你面試需要懂的不是型別轉換設計模式,還需要懂資料庫設計jvm調優三次握手解包拆包等以後可能完全用不上的知識。名副其實的面試造飛機,工作擰螺絲。

java永遠是市場上最好招工的語言。可以說,隨便招個人就能繼續寫邏輯。有的人會說其他語言雖然小眾但是快啊,其實程式設計師們偶爾還是需要照顧一下老闆的感受的:把雲主機升級配置需要幾個錢,招不到程式設計師幹活會損失多少錢呢。

Golang

提到golang,大家可能都會想到“高薪”。

其實,不是Golang的薪資很有競爭力,而是有過多年程式設計經驗,後來轉向golang的老鳥們的薪資很有競爭力。事實上,現在能拿到golang高薪工資的,很多都是從Java、c++轉過來的大佬。薪資是跟著人走的,不是跟著語言走的。

但是golang作為一個工程性很強的語言,原生支援高併發,現在的基礎設施——docker、k8s都是用golang寫的。而且有谷歌這種頂級公司的背書,有廣闊的發展前景。(要不一堆人轉golang幹啥)

要是真的奔著高薪去,那我只能說

python

非常偏向自然語言體系,比如

print("hey")

然後就可以輸出hey了!

提到python,就會想到簡單方便。而且python的輪子非常豐富,寫程式碼之前,搜一搜說不定就有現成的輪子已經完成了你的功能,你需要做的只是pip install一下。

跟現在的熱度很相關的:雲計算的IAAS框架——openstack是用python寫的,AI裡面的框架也大部分都可以用python呼叫。

坑也很明顯:現在教python的培訓班如雨後春筍,號稱“學會了就能早下班”“效率提高一倍!”報班以後就給你一堆影片讓你看,擦亮眼睛,有那點錢吃個海鮮不香嘛。

本行業的不好割,就割外面的

此外,語言本身的一些小問題也足以讓人焦頭爛額,比如:

編碼問題版本2轉3問題(神坑)速度慢(其實現在硬體效能已經足以彌補這個問題了,但是人啊,總是希望自己更快)C

雖然python作為程式設計入門語言喊了好多年了,但是我相信,在大學把小夥伴們虐的死去活來的第一門語言仍然是C語言。

在與硬體的細微互動上,幾乎沒有語言能替代c/c++。這也是c/c++永存的原因。牛逼不是因為快,是因為細。

寫在最後

如果要學程式設計

上手學 C,入門會相當艱難,但是對應的,基礎會十分牢固。上手學python,獲得感和成就感會更高,但是注意不要被奇奇怪怪的培訓班割了韭菜。上手學java,理解起來雖然沒有c那麼困難,但是也有一些難度。有些急功近利,但是很快就能找到一些小公司的工作,然後賺到一份相對比較高的工資。上手學golang,我也不知道會發生什麼,但是我認為,你需要開始的足夠早——比如說在大二就開始學程式設計了(這代表你有一定的經驗);或者說背景夠好——top大學(這代表你潛力十足)。這樣你找工作時,才會發現,不錯哦,確實高薪。

我想,學習程式設計,能有一套對程式語言的理解非常重要。計算機是很笨的,它只能按照你的指令一步一步的去運轉。大家很容易就能理解,程式設計其實就是把你的想法翻譯成計算機能聽懂的語言。換句話說,計算機是如此的聽話,你可以只用寥寥幾行程式碼,來“規範”計算機的行為。所以程式設計也可以看成是一門管理計算機行為的“管理學”和與計算機溝通的“溝通學”。

那人呢? 讀自己程式碼時,費很大的精力才理解自己原來那雜亂的邏輯;讀別人程式碼時,簡直如同看一團蠕動的垃圾。

所以個人淺見,將程式設計規範和文件的反思貫穿始終,才是學習程式語言最重要的。

我舉個例子吧:不用看程式碼,光看文件你就能知道這個工程的大致框架,知道你需要的部分在哪裡,是不是賊爽?review的時候,你只需要看邏輯,而不用操心那些個別出心裁的鎖、變數導致的記憶體洩露,是不是賊舒坦?

程式語言從來都沒有那麼重要,發現新思路的喜不自勝,才是真的美妙。

9
最新評論
  • BSA-TRITC(10mg/ml) TRITC-BSA 牛血清白蛋白改性標記羅丹明
  • TensorFlow入門:用遷移學習來預測電影評論