日前,被譽為編程語言界 " 江湖百曉生 " 的 TIOBE 發布了 2022 年 12 月的編程語言排行榜,Python、C 語言與 C++ 位列榜單前三,而 Java 僅排名第四。
這是 2001 年 TIOBE 出道以來,Java 首次與前三無緣。
畢竟,那些年 Java 雙手插兜,不知什麼是對手。
一時間,編程語言優劣之争再起。
那麼,昔日常年霸榜的 Java,為何走上了下坡路?英雄遲暮的 Java,如今尚能飯否?Java 的基本盤依然龐大,仍有重返巅峰的資本?
趕上好時代,也成為時代的 " 眼淚 "
人多了就有江湖,有江湖的地方就有紛争。
據公開信息顯示,編程語言的數量繁多,僅 GitHub 上托管的就超過 300 種,但主流也就幾十來種。
這其中,Java 被譽為 " 常青樹 ",曆經風雨而不倒。
想當年,C 語言以及其一脈相承的 C++,成為桌面時代的技術底座,無論操作系統,或是遊戲引擎,還是桌面應用,背後都有它們的身影。
用一統江湖來形容,也不為過。
然而,江湖人才輩出,不服 " 武林盟主 " 的大有人在,Java 就是其中一個。
1995 年,初出茅廬的 Java 抓住網頁粗糙的痛點,從而一鳴驚人,成為江湖上冉冉升起的新星,甚至進入了微軟的視線。
彼時,比爾蓋茨曾感歎:"Java 是迄今為止設計的最好得語言。"
然而好景不長,适合 Web 的編程語言不斷冒出,Java 并非唯一選擇。
好在,Java 沒有氣餒,在服務器端上找到了生存的土壤,成為網站後台處理數據的好幫手,這之後不斷攻城略地,成為江湖上一支不可忽視的重要勢力。
一名業内人士告訴鋅刻度:" 服務器端原本是 C/C++ 的地盤,風刮不進雨水透不過,但當網頁從靜态走向動态之後,就應付不過來了,而 Java 在後台響應複雜的網站表現得更好。"
一言以蔽之,Java 趕上了好時代。
如若不是 Web 大潮到來,網站如雨後春筍般冒出,Java 就沒有那麼大的用武之地,也談不上後來與 C/C++ 分庭抗禮。
盡管如此,Java 登上神壇還要等到移動時代。
随着智能手機的普及,移動互聯網起勢,逐漸成為人們的 " 剛需 ",Java 也跟着扶搖直上九萬裡,借助 Android 打開了一個新世界的 " 大門 "。
關于此,TIOBE 的排名可為佐證。
TIOBE 排行榜反映的是某個編程語言的熱門程度,2001 年至 2019 年,Java 一直是 TOP 1 的常客,中間偶有失落,但很快就回歸 " 王座 "。
這之後,Java 的統治力大不如前,各路勢力躍躍欲試。
事實上,Java 多年以來不乏挑戰者,C/C++ 一直虎視眈眈,Python、JavaScript、PHP 等老牌玩家針鋒相對,Go、Ruby 等新銳力量 " 野心勃勃 "。
萬萬沒想到,最後的 " 新王 " 竟然是 Python。
Python 誕生于 1990 年,是一款比 Java 還老的編程語言,不經意間從一棵小樹苗默默長成為參天大樹。
正應了那句老話,老骥伏枥志在千裡。
AI 起勢," 新王 " 上位
對于 Java 的 " 衰敗 ",張文策深有體會。
畢業于 2008 年的張文策,并非計算機專業出身,而是與幾個要好的同學一道參加了 Java 培訓班,才半途入行。
" 學這個,就圖可以多賺錢,沒别的意思。" 張文策告訴鋅刻度迄今對培訓班仍有成見," 千萬不要信老師說的包就業,純粹是一個文字遊戲,包就業 = 包推薦就業,這中間的差别大了去了,嘿嘿!"
張文策的 Java 之旅并不順利,多數公司壓根沒考慮這種速成品,所幸彼時需求旺盛,最終在一家工作室找到了容身之地。
盡管如此,張文策并未氣餒。
在工作室積攢了一年多經驗之後,張文策開啟了跳槽模式,輾轉多家公司,在 Java 上也有了一定的造詣之後,也有了一個體面的 offer。
然而,張文策更憂慮了。
想再進一步,就勢必進階為高級 Java 工程師,但這個進階頗為不易,除非是真的熱愛代碼,否則僅沖着工資去,難上加難。
對此,張文策也心知肚明:"Java 都卷成麻花了,大多幹的都不是 Rocket Science,頂多算合格的螺絲釘。"
更為糟糕的是,甲骨文 " 作死 "。
2009 年,甲骨文收購 Sun,擁有了 Java 版權,次年與谷歌開啟了曠日持久的訴訟,直到 2021 年才塵埃落定。
甲骨文法務總管 Dorian Daley 曾聲明:" 谷歌偷走了 Java 技術,并且在長達十年的時間裡以一個壟斷者的姿态訴諸法律。"
張文策沒有等待甲骨文敗訴,心中就有了一個判斷:" 誰敢用 Java,誰就可能招惹甲骨文,那可是出了名的專利流氓,逮誰咬誰,去 Java 化是大勢所趨。"
因而,2018 年之後,張文策選擇擁抱 Python,投身炙手可熱的 AI 賽道。
Forrester 副總裁兼首席分析師 Jeff Hammond 曾表示:"Python 已被證明對從事人工智能或機器學習類型的人非常非常有用!"
眼下,AI 逐步起勢,從夢想照進現實,賦能千行百業成為萬物互聯時代的基石。
譬如,當下紅得發紫的 AI 繪畫,從塗鴉走向了藝術創作,上演了一出 AI 與人類同台競技的好戲,令相關從業者倍感憂慮。
此背景下,Python 超越 Java,也是順理成章的事情。
"Java 是被互聯網炒起來的,Python 是被 AI 炒起來的,要永遠站到勝利者這一邊。" 張文策稱。
Java 是老了,又不是不能打了?
與張文策不同,魏世傑對 Java 仍有信心。
作為大齡一線 coder,魏世傑對唱衰 Java 之聲已感到疲憊:每隔一段時間,都有人冒出來質疑 Java,是不是不行了?真的要涼了?到底啥時候死?已經過時了嗎?是否真的即将被取代?
" 說真的,有沒有點新詞,翻來覆去還是那一套,早就聽膩了。" 魏世傑如是說。
魏世傑告訴鋅刻度,TIOBE 排名指的是熱度而非市場份額,Java 的基本盤依然很紮實,擁趸者依然很壯觀。
據 Jetbrains 的數據顯示,2020 年全球專業 Java 程序員約為 520 萬人,算上主要使用其他語言但也使用 Java 的程序員約為 680 萬人,其中 51% 在中國。
而據 GitHub 發布的《Octoverse 2021 年度報告》顯示,2020 年全球程序員為 5600 萬,其中中國共有程序員 652 萬。
以此推算,近半數的中國程序員與 Java 有不解之緣。
"Java 是老了,又不是不能打了,現在都更新到 jdk18 了。" 魏世傑認為老語言 Java 版本不斷更新、體驗也在不斷改善,與 Python 一樣有生命力," 不要聽外行胡說八道,看看招聘就知道了,市場不會騙人的。"
據職友集的數據顯示,2022 年全國 Java 程序員的月平均工資是 19.8K,較 2021 年下降了 3%;其中,拿 20K~30K 工資的占比最多,達 27.7%。
以上可見,Java 程序員的日子雖有所下滑,但整體還過得去。
魏世傑進一步表示:" 編程語言說白了就是一個生産工具,隻有效率之分、場景之分,沒有高下之分,這就好比外賣不會關心騎哪個牌子的車,隻關心一天到手賺多少。"
總而言之,桌面時代成就了 C/C++,移動時代成就了 Java,AI 時代成就了 Python,一個時代有一個時代的主題。
唯一不變的是,程序員永遠不過時。
(應受訪者要求,文中張文策、魏世傑皆為化名)