オンラインでさまざまな言語のコンパイル・実行ができる Wandboxという便利サイトの紹介です。
超便利!C言語のアセンブラ出力を即確認できるサイト|compiler-explorer で Compiler Explorerというサイトを紹介しました。 これはC/C++やRust、Go言語のコンパイル結果(アセンブラ出力)をオンラインで確認できるものでした。 今回の Wandbox は、アセンブラ出力でなく実行結果を確認するものです。多くの言語(30以上!)に対応しています。
Wandboxとは
Wandbox は、オンラインでさまざまな言語のコンパイル・実行ができるサービスです。その場でサクッとプログラムを動かせるので便利です。やたらめったらに多くのコンパイラのバージョンに対応していて、各バージョンでの動作差異に重宝します。他にも新しい言語を勉強したいときに、開発環境を構築する前の味見として使えるかと思います。慣れない言語だと環境構築だけで心が折れたりしますからね。。。 内部の仕組みに興味のある人は Wandbox の GitHub リポジトリ を参照してみてください。Yesod という Haskell の Web フレームワークで作ってるそうです。
さわってみよう
さっそくさわってみましょう。と言っても、特に説明することがないくらいシンプルかつわかりやすいです。 まずはWandboxへアクセスしましょう。アイコンというか「三へ(へ՞ਊ ՞)へハッハッ」という微妙にキモい絵文字が見えるかもしれませんが気にしないことにしましょう。作者さんの遊び心なんでしょう、きっと。。。
下記のような構成です。これを見ればほぼ使い方はわかるかと思いますが、簡単に説明しますね。

真ん中の main 関数があるところに、試したいコードを上書きします。
初期状態は、 C++で Hello, Wandbox!と表示するサンプルプログラムが書かれています。
左の列で言語とコンパイラ、オプションを選択します。上記の画像では gcc HEAD 7.01が選択されていますね。
他に最適化オプション(Optimize)やBoost、C++のバージョンなど選べるようになっています。
さらに細かい設定を追加したい場合は「Compiler Options:」とあるボックスに自由にコンパイラオプションを記述できます。
あとは真ん中のコード下にあるボタン「Run (or
Ctrl+Enter)」を押します。するとコンパイル&実行処理されます。サンプルコードのままの場合は上の画像のように Hello, Wandbox!と表示されるはずです。
もしコンパイルエラーがあれば通常のコンパイラと同様にエラーメッセージが表示されます。
もし自分が書いたコード&設定を他の人とシェアしたい場合は、ボタン「Run (or Ctrl+Enter)」のすぐ下にある「Share this code」というボタンを押します。 すると、下記のようにTwitter でのシェアかリンクアドレスかどちらかを選択できます。

参考までに2017-04-04時点での対応言語を列挙します。聞いたことない言語もありますね!充実すぎるラインナップ!!
- Bash script
- Lua
- C
- Nim
- C#
- OCaml
- C++
- OpenSSL
- CPP
- PHP
- CoffeeScript
- Pascal
- Crystal
- Perl
- D
- Pony
- Elixir
- Python
- Erlang
- Rill
- Go
- Ruby
- Groovy
- Rust
- Haskell
- SQL
- Java
- Scala
- JavaScript
- Swift
- Lazy K
- Vim script
- Lisp
また、それぞれの言語に対して複数のコンパイラおよびコンパイラバージョンに対応しています。 例えばCやC++ならば、GCCやClangがあります。また、それぞれのコンパイラのバージョンまで指定できます。下記のような感じです。

まとめ
今回はWeb上ですぐにC言語やC++,その他約30言語以上のプログラムをその場で実行できるサイト Wandboxを紹介しました。 多くのコンパイラ、バージョンに対応していますので各コンパイラバージョンでの挙動の差異の確認に便利です。 また、新しい言語を始めるときのとっかかりとしても有用そうです。ぜひご活用くださいませ!