retireSakiの日記

たぶん引退した?ソフトウエアエンジニアのブログ

GitHub でみる人気のプログラム言語と GitHub Actions って...

f:id:retireSaki:20181023105003p:plain

  GitHub は、開発者のみならず一定レベル以上のユーザーなども多く利用しているソースコードなどが大量に公開されています。
個人の開発者からメーカーなどがソースコードなどを公開し、中には各種ドライバーなどを公開し、GitなどによりOS内ドライバーを更新することも多々あります。
今年マイクロソフトが買収したことで更に需要が増し、今ではソフトウエア業界には欠かせないホスティングサービスとなり、9,600万件以上のリポジトリが公開されています。
特に今年は登録者数が一気に増えました。

github.com

 ここで、今年 GitHub で公開されているソースコードのプログラム言語の順位を見てみたいと思います。

f:id:retireSaki:20181023105240j:plain

  これを見ると、TypeScript が大きな伸びを見せています。2018年6月4日にマイクロソフトが買収しているので、それに関連した動きと言えるでしょう。今後どうなるか期待したいと思いますが、マイクソフト独特の思考・展開方法がどれだけオープンソース界のやり方に合わせられるかがキーポイントとなるでしょう。

 Java, Python, C言語系(C++,C#) などが上位です。グラフにはありませんが、Java 言語よりも簡潔に書ける Kotlin 言語のほうが大きく伸びているので、上位に食い込む可能性もでてきています。
Rubyは予想通りという感じですね。一部の分野に特化したところがあり、ライブラリー公開が主流なので、公開されたコードは評価が高いのもうなずけます。


スタンドアローンアプリ開発向け言語を焦点にしてみると...

 さて、上のグラフでは純粋なスタンドアローンアプリ開発向け言語の公開傾向がわかりづらいので、それらの言語のみラインを残しました。

f:id:retireSaki:20181023105345j:plain

 グラフで気をつけなければならないことがいくつかあります。

<メーカーから個人まで>
 つまりソフトウエア業界の需要の人気ではなく、個人の趣味によるものなども多く含まれています。

<目的・用途が不明>
 how-toやwiki的な情報からモジュール、ドライバー, アプリなどさまざまです。

GitHubは公開しても良いソースコードであること>
 特に、C言語系(C++,C#) は基幹システムでの需要が大きく、機密情報やテクニックが多いのでGitHubで公開されるケースは少ないです

 ということ踏まえても、人気の利用傾向としては判断することができます。

Java, Python, C言語系(C++, C#) が主流となっていると言えるでしょう。

 しかし、これは世界規模のことであり、日本国内ではまた別の傾向が見られると思います。
コードを公開している企業の多くは海外のグローバル企業で、国内ではまだまだオープンソースによる恩恵が理解されていないと思います。


 それにしても最近でてきた言語って、ライブラリー関数内部のカーネルが見えてこないし、ロジックを簡略化しすぎてるし、あまり好きにはなれないですね。
少し勉強すれば作れる言語って、生産効率は上がるけどプログラミング技術の低下を招き、これでは優秀な開発者が育ちにくくなってします。

 

octoverse.github.com


GitHub Actions は...

 発表されたばかりの GitHub Actions について少し話したいと思います。

 GitHub や外部ツールのAPIを活用するコード "Action" を、指定順序にのっとり実行していくサービスとして開発ワークフローを自動化するオートメーションサービスして働きます。
完全なオープンソースで開発しているプロジェクトや個人の開発者であれば、非常に強力なツールとして動作することは容易に想像できるでしょう。
 しかしこれは GitHub で公開されているソースがバグの無いまたは少ないコード、かつ信用できる開発者のコードであることが前提となります。暗にちょっと便利なコードだからといって組み込みむと、作ったアプリなどは逆に危険度が増加します。

 インターネット上のサービスである以上、GitHub で監視できますし、GitHub がウイルスやアタックなどの攻撃を受け、情報が外部リークすることもあります。

つまり、インターネットのサービスであるがゆえの危険を内包しています。
利用される場合は限定的または閉鎖的なワークフロー内で使用することをオススメします。


 とはいえ、先程話したように、完全なオープンソースで開発しているプロジェクトや個人の開発者であれば、非常に強力なツールとして使えるので、検討に値するサービスです。

 

github.com

GitHubを勉強するなら、こんな本は欲しいですよね。

 

GitHubポケットリファレンス (POCKET REFERENCE)

GitHubポケットリファレンス (POCKET REFERENCE)

 
Gitが、おもしろいほどわかる基本の使い方33

Gitが、おもしろいほどわかる基本の使い方33

 
【改訂新版】Gitポケットリファレンス

【改訂新版】Gitポケットリファレンス

 

 

 

 

注目記事

「Amazon.co.jpアソシエイト」または「[乙の名称を挿入]は、Amazon.co.jpを宣伝しリンクすることによってサイトが紹介料を獲得できる手段を提供することを目的に設定されたアフィリエイトプログラムである、Amazonアソシエイト・プログラムの参加者です。