テストステ論

高テス協会会長が, テストステロンに関する情報をお届けします.

(msgpack-nim report) 実装完了

今しがた, msgpack-nimの実装を完了したためNimのforumに紹介しておいた.

Introduce msgpack-nim - Nim Forum

完了という言葉を使ったが, まだ全部が終わったわけではなく, 基本的なpacking/unpackingは出来るようになった, 使うことは出来るようになったというレベルであり, 使いやすさのためのレイヤやRPCなどがTodoとして残っている. しかし, 一番重いところは終わった. 余は満足している.

最初のコミットが2/22で, 今日が3/1なので, 10日で実装したことになる. 3/6をdeadlineと決めていたため, かなり急いだが, 達成感で十分報われる. この前の草津温泉旅行での猛烈なコミットがなければ全く達成不可能なレベルだった.

開発というのは, ただ手を動かすだけではなく, 試行錯誤が長い. 悩み, 時には病む. 新興言語でライブラリを作るのは特に大変だ. まず, 言語の使い方が分からず嵌る, コンパイラのバグで嵌る, その言語にとって自然な設計は何か模索するために現存するライブラリのAPIに目を通すことになる. 時にはコードを読む必要もある. 今回であれば, MessagePackが性能やスケーラビリティでどの程度まで可能性があるか知り, その可能性を殺さない妥当な設計を模索する必要があった. これも大変だった. 過去の開発経験, 計算機の仕組み, カーネルの仕組みまで全部総動員して考える必要がある. 他のMessagePack実装を読んだり, 古橋さんが書いたドキュメントを読んだり, とにかく猛烈に調査して, 事実を元に考える必要がある. 設計というのは, レベルの高いプログラマにしか出来ないことだ.

とにかく大変だった. しかし今回出来たものには満足している. これ以上の設計を行う人が現れるならば, むしろ嬉しい.

今後はまず, Nimの3rdパーティリポジトリに登録するところから始めることになるだろう. あとは, MessagePackの公式にリストされることも目標にして開発を進めていく(何を満たせばいいのか全くわからない).

リポジトリはこちら. 見てね!

akiradeveloper/msgpack-nim · GitHub