開發者最討厭的程式語言:Perl 名列第一,PHP、Objective-C 和 R

IT老王部落格發表於2017-11-06
說好的 PHP 是世界上最好的語言的呢?

瞭解當下最流行的程式語言,那你知曉開發者中最不受歡迎的程式語言嗎?是因為與時俱進的淘汰,還是“人紅是非多”的不喜歡? 

近日,全球著名的 IT 網站 Stack Overflow 根據數百萬開發者專案標籤的使用頻率,釋出了一份程式語言的調查報告,試圖找出最不受歡迎的程式語言。沒想到開發者最想規避的程式語言中,PHP、Objective-C 和 Ruby 等語言紛紛上榜。 

最不受歡迎的程式語言 

在 Stack Overflow 上,開發者可以建立屬於自己的“Developer Story”,用來記錄專案開發、獲得的成就等個人開發經驗,相當於簡歷,待發布之後也可以提升職場機遇。在建立“Developer Story”時,可以新增喜歡或者不喜歡的語言標籤,而本調查報告的資料來源正是基於此。 

將該資料作為衡量標準,並以特定的程式語言列表(並非是像 Android 這樣的平臺或是 JQuery 這樣的庫)進行篩選, Stack Overflow 使用 Bayes 方法來預估這些平均值,最終發現開發者中最不受歡迎的語言前三名分別為 Perl、Delphi 和 VBA,緊隨其後的是 PHP、Objective-C、Coffeescript 和 Ruby。 

如果此前看過有關 Stack Overflow 的程式語言報告,就會發現,那些很少被標記為不受歡迎的程式語言往往就是使用率快速增長的語言。比如 R、Python、Typescript、Go 和 Rust 等語言增長率都比較高。 

下面我們可以通過比較每種語言的增長與標記“dislike”的百分比進行驗證,橙色點表示最不受歡迎的語言。以下我們將統計資料限制在已開發國家(如美國、英國、德國和加拿大)。 

總體而言,語言的增長率與開發者“dislike”的頻率之間有一種關係。被標記為“dislike”標籤的程式語言佔比在 3% 以上的,使用率越來越少,而最少被標記為“dislike”的 R、Rust、Typescript 和 Kotlin 語言使用率都在快速上升。 

那些開發者喜歡及不待見的技術 

上述分析僅考慮程式語言,而不是作業系統、平臺或庫。那麼什麼是開發者最不喜歡的技術?據調查報告顯示,開發者最不喜歡的技術包括 Internet Explorer、Visual Basic、Flash、COBOL、Fortran 和 Pascal 。 

普遍喜歡的技術則包括:機器學習、Git、Python 3.x、HTML5 和 CSS3 。 

值得強調的是,以上並非是對某一語言的歧視,而僅僅是衡量哪些技術在至少一部分開發人員的使用過程中,是讓他們感覺到舒服還是負面的。 

獨立的標籤網路 

我們可以將所有這些標籤組合成一個故事,將其組織成一個網路。在最近的一篇文章中,Julia Silge 展示瞭如何構建一個技術網路來代表整個軟體生態系統。如果我們根據每個“dislike”標籤的對節點進行著色,我們可以瞭解生態系統的哪些部分比其他標籤更具爭議性。 

通過將“Developer Story”標籤放在子生態系統中,我們發現有獨立的子系統的叢集:微軟(以C # 和 .Net 為中心)、PHP(WordPress 和 Drupal 環繞),和移動開發(特別是 Objective-C)。作業系統的叢集內(右下),我們可以看到,系統如 OSX 和 Windows 被標記為“dislike”,但標籤如 Linux、Ubuntu 和 Unix 卻並非如此。 

技術型的競爭之路 

有意思的是,資料還體現了行業中存在的技術型競爭關係,像是 Linux 、OSX vs Windows,Git vs SVN,vim vs emacs ,React vs Angular 等。開發人員通常不願意使用他們認為過時的東西,建議用更現代的技術來取代。 

總結 

以上並不表示直接的因果關係,標籤不被程式設計師使用,導致它們被放棄。一種可能性是,如果人們感覺到語言已經越來越受歡迎,就會很樂意公開表達自己的喜歡與不喜歡;另一種原因就是與時俱進,以新的更新替換舊而複雜的程式語言。 

對此,在 Hacker News 上網友也發表了自己的看法: 
@chrisaycock: 
文章定義了開發者在日常工作中程式語言的“喜歡”vs“不喜歡”偏好。例如,Perl 是最不受歡迎的語言,然其真正意義是,開發者將其歸入不想要此類開發工作。 

分析表明,語言的“喜歡”與其在 Stack Overflow 上的增長之間存在著相關性。 相關性並不是因果關係,這隻能意味著開發者所從事的工作會使用較多的熱門的語言。 

@throwaway2016a: 
Python 持續地受歡迎令我驚奇。雖然我喜歡 Python,它也適用於資料科學,但我不明白為什麼人們將其用於網站。如果考慮到易用性,並且如果要執行效能,PHP 和 Ruby 生態系統將會更加成熟,Go 和 Java 框架也更好。即使在資料科學世界中,個人也喜歡 R 超過 Python。 

@lmm: 
Python 和 Ruby 在很多方面較為相似,它們具有相似可用性的簡單 Web 框架。個人使用 Python 已經有一段時間了,如果純粹的作為 Web 開發者選擇,那麼 Ruby 可能會有一些輕微的優勢,但是如果公司中的某個人已經使用 Python 作為系統管理指令碼或資料科學專案,那麼這足以提升規模。 

不知對此,你是否有不一樣的看法?
微信關注

相關文章