プログラミング初心者に最適な言語ってなんだろう

昔からずっと言われてる議題だけど社内の非プログラマ向けにプログラミング講座をやろうと思った時に迷ったのでもう一度考えてみる。

プログラマに最適な言語とは

今回の前提として社内の非プログラマに教えるというところがある。 教えた人が「プログラムって便利じゃん!」って思ってくれると最高。
単純な反復処理をプログラムで処理したり、定期実行系のbotとか作るところが(とりあえずの)ゴール。
おもしろいと思わせるのも重要。
プログラマの作業で一番多そうなのは、あるファイル(Excel or CSV)を加工して別の形にするとかだと思うのでFile I/Oのしやすさは重要。

候補

  • Ruby
  • R
  • Shell script

Ruby

日本製スクリプト言語

  • メリット
    • 日本語ドキュメントが多い
    • 社内にも書ける人が多い
    • シンプル(Matzさんの言葉を使うなら「自然」参考:Rubyとは)
    • File I/Oも単純
  • デメリット
    • 環境構築のコスト(非プログラマにとってコストが高そう)

R

統計解析向けプログラミング言語

  • メリット
    • ?コマンドやdemoコマンドの充実
    • データフレームがExcelをよく使う人にとっては強い見方に
    • CSVなどをデータフレームとして読み込める
    • 環境構築が楽
    • RStudioで作業することになるのでエディタを用意しなくていい
  • デメリット
    • googlabilityが低い
    • 日本語のドキュメントが少ない
    • 英語アレルギーだと?demoコマンドが読めない

Shell Script

シェル芸

  • メリット
    • 数個のコマンドを覚えるだけで非プログラマの生産性向上はできる
    • リダイレクト等があるのでFile I/Oも楽
  • デメリット
    • 黒い画面アレルギーの人がいそう
    • Windowsのことを考えると憂鬱になる

まとめ

環境構築さえなんとかなればRubyがいいかなあ
環境構築の面ではRが楽なんだけど英語とgooglabilityの壁がある
リモートにRubyの環境整えておいてCloud Shellとかでssh接続するのはあり。