Python
C++
Django
AWS
ポエム

2018年Qiita流行語大賞

はじめに

こんにちは。
前回作成したQiita記事データセットを用いて、2018年Qiitaで最も流行ったものは何かを調べてみました。

Qiitaの投稿記事からデータセット作った - Qiita

やったこと

  • 記事のタイトルを抽出し、mecab(neologd)を利用して分解
  • 投稿年ごとに出現頻度、前年度比増加率が高い固有名詞をランキング
  • ベスト3を流行語として勝手に選出

選定方法・ルール

  • ”流行語” = 前年からの出現頻度の増加率が最も高い単語
  • 固有名詞であること
    • ◯ Python、Vue.js...
    • × ファイル、インストール...
  • 過去に大賞🥇に選出されたものは殿堂入りとして除外
  • 大文字、小文字の表記ブレは同一とみなす、それ以外(スペルミス、辞書にないもの)は無視
    • ”windows”と”Windows”は一緒
    • "windows10"と"Win10"は別もの

2018年Qiita流行語大賞

早速ですが結果発表です👏


第3位🥉 「Django」

第3位はDjangoでした。ここ二、三年は機械学習関連でPythonユーザが増加していますが、その影響がWebフレームワークの世界にも出ているようです。

Stack Overflow Trendsで主要なWebフレームワークを適当に調べてみました。フロントエンドはAngular、Reactが多く、バックエンドはDjango、Laravelが多いようです。

web-dev-trend.png

QiitaでDjangoが急伸してきたのは確かですが、絶対数で言えば依然としてRailsが最大勢力です。やはり日本語のドキュメントが充実していると強いようですね。1

どれ使うべき?3大WebフレームワークRails・Django・Laravelを徹底比較してみた - paiza開発日誌


第2位🥈 「AWS」

第2位はAWS。個人的にはAWSはブッチギリで多いというか、過去に大賞獲ってるだろ…と思っていましたが、実際にはそこそこでした。

ただし、タイトルには出ていませんが、

「DyanmoDBを使って〇〇する」
「サーバレスで△△するベストプラクティス」
「CloudfrontとS3で××してみた」

のようなAWS関連の記事は大量にあります。「S3」や「EC2」などわざわざAWSを付けなくても十分通じるからね…
AWSはサービスが多様化が進んでいるのが裏目に出て「AWS」という単語そのものは使われなくなってしまったようです。

ついでに「AWS」と抱き合わせでよく使われる単語の出現回数も調べてみました。

aws-2nd.png

確かにAWS CLIはAWSを取っちゃうとダメですね。


第1位🥇 「C++」

年間大賞は C++ でした2!わーわー🎉🎉🎉

え… C++!!!????

cpp3.png

「JavaScriptとPythonのユーザが多いこのQiitaでC++!?」と思ったあなた…わかります。

「C++?みんなガチ過ぎてコワい」

「今どきRustでしょ」

「C++こそ至高」

「今さらC++って…なんかもう流行語って感じしないんだけど。」

いろんな意見があると思います。とは言え、流行ったかどうかは別にして、2018年タイトルに「C++」を含む投稿が増加しているのは紛れも無い事実です。

何となく直感ベースですが、

  • C++17の登場
  • IoT
  • 画像認識(YOLO/OpenCV)

などなど、それなりに増加する要因はありそうです。2018はC++リバイバルの年だったと言ってもいいでしょう。

というわけで、「Qiitaの記事タイトルで今年一番流行った単語」はC++でした。


本家の流行語大賞っぽく受賞者も勝手に選んでみました。

順位 受賞語 前年度比増加数 総いいね数 TOP記事 TOP記事いいね数 受賞者
🥇 C++ + 783件 2,659 C++完全理解ガイド Rev1.4.00 - Qiita 597 @_EnumHack
🥈 AWS + 356件 13,962 GitHub に AWS キーペアを上げると抜かれるってほんと???試してみよー! - Qiita 1872 @saitotak
🥉 Django + 244件 3,564 [Python] Djangoチュートリアル - 汎用業務Webアプリを最速で作る - Qiita 370 @okoppe8

※ 総いいね数:流行語が含まれる記事一つ一つのいいね数の合計値

参考データ

出現頻度ランキング

2018 2017 2016 2015 2014 2013 2012 2011
1 Python Python Python Rails Ruby Ruby Ruby Backbone
2 js Rails API Ruby Swift PHP Rails Ruby
3 Docker Docker Docker Swift Rails Git Git Rails
4 Rails API PHP PHP Mac Rails PHP Qiita
5 AWS Mac Rails Mac PHP Mac Mac Git
6 PHP js Mac js Android Android JavaScript JavaScript
7 API PHP Ruby Docker js JavaScript js http://
8 Mac AWS Swift Android git CentOS Vim PHP
9 C++ Windows AWS Python CentOS MySQL Emacs Python
10 Ruby Android Windows Unity iOS Python API js

「文字列」や「アプリ」などもランクインしていましたが、固有名詞と言い難いため除外しています。

前年比投稿増加数ランキング

2018 2017 2016 2015 2014 2013 2012 2011
1 Python Python Python Unity Swift Ruby Ruby -
2 C++ Vue API Docker Ruby PHP Rails -
3 Vue Visual Studio Docker Python Mac Git Git -
4 js js AWS C++ Rails Mac PHP -
5 AWS WPF TensorFlow AWS js CentOS Mac -
6 Django Kotlin Ubuntu API Android Android Vim -
7 Flutter Go Windows PHP Docker Rails JavaScript -
8 WEB Laravel CSS js CentOS Python Emacs -
9 Kubernetes Azure Bot Linux API MySQL js -
10 Google Mastodon Mac Rails iOS JavaScript MySQL -

再選なしでその年最も投稿数が増えたものを太字にしています。また、本来なら2018の第2位は 「js」ですが、「Vue.js」とセットで使われることが多いため除外しました。

Unity(2015)とかSwift(2014)とかそれなりに流行語っぽいものが選ばれていますね。

メモ

Qiitaの夜明け

2011年の一位はBackbone.jsでした。そもそもの記事数が少ないので何とも言えませんが…。

ちなみにQiitaの最古の記事はRubyでFizzBuzz - Qiitaでした。
Increments株式会社の創業者の海野さん(@yaotti)の記事ですね。

Pythonの躍進

2012年-2013年がディープラーニングのブレイクスルーと言われていますが、QiitaでPythonが覇権を握るのは2016年になってからでした。TensorFlowも増加率では5位にランクインしています。
2013年-2015年のQiitaではSwiftやAndroidなどが上位に来ており、スマホのアプリ開発が盛んだったようです。

主要なキーワードの出現頻度をグラフにしてみます。

trend_white.png

ここ二、三年のPythonの上がり方が尋常じゃないですね…ぶっちぎり

つまづいたポイント

  • タイトルに含まれる空白文字への対応
    • Qiitaのタイトルには\t\rが含まれています。s = ''.join(s.split())によって解決。3
  • 表記ブレ(Railsとrailsなど)の対応
    • 基本的に全てstr.lower()で小文字にして集計することで解決。GoogleとGCEなど略語にされる場合はどうしようもないので、特に対応しませんでした。

おわりに

今回の選出方法では「多くの人に使われた」という評価が出来ていないような気がします。
いいね数やコメント数で重み付けをしてもよかったかなぁ…と思いますがそれはまた来年。


  1. Qiitaで人気のVue.jsも日本語のドキュメントが充実している 

  2. 単純な数だけみるとPythonが一位ですが、再選になってしまうため除外しています。 

  3. 文字列メソッドのstrip()では両端の空白文字しか除去してくれません。