新しい言語を触り始めた時に実装してみるもの一覧

ajitofm 13に「言語を学ぶ時に練習で何を実装してみるか」みたいな話が出ていた。 で、自分は何やっているかなーと思ったので書き出してみる。

全部やるってわけではなく、目的に応じていくつかやってみる感じ。

  • parser combinator
    • パフォーマンスを求めないなら数日で実装できる
    • 文字列操作
    • 最適化の練習(文字列編)
  • JSON serializer
    • parser combinatorを使って何かやってみる時の定番?
    • quickcheck的なライブラリを練習するのにちょうど良い
  • binary serializer
    • バイナリ操作
    • マクロ
    • 最適化の練習(バイナリ編)
    • msgpackが仕様の大きさ的にやりやすい?
  • データ構造
    • ひとつひとつは小さいので練習しやすい
    • データ構造、アルゴリズムの復習を兼ねる
  • TODOリスト
    • Webフレームワーク
    • DB
    • logging
  • テスティングフレームワークアサーション
    • リフレクション、メタプログラミング
    • AST変換(power assertもどきを題材に)
    • 同値比較の考察に便利?
    • 完成度は重視しない

他の人がどういうことをやっているのか気になるところ。