2017年のPHPについて数値をまとめてみました

この記事はPHP Advent Calendar 2017 14日目の記事です。

こんにちは、SHOYANです。2017年ももうすぐ終わりということで、2017年のPHPをふりかえってみるのはいかがでしょうか。この記事ではPHPに関係する情報を集め、数値としてまとめました。

2017年にPHPについて書かれた記事ってどれくらい?

まずは、PHPについて書かれた記事からいってみましょう。
インターネット上の全ての記事を探してくるのは膨大な時間がかかるので、Qiitaで書かれた記事を対象としました。

2017年は2,528件の記事が書かれました。

最もいいねのついた記事は@higtyさんの書いた世界で通用するエンジニアになるための高度な技術記事(英語)でした。PHPのタグがついていますが、この記事はあまりPHPっぽくないですね?ストックの多い記事でピュアなPHPの記事は少ないという印象でした。

2017年にPHPで書かれたコードってどれくらい?

2017年に世界でどれくらいの量のPHPのコードが書かれたか興味がありませんか?
コードの量というのを定量的に表すのは難しいので、ここではGitHubで2017年に作成されたリポジトリの数を紹介します。

2017年にGitHub作成されたリポジトリの数は458,187でした。さすが、ユーザーの多いPHPといった数字です。

その中で最もスターを集めたのはjupeter/clean-code-php でした。

PHPerって世界に何人くらいいるの?

世界中にどれくらいのPHPerがいるでしょうか?
GitHubからPHPerの数を調べてみました。

GitHubのPHPerの数は569,735人です。

PHPのアップデートってどれくらい行われた?

PHPの公式サイトのリリース情報によると、2017年に合計で39回のアップデートが行われています。活発に開発が行われていることが伺えますね。

PHPの求人の数ってどれくらいあるの?

PHPの求人の数ってどれくらいあるのでしょうか?
マイナビ転職によると求職数は1,155件でした。

2017年に出版されたPHPの書籍は何冊?

2017年に日本で発売されたPHPの書籍は何冊か知っていますか?
14冊の書籍が発売されています。

PHPってそんなにひどい言語ではないと思う理由

ここまで読んでくださってありがとうございます。最後は私のPHPに対するポエムです。

実は最近はあまりPHPを書く機会がありません。それでも、PHPに対する思い入れは他の言語と比べても強いと思います。それは、私のエンジニア歴の中でPHPとの付き合いが1番長いからです。私がはじめて習得した言語はPHPです。

初めてプログラミングに触れる人にとってPHPはとっつきやすい言語だと思います。なぜなら、PHPは多くの人が使っているため、情報がたくさんあるからです。そのため、情報が調べやすく習得の敷居が低いのです。

環境構築のコストが低いのもメリットです。ほとんどのホスティングサービスがPHPに対応しているため、自分が作ったサイトをインターネットに公開するのも容易です。

色々ディスられることも多いPHPですが、初心者に親しみやすい言語という点に関しては他の言語より優れているのではと思います。多くの人にプログラミングを広めた功績は誰も否定できないでしょう。そんなPHPを私はこれからも応援していきたいと思います。

補足
数値は2017年12月13日のものです。

2017年のRubyについて数値をまとめてみました

この記事はRuby Advent Calendar 2017 10日目の記事です。

こんにちは、SHOYANです。2017年ももうすぐ終わりますね。みなさんにとって2017年はどのような年だったでしょうか。
おそらくこの記事を読んでいるほとんどの方がRubyを好きなのだと思います。であれば、2017年にRubyでどのようなことが起こったのか気になりませんか?そんなRubyが大好きなあなたに向けて、本記事では2017年のRubyについてまとめました。

2017年にRubyについて書かれた記事ってどれくらい?

まずは、Rubyについて書かれた記事からいってみましょう。
インターネット上の全ての記事を探してくるのは膨大な時間がかかるので、ここでの対象はQiitaで書かれた記事とします。

2017年は2,969件の記事が書かれました。

最もいいねのついた記事は@gazayasさんの書いた外国人が語る:英語でクラスやメソッド等の名付け方でした。

2017年にRubyで書かれたコードってどれくらい?

2017年に世界でどれくらいの量のRubyのコードが書かれたか興味がありませんか?
コードの量というのを定量的に表すのは難しいので、ここではGitHubで2017年に作成されたリポジトリの数を紹介します。

2017年にGitHub作成されたリポジトリの数は277,359でした。

その中で最もスターを集めたのはatech/postal でした。

Rubyistって世界に何人くらいいるの?

世界中にどれくらいのRubyistがいるでしょうか?
GitHubからRubyistの数を調べてみました。

GitHubのRubyistの数は368,282人です。

Rubyのアップデートってどれくらい行われた?

2017年はRuby2.4がリリースされました。Rubyの公式サイトのリリース情報によると、2017年に合計で6回のアップデートが行われています。

Rubyistの求人の数ってどれくらいあるの?

Rubyistの求人の数ってどれくらいあるのでしょうか?
マイナビ転職によると求職数は598件でした。

2017年に出版されたRubyの書籍は何冊?

2017年に日本で発売されたRubyの書籍は何冊か知っていますか?
14冊の書籍が発売されています。

最後に

Rubyに関する様々な指標をまとめてみましたが、いかがでしたでしょうか。どのような指標が面白かったでしょうか?感想をフィードバックしていただけると嬉しいです。2018年もたくさんのRubyのコードや記事が書かれ、たくさんの素晴らしいプロダクトが誕生することでしょう。最後まで記事を読んでくださってどうもありがとうございました。

これから機械学習の理論を学ぶ人に最適な入門書とは?

こんにちは、SHOYANです。

様々なところで使われるようになってきている機械学習ですが、その仕組みを理解するには数学の知識が必要なため、そこが壁になっている人も多いことかと思います。という私もその1人です。今回、そのような初学者向けに良い入門本が出版されたので紹介します。

やさしく学ぶ 機械学習を理解するための数学の基本

やさしく学ぶ 機械学習を理解するための数学の基本

2017年9月にマイナビ出版より発売されています。物語を読むような感覚で機械学習の理論と数学を学べるようになっており、これから機械学習の理論を学んでいく初学者に最適な1冊です。機械学習に使われる理論と数式について、アヤノ、ミオの2人の登場人物が会話形式で学んでいきます。

著者の紹介

著者の立石賢吾さんはLINE Fukuoka株式会社でデータ分析や機械学習を使った業務を行っているエンジニアです。プログラマのための数学勉強会@福岡も主催しています。

この一冊で機械学習の理論と数学、実装まで

機械学習でよく使われる、回帰、分類、クラスタリングとその理論についての説明が主な内容となっています。アヤノ、ミオの2人によって会話形式で話が展開されていくため、物語を読んでいく感覚で機械学習の理論を学んでいくことができます。数学については付録があり、そちらでより詳しく学べるようにもなっています。また、Pythonを使ったサンプルコードが用意されており、実際に動かすことができます。この1冊で機械学習の理論、数学、実装を一通り学べるようになっています。

これから機械学習の理論を学ぼうと考えている初学者に最適

私自身、初学者向けの機械学習の本を何冊か見てきましたが、この本が1番わかりやすいように思います。なぜかといいますと、アヤノ、ミオの2人による会話形式で話が展開されていくため、物語を読むように理論を学ぶことができます。また、疑問に思う部分についてはアヤノが質問するようになっており、そのおかげで都度疑問が解消されていきます。これから機械学習の理論を学び始める人、難しくて挫折してしまった人におすすめの入門書です。

日本語を使う外国人があまりにも少なすぎる現状

こんにちは、SHOYANです。

最近の北朝鮮の状況を世界はどう見ているのだろうかと、海外メディアを見ることが多くなったこの頃。NewYorkTimesを見ていた時に英語版の他に、中国語版とスペイン語版があることに気づきました。このようなところで、国の影響力の強さをうかがい知れたりするものです。

スペイン語は世界で4位

中国の人口とGDPを鑑みると、中国語版があることは納得できます。スペイン語版があるのはなぜなのかと疑問に思ったので、スペイン語が世界でどれくらい使われているのかを調べてみました。WikipediaのList of languages by total number of speakersによるとスペイン語を使う世界の人口は4位で、およそ5億人がスペイン語を使っています。これは、16世紀ごろにスペインが世界中に築き上げてきた植民地、スペイン帝国のなごりだと考えられます。

第2外国語としての日本語のスピーカーがあまりにも少ない

言語別に見てみましょう。

順位 | 言語 | 母国語として話す人 | 第2外国語として話す人 | 話す人の合計
1位 | 中国語 | 8億9700万人 | 1億9300万人 | 10億9000万人
2位 | 英語 | 3億7100万人 | 6億1100万人 | 9億8300万人
3位 | ヒンディー語| 3億2900万人 | 2億1500万人 | 5億4400万人
4位 | スペイン語| 4億3600万人 | 9100万人 | 5億2700万人
5位 | アラビア語| 2億9000万人 | 1億3200万人 | 4億2200万人
6位 | マレー語| 7700万人 | 2億400万人 | 2億8100万人
7位 | ロシア語| 1億5300万人 | 1億1300万人 | 2億6700万人
8位 | ベンガル語| 2億4200万人 | 1900万人 | 2億6100万人
9位 | ポルトガル語| 2億1800万人 | 1100万人 | 2億2900万人
10位 | フランス語| 7600万人 | 1億5300万人 | 2億2900万人
11位 | ハウサ語| 8500万人 | 6500万人 | 1億4800万人
12位 | パンジャーブ語| 1億4800万人 | ? | 1億4800万人
13位 | 日本語| 1億2800万人 | 100万人 | 1億2900万人

日本語は13位です。第2外国語として話す人の人口も公開されているのですが、なんと日本語は100万人程度です。
他の言語に比べてあまりにも少なすぎる。これは日本だけ間違っているのではないかと勘ぐりたくなるくらいの違いです。地理的な要因が大きいと考えられますが、外国人から見て日本という国はあまり魅力的ではないのかもしれません。

ハッカソンでチャットBotを作って感じた課題

GMOペパボで開催されたハッカソンに参加するため東京へ行ってきました。
チームを作って、2日でプロダクトを作るというイベントです。

チームについて

チーム

エンジニア2名とデザイナー、カスタマーサービスの4名で構成されています(農家ではありませんよ!)。
チームメンバーについては、なるべく異なった技能を持つ人で構成しようと考えました。
チーム名はすいかとかぼちゃです。開催されたのが8月だったので、夏っぽい名前をコンセプトとしましたが、深い意味はありません。

お産合宿で作ったもの

チャットBotを作りました。チャットBotにした理由は、チャットBotの作成に関するサービス、オープンソースが充実してきたことです。これらを利用すればそれほどコードを書かずにチャットBotの実装が可能だと考えました。また、どれほどの労力でどれほどのものが作れるかといったことを実際に検証してみたかったという理由もあります。

お産合宿1日目

朝6時に家を出て東京に移動しました。朝が早すぎて大変でした。
会場に着いたらまずは、事前に担当を決めて実装していたコードをマージしました。
チャットBotを各自のPCで動かして、機能の修正、データのチューニングを行いました。
デモができる程度には出来たので、24時に就寝しました。

お産合宿2日目

朝7時に起床して、外を15分くらい散歩しました。
東京は福岡に比べて高層ビルが多いですね。緑が意識的に植えてあって丁寧に管理されてあるんだなぁという印象でした(この写真にはほとんど写っていませんが)。

osan01

朝食を食べて、開発開始。15時から品評会です。
今回は19チームの参加があり、たくさんのプロダクトができていました。

osan02

19時の飛行機で福岡へ帰りました。

チャットBotを作って感じた課題

実際にチャットBotを作ってみることで、どういうことができて、どこが課題なのかを肌で感じることができました。

ウェブベースのチャットBotの開発コスト

今回はウェブブラウザで動作するチャットBotを作ったのですが、チャットのUI自体を自前で用意する必要がありました。LINEやFacebook Messengerのプラットフォーム上で動くボットであればチャットの画面自体の開発が必要ないため、開発コストを削減できます。この点から各種のプラットフォームで動くボットが主流となっていると考えられます。とはいえ、WebベースのチャットBotの需要はあるでしょうから、WebベースのチャットBotを簡単に作れるサービスの需要はあると思います。ちなみに今回はNode.js+Socket.ioBotUIを使って実装しました。

回答精度の問題

質問の解析、返答に関してはユーザーローカルが提供している人工知能チャットボットのAPIを利用しました。
単純なキーワード一致であれば対応できますが、少し複雑な質問になると全然関係のない応答を返したりと、精度の点ではまだまだといった印象でした。

終わりに

チャットBotの開発に関しては多くのサービスやソフトウェアが提供されており、まさにチャットBot戦国時代といったところでしょうか。このように、チャットBotを作る環境は整ってきつつあります。しかし、自然な会話ができるチャットBotを誰もが作れるわけではなく、まだまだノウハウやコツが必要だと感じます。