Cを少し見直した

なんか C で tail を書くのが流行っているらしいので参戦します。

このRingBufferはきれいだなー.しかし,有効な返答ができそうにもないのが歯がゆい所.修行足りない.

C で書くとしたら、やはり目的に特化したデータ構造を使うことで、速度と可読性を稼ぐべきではないでしょうか。

この文章で,はっとしたことがある.Cの存在意義とでも申しましょうか.

PerlやRubyなどのスクリプト言語なんかでは,リスト等の使いやすくて高機能なデータ構造がもともと用意されてる.だから,それなりのデータ構造が必要そうなプログラムでも,そのデータ構造を定義する部分がほとんど必要ない.よって,簡潔.読みやすい.データ構造の操作方法はいつも同じだし.

Cの場合.CはQueueなんかのデータ構造を表現するのも一苦労.使いづらい.このあたりが,というのが正直これまでの認識だった.しかし,Cでは逆に,ビルトインの高機能なデータ構造を使わないプログラムを書くチャンスが残されている,と考えることも出来るんじゃなかろうか.

それこそまさに,kazuhoさんのコードのように.よりプリミティブなコードを書くチャンスがCにはいくらでもある.プリミティブなコードが書ければ目的に特化したデータ構造を書ける.それを自分の作りたいプログラムにうまく当てはめることができたら,それは素敵なプログラムってことじゃないだろうか.

うーん,Cも捉え方を変えたらかなり良い言語に思えてきた.プログラミングておもしろいものだ.