我適合學什么編程語言呢?
大家好,我是魚皮,今天聊聊編程語言的選擇問題,通過對 10+ 主流編程語言的特點、優劣、應用場景、發展前景等簡單分析,希望幫還在迷茫的小伙伴們選擇最適合自己的語言去學習。
編程語言選擇
本文大綱:
前言
先來看張最新的 TIOBE 編程語言排行榜,C 第一、Python 第二、Java 第三:
那可能就會有一些 “追求極致” 的同學說了,我要學編程,就學最牛逼的 C 語言!
千萬別!排行榜的統計方式、人群多種多樣,並不代表一切,不要盲目跟風。
我們做事一定要有目的,先想清楚自己學編程是為了什么?
單純出於好奇、感興趣?為了搞錢?想多門手藝、提高工作效率?想開拓視野?想創業做自己的產品?還是只是碰巧選了計算機專業呢?
有不少轉專業、其他行業的在職同學都想學編程,但切記:沒有目標是絕對學不下去的!
下面介紹下主流編程語言,大家可以跟據自己的目標進行選擇。
語言介紹
此前做過一個投票,大多數朋友學編程還是為了找工作,那我們就先說說如今最適合找工作、企業需求量最大的兩個方向:Java 和前端。
Java
Java 本身是一門相對高級的語言,成熟穩定,寫出來的程序可以跑在不同的操作系統上。
但真正促使 Java 被推向神壇、內卷之王、培訓機構賺錢寶典的呢,還是他豐富的應用場景和生態。后端、桌面程序、安卓 APP、大數據等等,但凡你能想到的東西,Java 都有現成的開發工具和方便的類庫框架,就是讓你寫更少的代碼、更快地完成開發。
而且只要是你學 Java 時人類可能會遇到的問題,在網上都能搜到答案。
這些正好符合企業的需求:老板給錢,就是希望你能夠快速完成工作,而且最好不出意外事故。
再加上前幾年我國移動互聯網的發展,安卓 APP 大肆開道那會兒,Java 作為安卓的主要開發語言,被大推了一波。
前端
前端,簡單來說就是寫網站界面(大多數情況下),它其實包含了三種語言:HTML、CSS 還有最重要的 JavaScript。
Web 前端入門相對簡單,優點是寫出代碼能立刻看到效果,適合培養興趣。
那為啥說它適合找工作呢,畢竟大部分公司做產品就是要給用戶使用的,所以界面是必須的,因此需求量大。
此外,現在前端的應用越來越廣泛了,像大前端,你可以用同一套代碼開發出網頁、桌面程序、安卓、IOS APP、小程序等,大大節省了開發成本。
提到小程序,這玩意的數量已經超過了 APP!它有很多優點,免安裝、方便、易分享、基於微信用戶量大等,再加上開發成本很低,所以是很適合創業的一個產品形態。
也是因為小程序、大前端的發展吧,讓 Android 和 IOS 移動端、甚至還有客戶端的開發前景逐漸變差。就現在來看呢,IOS、Android 開發供過於求,往以后看呢,完全看不到 APP 他的增量在哪里?畢竟除了一些主流的 APP 外,主動安裝 APP 的人真是越來越少了。沒有市場,新人怎么入行,怎么生存?
所以想開發界面同學,網頁也好、小程序和 APP 也罷,都建議先從前端學起,像布局、組件化、模塊化,很多方法和思想是類似的。
C 語言
再說說大多數計算機專業同學接觸的第一門語言 —— C 語言。
有句話說的好,任何比 C 語言高級的語言都能用 C 語言來代替,任何比 C 語言低級的語言都不足以完整抽象一個計算機系統,這足以證明它的地位。
為啥它那么牛逼呢?
且不說他的語法靈活,最關鍵的是他足夠底層,底層到所有的操作系統(Windows、Linux)都是用它實現的。所以學習 C 的過程中能讓我們接觸到更多底層的概念(比如自己分配和維護內存),有助於我們日后寫出性能更高的程序。也是因為這點,C 語言很適於操作系統、底層軟件、各種嵌入式系統和軟硬件開發。
C++
C++ 在 C 語言的基礎上增加了一些能力和思想,比如經典的面向對象編程,讓開發者有更好的開發體驗,能夠提高代碼的重用和開發效率。
它本身就是 C 語言的超集,因此性能也很高。
綜合這兩點呢,C++ 的應用場景也是非常之廣,常用於后台開發、桌面程序、語言、框架開發(Java 都是C++開發的)、圖像處理、音視頻處理等計算任務、3D 引擎等。
C# .NET
提到引擎,就必須要說下 C# 和 .NET,千萬別讀成 “C 井” 和 “點 NET” 啊!
.NET 是一個框架和環境,而 C# 是運行在其上的編程語言之一,此外還有 VB .NET 等。
雖然最近幾年 C# 在國內流行度一般,但仍是 Unity(游戲、VR、AR 開發平台)主要使用的編程語言,所以還是有用武之地的。
下面再聊幾個有爭議的語言。
Python
首先是 Python,入門簡單、生態好、很多現成的代碼類庫能直接用,因此在工作中適合編寫小的腳本和工具,像文件表格處理,能提高辦公效率。
它也是啥都能做,還是爬蟲、數據分析、數據挖掘、人工智能的一流語言。鋪天蓋地的 Python 廣告、小學生都開始學 Python 了,這些都反映了 Python 的重要性和易學性,真的是每個人都可以學 Python。
但是呢,它並不是企業開發的推薦語言,想找開發工作,就不要去重點研究 Python 了,把它當成工具或者入門培養興趣的語言就好。因為同等開發效率下,Python 作為一門解釋執行的動態語言,運行效率實在是太低了,甚至可以比 C++ 慢 100 倍!
PHP
曾經熱火朝天的 PHP,他有一個美稱 “世界上最好的編程語言”。
但是如今 PHP 卻逐漸走向衰落,不再受到大公司的青睞。
為啥?
以前 PC 網站時代,拿 PHP 做個網站,弱類型很靈活,開發起來賊快賊方便,用 Java 寫 5 天的程序,用 PHP 1 天就能搞定。
但如今,互聯網的產品形態逐漸傾斜於移動端,而非傳統網站,PHP 雖然能也做服務端開發,但它的性能太低了!而且隨着 Java 和其他后台語言的發展,它們的開發效率也上來了,都能花同樣的時間完成開發,誰還會選擇性能更低的 PHP 呢?
Go
近幾年 Go 語言在國內發展迅猛。
他語法簡單,且天然支持高並發、性能賊高,因此很適合開發現在主流的雲原生應用。像大名鼎鼎的 Docker 容器、還有 B 站都是拿 Go 語言寫的。
再加上國內 Go 語言的生態也越來越好,類庫和輪子多了、最佳實踐也多了,使得開發成本大大降低。同等時間開發個性能更高的應用,它不香么?
像字節跳動和騰訊等互聯網大公司早就擁抱了 Go 語言,可以想象未來兩三年, Go 的未來將是一片光明。
SQL
SQL 是數據庫查詢語言,可以從數據庫中查詢數據、操作數據。想從事后台開發、數據庫管理相關工作的同學必須把它學好。
除了程序員,現在很多產品經理都要學 SQL 了,別看程序員卷,那產品經理更是神仙打架。
此外,還有一些程序員常用的語言。像 Linux Shell 腳本編程語言,和 Python 類似,當成工具學就好了。還有 Kotlin、Scala、Rust 等較新的編程語言,都有自己的應用場景,大家可以自行了解、按需學習。
總結
綜上,目的、時間、前景、學習成本都是我們選擇編程語言的重要因素。
如果想快速就業,可以直接學前端或后端。更傾向於所寫即所得、盡快看到效果,就選前端;更想鍛煉思維邏輯能力,就首選后端 Java 或 Go 語言。
還在學校,時間充足,想打好基礎,就老老實實從 C 語言開始學起。
如果對編程只是出於興趣,或者想做些小工具,就學 Python 或者前端吧~
最后,希望大家記住,第一門編程語言並不等於你找工作的語言。時間允許就大膽嘗試,想學就學,先培養興趣,等到后面再深入學習一門語言,學會一門再學其他的也會很輕松了。
也根本不存在什么最好的編程語言,沒有銀彈可以通殺,不同的個體、項目、團隊都應該有自己的選擇,解決問題、應用落地才真正提現了編程語言的價值,適合自己的才是最好的。
我是魚皮,最后再送大家一些 幫助我拿到大廠 offer 的學習資料:
歡迎閱讀 我從 0 自學進入騰訊的編程學習、實習、求職、考證、寫書經歷,少走彎路不迷茫!
以上就是本期分享,有幫助的話點個贊吧 ❤️