寫在開始
我相信在剛學程式設計,或學了有一段時間(1-2年)的程式猿,大多都考慮過,應該選擇哪門程式語言作為主要開發語言,我同眾多程式猿一樣,在大二的時候選擇了 PHP
這門後端程式語言,當時沒有考慮很多,因為工作室裡以 PHP
為主(現在也非常喜歡 PHP
),根本沒有考慮到選擇哪個程式語言,當然,我之前已經學了 C
我為啥沒有選擇 C
作為開發語言,就不言而喻了吧,?
我們先來看看程式語言的排行
可以看到 Java
還是佔據第一位,PHP
已經有下降趨勢,可以分析一下,Java
佔據第一還是有一些原因的,比如高併發,分散式(當然這些特性並不是只有 Java
才支援)等等,這些都是 Java
已經成熟的優勢,這也是其他程式語言無法撼動它第一位置的原因之一,也有可能是 Java 攻城獅人多的原因,PHP
也是我的主要開發語言之一,有下降趨勢,還是挺傷心的?,PHP
的效能方面還是不能和 Java
比的,但是快速開發,簡單也是它的優勢,若想支援多執行緒,高併發還需要 Swoole
來支援,PHP
對於大型應用還是不能很好的支援,所以這也是很多大型應用大多都不是 PHP 作為服務端開發語言的原因。
最近也是在學習 Go
語言,在準備寫 demo
的時候,發現,只不過是將 PHP
的寫法轉換成 Go
的寫法而已,並沒有運用到 Go
的特性,如自帶的高併發支援,管道等,這也是我知識儲備不足的體現。
程式猿為什麼要有技術深度
大家都說後端攻城獅不過是 CURD
,這也是為啥前端切圖仔喜歡叫後端為 CURD
仔的原因,可能很多人在工作 3 年了,還是在 CURD
,並不是說有什麼不對,因為每個人的想法還是不同的,既然選擇了程式猿這一行業,就要有技術的追求,現在大家都說網際網路大寒冬(今年2019年),擔心裁員,那有沒有想過裁的都是哪些人呢,是各種技術信手拈來的技術大佬,還是 CURD
仔呢?如果我們技術達到一定程度,大寒冬跟我們還有關係嗎?
關於程式猿應有的技術深度,我的理解就是理解其中的執行原理,其中就包括計算機原理,網路原理,資料庫原理等等,其實深入瞭解執行原理,並不是那麼的枯燥乏味,在你會用的基礎上,看這些執行原理,會恍然大悟,原來底層是這樣執行的,就拿我來說,我最近在看掘金小冊《資料庫執行原理》,在看頁
的那一章,真的是恍然大悟,原來資料是這樣儲存的(原諒我大二沒有好好學《資料庫原理》。。。?)。
在網上大家很喜歡討論哪個程式語言最好(PHP是世界上最好語言,不解釋),後端開發應該選擇哪個語言,選哪個框架等等,難道大家沒有意識到程式語言甚至框架都只是完成工作一個工具嗎?若內功(這裡指的是資料結構,演算法,網路知識,計算機原理,資料庫原理等等)深厚,還會在乎什麼程式語言嗎,學一門程式語言只不過是幾天甚至一兩週的事情。大家可以比較一下,內功深厚的人寫出來的程式碼,和沒有啥內功的人寫出來的程式碼,業務相同的情況下,程式碼質量絕對不是一個級別,因為不理解其中原理肯定寫不出很棒的質量賊高的程式碼。
寫在最後
若真的想走的更遠,發展的更高,應該對技術有一些追求,不能簡單的認為我會用哪一門程式語言,會用一些工具,我就天下無敵了。所以大家還是要加油的學習底層執行原理呀,共勉~
這是看了一篇部落格和看身邊後端攻城獅有感而發,文采不好多多包涵,這也僅代表個人看法