C言語Love

今日はC++Python→Cと、似たようなプログラムを書くという失敗をしてしまって、最終的に「もう、なんでもかんでもCで書いちゃえばいいんだ」っていう結論に至ったっていう話をだらだらと。


適当に身近にあるC言語以外で書かれたプログラムの断片。プログラムは、例題とかのプログラムではなくて、それなりに大きなプログラムの断片としてほしい。
もし、その断片をC言語で書いたとして、それほどに大差が出るだろうか。という問題だ。
僕の予想では、「そんなに差は出ない。」だ。C言語名前空間の機能が弱いので関数名だとか変数名が長くなる、というのは考えられるけど、それ以外の面でCで書くと劇的に長くなる、というのはありえるだろうか。

言語組み込み文字列だとか、組み込みリストだとか、そういうのはやっぱり全体から見ればごくごく些細な問題でしかない。
プログラムにおいて重要になってくるのは、細かい部分では、「どーいう条件のときにどーいう出力をするか」っていう問題。大きな部分では「どーいうモジュールがどーいう機能を持ってて、どーいうふうに結合するか」っていう問題だ。そういう部分では言語としてはせいぜい「public、privateの区別」だとか、「パッケージ化機能」ぐらいしかサポートできなくなってくる。


ここまでが、言語の機能っていうのはそんなに問題ではないっていう話。「A言語がいい」だとか、「B言語ではこんなことができる」だとか話してる時間があったら、その時間を使ってCで書いたほうが早く実装できる。とか、思ったりするのである。



で、わざわざCを使う理由。は、特に無いな…僕の主観が入ってるだけか。
まあ、なんだ。C++とかで書いてると、つい技巧に走ったプログラムを書いてしまうので、そういうのを自制するのにはCで書くのがちょうどいいなっていう話なんじゃないかと思う。関数型言語とかは特に技巧に走りやすいので危険。


と、いうわけでC言語が一番だと思ってたんだけど、先日gdcを読んで、「あーやっぱC++のほうが読み易いなぁ…」とか思ってしまったので、「なんだ、これが力に魅せられるということか!!これがダークサイドなのか!?」とか思った次第。次号「ダークサイド」へ続く。


あー、ILogScriptとか書いてるのは言語が欲しいとかじゃなくて、単なるGCCへの愛情表現です。多分。