Programmer's Baton

| | コメント(6)

Programmer's Baton をいただきました。
ネタ提供ありがとうございます。こういう話題は大好きです。

■ 最も得意とするプログラム言語

Rubyですね。脳内イメージを一番スムーズに出力できます。
趣味系、日常スクリプト系はほぼRubyです。

得意ではないけど好きなのはHaskellとScheme。
ポリシーが明確な言語が好きです。
最近Ioが気になっています。なかなか綺麗な言語です。
であとは鋭意制作中なmie。これについてはそのうち何か書きます。


■ 最近注目しているプログラミング言語。または技術。

非テキスト言語。一般的な呼び方はなんて言うのかな。
やはりテキストベースには越えられない壁があると感じています。
テキストの縛りから抜け出した言語をいろいろと妄想中です。
ネタはちょくちょく溜め込んでます。
本腰入れるのは少なくともmieが一段落ついてからかな。

Martin Fowler blikiの言語ワークベンチというのが多少関連してます。
今流行(?)のDSLですね。
あとMicrosoftのSoftware Factoriesとか。
これもDSLと開発環境に深く絡んだ技術ですね。
ただ私の考えているのはDomain Specificではなくて汎用言語です。
というか新しい言語にするよりもまず、
既存言語においてテキストの壁を越えた開発環境が欲しいんですよね。
その方が需要は絶対あるだろうし。

あとは継続… 強敵です。
まだまだ勉強不足。時間見つけてKahuaやりたいです。


■ プログラマーにとって重要な3つのもの

僕がこうありたいと思うプログラマ像、
一緒に仕事をしたいと思うプログラマ像ということで。

1. ソフトウェア開発を楽しむ心
2. 常により良いものを求める心

あとは何だろう…

3. 変化を怖れない心。むしろ歓迎する心。

という感じかなぁ。もろ精神面だけど。


■ 何か面白い話(プログラマーをしていて)

今仕事で相手にしてるシステムは、
当然のように詳細シーケンスやフローチャートはないので
何か調査するためにはソース解析するしかないわけです。
でやったら本質的でないコードが多いんですよね。
それで一旦本処理以外を除いたコードを解析用に用意することにしました。
#ifdef DBGとかログ出力とか消していくと、
main関数が最初1214行あったのが275になりました!
それを眺めてるとまだ本処理の割合が低いのです。
今度は異常系・準正常系のエラー処理を除いてみると…75行。
1/16以下に縮まったことになります。
こういうもんなんですよね。
おそらく規模が大きくてかっちりしているほど、
エラー処理やログ出力なんかはわんさかやっているので、
本処理の割合は低いと思います。
しかしこの現状ね、著しく稼働に影響してますよ。
コードの可読性がもう最悪。
ちなみにコメントはほぼ全ての行に付いてたりします。
そんなにいらねーよと。
  break;     /* break */
もうね、アホかと。
  /* データメモリ展開処理失敗ぼ場合 */
タイプミスとか。コピペしたせいで大量に「失敗ぼ」が連発されててね。苦笑。
まこれは癒し系だから許せるけど。
ログとかの問題はAOP使えば大部分解決可能なんだけど、そもそもOOPも使ってないし。
言語的につまり実体を変えなくても表示側でなんとかできます。
個人的にはeclipseとかVisualStudioとかEmacsとかコードエディタとしてはしょぼすぎ。
今の開発環境はソースファイルをただのテキストとしてしか扱っていなくて、
メタデータを扱うことができないのが一番の問題です。
コメントなんて本質的にはコード片に対するメタデータなんですから、
表示/非表示の切り替えなんかはクリック一つでできるようにしたいです。
あとログ処理エラー処理デバッグコード、これらもコード片に対してラベルを付けられるようにして、
表示するラベルを選択できるようにすれば、手作業で本処理だけ切り出すとかいうアホっぽいことはしなくて済むわけです。

# 面白い話でなくてすみません


■ プログラミングとは○○だ!

可能性は無限大、といったところでしょうか。
コンピュータ上の仮想世界では他では得られない自由度があります。
こうしたいと思ったら、それが時間と力さえあれば実現できる、
そういう極めて合理的な世界がそこにはある。
現実世界ではそうはいきませんからね。
これがプログラミング、コンピュータの最大の魅力ですね。


■ バトン渡す人
tnctな方々に是非ともお願いします。

コメント(6)

wiz@激鬱 :

とりあえずこのバトンの意味を書いてくれないと、tnctな方々も困ってしまってわnw<略

ま、しばらく一行が続く可能性があるので、水曜か木曜辺りにkakeるかしらね。
忙しかったらもっと後になるけど。つかまぁ忙しいのはまだ続くんで
とりあえず卒研辺りを、実験可能なレベルまで持っていければ落ち着くというか何と書くか。

ま、とりあえず、何書くものなのか説明よろ。

eclipse :

え、何がわからないのかがわからないのですが・・・
質問は■で書いてあるやつです。
それに対する答えを自由に書いていただければよろしいのでは。
質問の意図とかは私が考えたものじゃないんでわかりませんよ。

それと言うまでもないことだと思いますが、
書きたい人は書いてくれると嬉しいな程度の気持ちです。
だからあえて名指ししなかったわけで。

acht :

バトン受け取ってみましょう~。
そのうちBlogに載せます。

VSなんですが、一応アウトライン機能というのが
ありますよ~。コメント部分が見え隠れできるやつ。
http://www.atmarkit.co.jp/fdotnet/dotnettips/157vsedit/vsedit.html

eclipse :

お、ありがとう。

アウトライン機能とは折り畳み(folding)のことですね。
それはeclipseにもEmacsにもあるんだけど、手動ですよね。
コード片に対してラベル(メタデータ)を付加してこのラベルは表示させない、とかできませんよね。
マクロとか駆使すればできないこともないのかもしれませんが・・・
ま、あれはあれでとても便利な機能です。

acht :

Yes,アウトライン機能=折り畳みです。
eclipseの言うような高度な機能を持ったエディタというと、
それはもー自分で作った方がいい!!w
プログラマーの基本にして神髄ですねw

eclipse :

まそういうことです。
自分で作るしかないってのはわかってます。
力も時間もないので今は口だけということでw

このブログ記事について

このページは、yuchが2005年10月 2日 02:17に書いたブログ記事です。

ひとつ前のブログ記事は「長月」です。

次のブログ記事は「シーザー暗号 (2)」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

Powered by Movable Type 4.01