Exercism.ioでちょっとしたプログラミング問題を解いていく

最近、exercism.ioというプログラミングを学ぶサービスを使ってみています。

http://exercism.io

世界を相手に腕を磨けるプログラミング学習サイト「Exercism.io」のWIREDの記事に惹かれてやってみたのですが、なかなか面白いです。

これは、ちょっとした問題を順に解いていく、というものです。解いた回答はサイトにサブミットし、サブミットすれば次の問題を取得、解くことができる、というものです。サブミットした回答は様々な人が見ることができる状態になり、時折、気になった解答例や自分の解答にコメントしてくれる人もいます。

同じ解き方を、面白い方法で解いたコードはナルホド、と思うところがありますね。

問題の内容自体は、TDDのようにテストコードがあらかじめ用意されており、そのテストコードがすべてグリーンになるまでプログラムを構築して解いていく、というものです。中には素数判定が必要なものもあったりと、ちゃんと考えればより高速なアルゴリズムで問題を回答できるといった種類の問題も存在します。

ちょっとしたプログラミングを使ったクイズみたいな位置づけですね。他の人の回答みたりすると、自分とは異なる使い方や、よりスマートな記述で問題を解いているものもあって、程よい頭の体操になりそうです。

Code Schoolのようなちゃんとした学習をするサービスもありますが、ここは小さな問題がたくさん転がっているので、カジュアルに遊ぶことができるのが面白い。

2015/01/24 時点で、以下の言語の問題が用意されています。

Active language tracks:
     Clojure               clojure        34 problems
     CoffeeScript          coffeescript   20 problems
     C++                   cpp            34 problems
     C#                    csharp         41 problems
     Elixir                elixir         38 problems
     Erlang                erlang         18 problems
     F#                    fsharp         11 problems
     Go                    go             61 problems
     Haskell               haskell        67 problems
     JavaScript            javascript     59 problems
     Common Lisp           lisp           17 problems
     Lua                   lua            22 problems
     Objective-C           objective-c    10 problems
     OCaml                 ocaml          19 problems
     Perl 5                perl5          61 problems
     Python                python         46 problems
     Ruby                  ruby           64 problems
     Scala                 scala          42 problems
     Swift                 swift          13 problems

Inactive language tracks:
     Assembly              assembly       0 problems
     Bash                  bash           0 problems
     C                     c              2 problems
     D                     dlang          0 problems
     ECMAScript            ecmascript     1 problems
     Groovy                groovy         11 problems
     Java                  java           10 problems
     Nimrod                nimrod         4 problems
     Perl 6                perl6          11 problems
     PHP                   php            12 problems
     Windows PowerShell    powershell     0 problems
     Mathematical Proofs   proofs         0 problems
     R                     r              0 problems
     Rust                  rust           15 problems
     Standard ML           sml            0 problems
     VB.NET                vbnet          7 problems

私はRubyを少しやってみました。他のコードにも触れてみようかなと思ってます。

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中