« プログラミングを始めるには(3) | Main | プログラミングを始めるには(5) »

July 18, 2014

プログラミングを始めるには(4)

リストデータをC言語で扱うのは非常に面倒だ。しかし、それは面倒な手順をその都度書かなければならないような氣がするからであって、C言語でリストを扱う場合はプログラミング思考を妨げない程度の粒度で便利な關數を書くものだ。

Screenshot_from_20140717_102823

たとえばこんな關數を書いてみる。かなり胡散臭いが...。

Screenshot_from_20140717_102910

そうすると、オブジェクトを作成したら多少Lispらしい粒度の記述になる。

Screenshot_from_20140717_103029

結果はこの通り。

つまり、オブジェクトやコンスセルもどきの作成と設定を共通關數的に書いてやれば、C言語でもある程度のことまでは出來るかもしれない。しかし、ひとつ閒違えばエリア破壞を起こし、その原因を見つけるまでに惱むこともある。現に、このプログラムもコンパイル後に動かしてみたら案の定コアダンプした。そこでgdbでステップ實行して原因を見つけ、修正後にやっと動いた。Lispならそんなデバグは必要ない。

それは人閒が普通に思考出來るデータフローの粒度でプログラムを書けるからだ。Lispが人閒の思考を妨げないプログラミング言語と言われる所以である。

ちなみにこのプログラムは引數無しで起動するとコアダンプするのご注意を(笑)

それと、なんでC++で書かないの?とかのツッコミも要りません。


|

« プログラミングを始めるには(3) | Main | プログラミングを始めるには(5) »

Comments

Post a comment



(Not displayed with comment.)


Comments are moderated, and will not appear on this weblog until the author has approved them.



TrackBack

TrackBack URL for this entry:
http://app.cocolog-nifty.com/t/trackback/74224/60001374

Listed below are links to weblogs that reference プログラミングを始めるには(4):

« プログラミングを始めるには(3) | Main | プログラミングを始めるには(5) »