BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース 開発者調査を調査する - Javaに関する結果を中心に

開発者調査を調査する - Javaに関する結果を中心に

原文(投稿日:2020/02/17)へのリンク

開発者調査はコミュニティの鼓動を伝えてくれる。また、新たな年の始まりは、過去数年間に使用されてきたものを再評価し、これから何をするのかを見定めるのにはよい機会だ。そのようなことから、いくつかの企業が最近、開発者調査の結果を公開した。

開発者調査は企業が自社(および競合他社)製品に対する関心度を測る手段であると同時に、自社の関わる分野における開発者の状況についての概観も提供してくれる。その一方で、開発者調査の欠点のひとつは、TwitterフォロワやIDEフォーラムのように、特定のサブグループを中心として自己選択的に集まった人々が対象となる傾向があることだ。例えば、RebeLabsやSyncのレポートではJavaが中心であるのに対して、Tiobe indexのチャートではJavaは2番目の位置にあり、C言語よりも下位になっている。

また、調査では、一貫性のない結果が発生することもある。例としてCodingame surveyでは、最も好まれる言語がPython、JavaScript、Javaの3つであるのに対して、最も嫌いな言語がPHP、Java、JavaScriptとなっている。

Tiobe indexとRedMonkのレポートは自己報告の結果から生成されたものではなく、プロキシによるWeb検索を使用し、人気度としてGitHubとStackOverflowの調査を組み合わせたものであるため、結果的に開発者が使いたいと思うものではなく、実際に使用しているものが反映される傾向がある。Objective-CはSwiftに追い越されただけでなく、Appleの新言語に採用が移行したことで衰退傾向にある。その他の環境としてはRustが上昇傾向にあるが、トップ20に割り込むには至っていない。

Java/JVM technologyの報告によると、不適切であるという警告にも関わらず、Java 8が運用環境で最も多く使用されているバージョンとなっている。Java 11を使用しているのは約4分の1で、非LTSリリースは少数である。Javaが引き続きJVM上で使用される主要言語である一方で、数パーセントがKotlinを使用し、Scalaは減少している。AndroidエコシステムがKotlinを採用したことで、この傾向は今後も続くものと思われる。

最も一般的なフレームワークは変わらずSpringで、開発者の60~80パーセントが開発に使用していると答えている。Springは先頃、新たなWebサイトデザインをローンチした。開発者の大部分が調査実施時点でリリースされている最新バージョンのSpring上で開発を行っている他、大半がSpring Initializer Webサイトがデフォルトで提供するSpringBootを使用しているものと思われる。

これらの調査では、IntelliJ IDEが変わらず最も好まれるIDEとなっており、60~80パーセントの開発者ベースを保持している、次に多いIDEはEclipseで、25~50パーセントが使用している。続いてJavaで多く使用されているIDEはApache NetBeansとVS Codeで、調査回答からは、WebベースのIDEを使用したいと考える開発者は少数派のようである。VS CodeなどのWebベースの軽量IDEは、軽量(light-weight)言語での採用が増加傾向にある。また、Language Server Protocol(LSP)をサポートする言語が増えているため、将来的には新たな言語(Rustなど)がLSPをサポートするIDEで使用されるようになる可能性がある。

ビルドツールに関しては、それぞれのJava調査が異なるストーリを見せている。JavaエコシステムではMavenがナンバーワンのビルドツールであり続けているが、ナンバー2のビルドシステムであるGradleは、報告書によってMavenに肉薄していたり、3分の1であったり、とばらつきがある。Antなど他のビルドツールはフェーズアウト段階にあるようで、SBTなど言語固有のビルドシステムが使用されるケースも極めて限定的である — SBTの場合、おもな用途がScalaアプリケーションであるため、Scalaの採用数が反映されている。

JRebelの調査にはホスティングソリューションが含まれていないが、Syncのレポートによると、GitLabがGitHubを僅差で上回っており、3位がBitBucketである。BitBucketは2019年8月、当初からのMercurial(hg)サポートを終了する予定であると発表した。2011年からGitをサポートしている点を合わせると、Marcurialユーザが他へ移行していることの反映とも受け取れる。 

Syncの調査では仮想化の使用について質問していないが、JRebelの報告では、仮想化のニーズに対してDockerを使用しているユーザが4分の3を占めており、その半数がDockerプロセスの実行にKubernetesを導入している。その詳細な内容からは、仮想化導入の原動力としてのマイクロサービスの興隆が見て取れる。

最後に、開発者の3分の1から半数がメインの環境としてOracleJDKを選択しており、半数以上がAdoptOpenJDKやOracle、AmazonなどのソースからOpenJDKを使用している。OracleJDKを使用する理由の背景のひとつとして、約10パーセントの開発者が有償サポートを使用していることがある。半数はOracleと契約しており、残りはIBM、RedHat、Azulが均等に分け合っている。

この記事に星をつける

おすすめ度
スタイル

BT