GitHub でみる人気のプログラム言語と GitHub Actions って...
GitHub は、開発者のみならず一定レベル以上のユーザーなども多く利用しているソースコードなどが大量に公開されています。
個人の開発者からメーカーなどがソースコードなどを公開し、中には各種ドライバーなどを公開し、GitなどによりOS内ドライバーを更新することも多々あります。
今年マイクロソフトが買収したことで更に需要が増し、今ではソフトウエア業界には欠かせないホスティングサービスとなり、9,600万件以上のリポジトリが公開されています。
特に今年は登録者数が一気に増えました。
ここで、今年 GitHub で公開されているソースコードのプログラム言語の順位を見てみたいと思います。
これを見ると、TypeScript が大きな伸びを見せています。2018年6月4日にマイクロソフトが買収しているので、それに関連した動きと言えるでしょう。今後どうなるか期待したいと思いますが、マイクソフト独特の思考・展開方法がどれだけオープンソース界のやり方に合わせられるかがキーポイントとなるでしょう。
Java, Python, C言語系(C++,C#) などが上位です。グラフにはありませんが、Java 言語よりも簡潔に書ける Kotlin 言語のほうが大きく伸びているので、上位に食い込む可能性もでてきています。
Rubyは予想通りという感じですね。一部の分野に特化したところがあり、ライブラリー公開が主流なので、公開されたコードは評価が高いのもうなずけます。
◆ スタンドアローンアプリ開発向け言語を焦点にしてみると...
さて、上のグラフでは純粋なスタンドアローンアプリ開発向け言語の公開傾向がわかりづらいので、それらの言語のみラインを残しました。
グラフで気をつけなければならないことがいくつかあります。
<メーカーから個人まで>
つまりソフトウエア業界の需要の人気ではなく、個人の趣味によるものなども多く含まれています。
<目的・用途が不明>
how-toやwiki的な情報からモジュール、ドライバー, アプリなどさまざまです。
<GitHubは公開しても良いソースコードであること>
特に、C言語系(C++,C#) は基幹システムでの需要が大きく、機密情報やテクニックが多いのでGitHubで公開されるケースは少ないです。
ということ踏まえても、人気の利用傾向としては判断することができます。
Java, Python, C言語系(C++, C#) が主流となっていると言えるでしょう。
しかし、これは世界規模のことであり、日本国内ではまた別の傾向が見られると思います。
コードを公開している企業の多くは海外のグローバル企業で、国内ではまだまだオープンソースによる恩恵が理解されていないと思います。
それにしても最近でてきた言語って、ライブラリー関数内部のカーネルが見えてこないし、ロジックを簡略化しすぎてるし、あまり好きにはなれないですね。
少し勉強すれば作れる言語って、生産効率は上がるけどプログラミング技術の低下を招き、これでは優秀な開発者が育ちにくくなってします。
◆ GitHub Actions は...
発表されたばかりの GitHub Actions について少し話したいと思います。
GitHub や外部ツールのAPIを活用するコード "Action" を、指定順序にのっとり実行していくサービスとして開発ワークフローを自動化するオートメーションサービスして働きます。
完全なオープンソースで開発しているプロジェクトや個人の開発者であれば、非常に強力なツールとして動作することは容易に想像できるでしょう。
しかしこれは GitHub で公開されているソースがバグの無いまたは少ないコード、かつ信用できる開発者のコードであることが前提となります。暗にちょっと便利なコードだからといって組み込みむと、作ったアプリなどは逆に危険度が増加します。
インターネット上のサービスである以上、GitHub で監視できますし、GitHub がウイルスやアタックなどの攻撃を受け、情報が外部リークすることもあります。
つまり、インターネットのサービスであるがゆえの危険を内包しています。
利用される場合は限定的または閉鎖的なワークフロー内で使用することをオススメします。
とはいえ、先程話したように、完全なオープンソースで開発しているプロジェクトや個人の開発者であれば、非常に強力なツールとして使えるので、検討に値するサービスです。
GitHubを勉強するなら、こんな本は欲しいですよね。
GitHubポケットリファレンス (POCKET REFERENCE)
- 作者: 澤田泰治,小林貴也
- 出版社/メーカー: 技術評論社
- 発売日: 2018/09/22
- メディア: 単行本(ソフトカバー)
- この商品を含むブログを見る