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

July 19, 2014

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

とりあえず前囘はコアダンプするプログラムになっていたのを修正。ただ、起動パラメータの個數チェックを入れただけであるが...。

Screenshot_from_20140717_110839


ところで、C言語でリスト型のデータを扱うということに關して、少し脫線し過ぎた。別にC言語でもこうすれば出來るということを言いたかったのではないし、そもそもC言語にリスト型のデータなどというものは存在しない。曲りなりにデータ型というのであればそれをサポートする標準的な言語機能があってしかるべきだ。さらにC言語には、あるデータが何型なのかを問う機能すら無い。ただ、何をするにも非常に面相臭いし、ちょっとでも閒違えれば暴走してクラッシュ(例外が發生してコアダンプ)した擧句、エラー理由もわからない。

そのようなプログラミング言語で何か目的を達成するためのプログラムを書こうとする場合、どういうデータをどう處理すれば良いかが分かっても、さらにそれをどう書けばよいか考えなければならず、その枝葉末節を考えているうちに本來の目的を見失ったり、餘計なところに時閒がかかったりする。その人のセンスによるところが大きいが、とくに末端の關數を作る場合に必要最低限で良いのか、ある程度汎用ライブラリ的なものを目指すのかによって、要する時閒が大きく變わる。必要最低限の機能にとどめるにしても、その上位層の前提が崩れたときに作り直しになる可能性が高くなるというリスクもあるし、汎用性を目指したからといってもそれがどの程度他へ轉用が可能かは未知數だ。まして、そのようなことで惱んでいるうちにITエリートがプログラマでいられるフェーズはアッという閒に終わってしまうのだ。

長い人生でたかが數年しかないプログラマのフェーズで、C言語の開發をマスタしても、數年經てば書き方も作り方も忘れてしまう。だとすると、その後も長く觸れる可能性が高いツールでプログラミングに直結しているものを習得した方が良いに決まっている。私が20年來Emacsを使い續けている理由はまさにこれだ。

私が初めてEmacsに觸れたのはたしか平成2年(1990年)だったと思う。當時の社内開發環境といったら、ほとんどの人はPC98からSunのSPARC Stationに端末ログインしてUNIX(SunOS4)を使うというものだった。その環境でメールやネットニュースを讀むとなると、Emacs以外にロクなツールは無かった氣がする。當時のEmacsはバージョンがGNU Emacs 18.58に日本語パッチであるNemacs-3.3.2を當ててビルドしたものだった。日本語入力はWnn4+Egg+boild-eggだったが、クラッシュすることが多かったのでSJ3を使っていたこともある。その後、GNU Emacs 18.59をベースにしたMule 0.9.8が出て、以降會社のEmacsを自分でビルドするようにもなった。ちょうど同じころ、PCのOSまだMS-DOSだったがDOSエクステンダーを使ったDemacsというのが出てきて、UNIXマシンにログインしなくてもGNU Emacsを使えると騷がれたが、社内ではあまり普及しなかった。

2000年以降は開發ターゲットがPC系になったこともあり、Mule for Win32を使ったり、Cygwin上のEmacsを使ったりしていた。そうこうしているうちにMuleはGNU Emacsに取り込まれ、Mule for Win32はMeadowになった。2007年以降はGNU Emacsのtrunkをcheckoutしてきて自分でビルドして使っていたが、現在PC上ではもっぱらMeadow-3.00、たまにxyzzyを使用している。VMware上ではUbuntuを好んで使っていて、その上でも自分でビルドしたEmacsを使用している。

Emacsのビルドは、Nemacsの頃はまだautoconfが作り出すconfigureを使ってMakefileを作成するという形式になっていなかったので、X11やWnn4のライブラリをリンクする設定などをするのにMakefileを編集する必要があった。PC上で初めてコンパイル(bootstrap)したときは數時閒かかったが、今ではPCの性能が良くなってきているので數分で濟むようになっている。要するに誰にでも出來るようになってきたということだ。バイナリをダウンロードして動かすのに抵抗がある人は自分でビルドすると良い。


|

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

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/60006075

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

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