112
Help us understand the problem. What are the problem?

More than 3 years have passed since last update.

posted at

updated at

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()では両端の空白文字しか除去してくれません。 

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Sign upLogin
112
Help us understand the problem. What are the problem?