GridDBを用いたプログラミング言語の盛衰の分析

時代とともに多くのプログラミング言語が生まれ、あるものは人気を博し、あるものは技術の進歩とともに時代遅れになっていきました。しかし、このようなプログラミング言語の人気の盛衰をどのように理解したらよいのでしょうか。どの言語が現代で最も使われているのかを知ることで、どれが時間を費やすに値するかを判断することができるのでしょうか。

Stack Exchange Data Explorerを使うと、Stack Overflowのデータベースからデータを取得し、データセットとして保存することができます。このデータセットは、こちらから簡単に入手することができます。各質問には、そのトピックやプログラミング言語を説明するタグが含まれています。例えば、「Java」「C」「python」などの言語や、「ggplot」「matplotlib」「pandas」などのライブラリのタグが存在します。各技術に関連するタグの数を利用することで、その技術の人気度を知ることができます。それでは、このデータをもとに、プログラミング言語の盛衰を探ってみましょう。

GridDBを用いたデータセットのエクスポートとインポート

IoTやビッグデータに最適化された拡張性の高いインメモリ型NoSQL時系列データベースを提供しているGridDBを使用してデータセットを保存します。インメモリデータアーキテクチャと並列処理により、より高いパフォーマンスと効率性を実現します。異なるOSでのGridDBをダウンロードするためのガイドは、公式ウェブサイトから見つけることができます。

GridDB-Pythonクライアントは、データセットに接続し、リアルタイムでデータをインポートまたはエクスポートすることができます。GridDBにデータを挿入する前に、いくつかのPythonライブラリを使用して前処理を行い、効率的に動作するようにします。

前処理

まず、pandasライブラリのコマンドを使用して、データセットを読み込みます。Pandasは、特にデータセットや解析を行う際に多く利用されているPythonライブラリです。

alt text

データセットがデータフレームの形で変数 “language_tag_unprocessed “に保存されるようになりました。

現在、データフレームには4つのカラムがあります。

1.year – このタグが使用された年

2.tag – 問題で使用されたタグの名前

3.number – そのタグがその年に使用された回数

4.year_total – その年におけるタグの総数

データセットを深く掘り下げると、「tag」カラムにNULL値があり、分析の邪魔になることがあります。これを処理するために、NULL値を「No tag」という文字列に置き換えます。

alt text

また、各行を個別に追跡するのに役立つ主キー・カラムを導入する必要があります。

alt text

これで前処理が完了したので、データフレームをcsvで保存し、GridDBにエクスポートすることにします。 alt text

データセットをGridDBにエクスポートする。

再びpandasを使ってcsvを読み込み、dataframeに保存することになります。

alt text

ここで、行情報を挿入する前にデータベースのデザインを生成できるように、GridDBにカラム情報を渡すためのコンテナを作成します。

alt text

これでデータベースの設計ができたので、GridDBにデータを簡単に挿入することができます。 alt text

GridDBからデータセットをインポートする。

GridDBからデータセットをインポートするのは、他のデータベースからインポートするのと同じように簡単です。TQLを使って、SQLコマンドと同じようにGridDBからデータを問い合わせることができます。データを取得する前に、データの行を抽出するコンテナを作成し、データフレームに保存することになります。

alt text

次のステップは、列情報の順に行を抽出し、分析に使用するためのデータフレームに変換することです。 alt text

これでデータはpandasのdataframe “by_tag_year” に保存され、引き続きデータ分析や可視化に利用することができるようになりました。

データ解析と可視化

これは、ある年の特定のタグの数をその年の総タグ数で割ったもので、その年の「タグ」の人気を比較することができます。

まず、現在最も多くの人に使われている言語であるPythonから始めて、時間の経過とともにどのように認知度が高まっていったかを比較してみましょう。タグが「python」である行を抽出し、「fraction」に対して2008年~2018年の期間でプロットしてみます。

alt text

alt text

図1: 10年間の「python」タグの推移

上記のグラフを見ると、2012年以降、pythonは大きな人気を獲得していると結論付けることができます。次に、現在コンピュータサイエンティストによって主に使用されている重要なpythonライブラリを分析し、10年間の期間で互いに比較します。

alt text

alt text

図2:10年間のPythonライブラリの推移

2012年以降のPythonの普及に伴い、Pythonのライブラリも一定の人気を得ており、特にpandasが人気となっています。Pandasは、データサイエンティスト、統計学者、研究者、応用科学者が収集したデータの分析に広く利用されています。

最後に、10年間の上位6つのタグと、それらが時間とともにどのように進化してきたかを探ります。上位のタグを抽出するためには、いくつかの計算を行い、タグを降順に並べ替える必要があります。

alt text

alt text

図3 上位6つのタグの経時変化

最後に思うこと

このブログでは、プログラミング言語の盛衰に関するいくつかの傾向を探りました。また、2008年から2018年までの間に使用された最も人気のある言語や技術のいくつかを発見しました。私たちは、GridDBを使用してシームレスな統合とデータインポートを行うことができ、非常に効率的かつ柔軟な方法で大量のデータを保存することができました。

PS. チュートリアルのすべての関連ファイルは、次の場所で入手できます。 https://raw.githubusercontent.com/ismailvohra/riseFallProgrammingLanguageGridDb

ブログの内容について疑問や質問がある場合は Q&A サイトである Stack Overflow に質問を投稿しましょう。 GridDB 開発者やエンジニアから速やかな回答が得られるようにするためにも "griddb" タグをつけることをお忘れなく。 https://stackoverflow.com/questions/ask?tags=griddb

Leave a Reply

Your email address will not be published. Required fields are marked *