jFD開発したりしなかったり日誌
2005-12-01 [長年日記]
_ jFD2
ちょっと欲しくなって、カレントディレクトリ以下の空ディレクトリ
(空ディレクトリのみを含むディレクトリも)を削除してくれるスクリプト、
というのを書いてみた。
30行。
簡単ぷう(謎語尾)。
_ Groovyはもう終わりなのか
終わりというより、世間的には始まってすらいなかった感が。
個人的には、ある程度充実したクラスライブラリが使用可能な環境で、
僕みたいなJava屋が100行程度までのシンプルなプログラムを書くには
かなり便利な道具だと思う。
書こうと思えばほとんどJavaと同じ文法で書けるから、Javaプログラマなら
慣れるのに時間がかからないのもいい。
ただ、パフォーマンスが悪かったり、初期の頃はエラー文に行番号が無くて
デバッグで死にそうになったり、EclipseみたいなIDEのサポートが無いから
実は素のJavaより手間がかかったり、プリミティブ型作るのがめんどくさかったり、
けっこうイマイチな部分も多かった。
文法の良し悪しはよくわかってないです。
ほとんどJavaだと思って書いてるんで。
_ 美しいソース
その内書こうと思っていたんだけど、いい機会なんで書いてみる。
僕は美しいソースコードとは、
「記憶力を使わないソース」
だと定義している。
汚いソースを読むのには記憶力が必要になる。
汚いソースは色々あるけど、とりあえずリストアップしてみる。
・メソッドがクソ長くて最後まで読む頃には最初を忘れてる ・分岐が多すぎて全体が把握できない ・ネストが深過ぎてそこにたどり着く条件が思い出せない ・一度に把握してなければならない変数が何十個もある ・publicなメソッドが一つのクラスに数十個もあって、しかもそれらが 妙に依存している ・変数やクラス、メソッド名が省略されすぎたり無意味だったりして 名前を見てもどういうものか思い出せない ・Javaなのに変数の宣言が全部メソッドの最初で、必要になるまで 数百行も離れてたりする
_ まだ幾らでもあるけれど、これらは全て記憶力が必要だから
汚く感じるものだ。
前にも書いたけど、人間が一度に把握できる物事は、7個
(個人差によってプラスマイナス2個)と言われているそうだ。
それ以上になると人間の能力を超えてしまい、読むのに酷く苦労するので、
イライラして、汚く感じる。
それを防ぐために考え出されたのが、カプセル化、関数、スコープ、
クラスといった概念だと思う。
巨大なプログラムを、いかに記憶力を使わずに書くか、というのが
目的の技術だ。
_ これらの概念を使ったソースは別の意味でわかりづらいが、
それは読み手に求めるのは記憶力でなく、理解力だからだ。
僕は理解力を求めるソースは否定しない。
一回理解してしまえば後は応用で理解できるからだ。
理解は再利用が出来るので財産になるけれど、記憶はそうじゃない。
_ これを原則としてコードを見ると、コードの良し悪しというのは
けっこうわかりやすいと思う。
_ そういえば昔、
どこかの中学生だか高校生が作った言語というのを見たのを思い出した。
命令が全て二桁の数字で
「こんなにコンパクトに書けます!」
と威張っていたが、マシン語かと思った。
あれは若くて脳みその性能が良くて、記憶力が無限にあるような人
ならではの無茶だと思う。
- http://www.mooter.co.jp/moot/?keywords=高校生 チンコ 画像&... ×73
- http://www.mooter.co.jp/moot/?keywords=巨大チンコ画像&dom... ×30
- http://www.mooter.co.jp/moot/?keywords=チンコ画像 &pag... ×23
- http://www.mooter.co.jp/moot/?keywords=巨大チンコ画像&lr=... ×11
- http://search.nikkei.co.jp/c/t?keyword=女子高校生裸画像&si... ×6
- http://www.mooter.co.jp/moot/?keywords=ゲイ 盗撮 画像&pa... ×5
- http://www.mooter.co.jp/moot/?keywords=盗撮高校生&domai... ×5
- http://search.nikkei.co.jp/c/t?keyword=小学生裸&ws=1 ×4
- http://blog.chew.jp/result/beatmania/ビートマニア 画像 ×4
- http://search.nikkei.co.jp/c/t?keyword=高校生裸画像&site... ×4
- http://www.mooter.co.jp/moot/?keywords=ゲイ動画&page=9... ×3
- http://www.mooter.co.jp/moot/?keywords=高校生 ヌード画像&l... ×3
- http://www.mooter.co.jp/moot/?keywords=高校生 チンコ 画像&... ×3
- http://www.mooter.co.jp/moot/?keywords=チンコ画像 &lr=... ×3
- http://www.mooter.co.jp/moot/?keywords=レイブ画像&page=... ×3
- http://www.mooter.co.jp/moot/?keywords=イケメンの裸&sear... ×2
- http://d.hatena.ne.jp/tomo_k/ ×2
- http://b.hatena.ne.jp/entry/http://www.starseed.ne... ×2
- http://search.nikkei.co.jp/c/t?keyword=高校生女裸画像&sit... ×2
- http://www.mooter.co.jp/moot/?keywords=女子プロレス 画像 ヌ... ×2
- http://wrs.search.yahoo.co.jp/S=2114736003/K=高校生の裸... ×1
- http://wrs.search.yahoo.co.jp/S=2114736003/K=高校生 ホ... ×1
- http://a.hatena.ne.jp/nekop/ ×1
- http://www.mooter.co.jp/moot/?keywords=イケメンホモ動画&do... ×1
- http://wrs.search.yahoo.co.jp/S=2114736003/K=巨大チンコ... ×1
- http://www.mooter.co.jp/moot/?keywords=チンコ画像&page=... ×1
- http://www.mooter.co.jp/moot/?keywords=画像 ゲイ 裸&pag... ×1
- http://www.yahoogle.jp/redirect.php?url=http://www... ×1
- http://pinkey.dip.jp/diary2/ロンドン/20070901.html ×1
- http://i-know.jp/kmizu/ ×1
- http://a.hatena.ne.jp/gekka/?of=10 ×1
- http://www.mooter.co.jp/moot/?keywords=ホモ動画&page=4... ×1
- http://www.mooter.co.jp/moot/?keywords=高校生 ヌード画像&d... ×1
- http://www.mooter.co.jp/moot/?keywords=女子高校生 画像&do... ×1
- http://www.mooter.co.jp/moot/?keywords=ホモ画像&page=4... ×1
- http://www.mooter.co.jp/moot/?keywords=高校生 裸&domai... ×1
- http://www.yahoogle.jp/yahoogle-6-金玉蹴り 動画.html ×1
- http://www.mooter.co.jp/moot/?keywords=ホモ高校生動画&lr=... ×1
- http://a.hatena.ne.jp/gekka/ ×1
- http://www.starseed.ne.jp/ ×1
- http://www.icntv.ne.jp/user/zinpati/otokojuku.htm ×1
- http://www.mooter.co.jp/moot/?keywords=巨大チンコ画像&dom... ×1
- 高校生 キス 画像 ×492 / 高校生の裸 ×167 / 巨大チンコ ×128 / 高校生のチンコ ×120 / イケメン高校生 ×73 / 巨大チンコ画像 ×72 / 高校生裸 ×69 / 高校生ヌード ×47 / イケメン高校生画像 ×44 / 高校生キス画像 ×43 / イケメン高校生 画像 ×41 / 高校生チンコ ×33 / チンコ写真 ×31 / 高校生チンコ画像 ×31 / 高校生ゲイ画像 ×29 / 高校生の裸画像 ×29 / 高校生 チンコ ×28 / 高校生盗撮 ×28 / 女子高校生裸画像 ×25 / 女子高校生裸 ×25 / 高校生 裸画像 ×22 / イケメン 裸 ×20 / 高校生のホモ ×20 / 女子高校生の裸画像 ×19 / 高校生ゲイ動画 ×18 / 高校生のチンコ画像 ×18 / 高校生裸画像 ×17 / 高校生ホモ ×16 / 巨大チンコ 画像 ×15 / イケメン高校生の裸 画像 ×15 / ホモ 画像 高校生 ×14 / イケメン小学生 写真 ×14 / イケメン高校生の股間画像 ×14 / 裸女子高校生スクール水着 ×14 / 女子高校生 画像 写真 ×12 / 高校生ホモ画像 ×12 / イケメン 裸 画像 ×12 / 女子プロレス ヌード ×11 / 高校生盗撮画像 ×11 / 女子高校生画像 ×11 / 金玉蹴り ×11 / 高校生キス動画 ×11 / イケメン 高校生 画像 ×11 / 女子高校生の裸 ×11 / 高校生のチンコ 写真 ×11 / 女子高校生 動画 ×10 / チンコ画像 ×10 / 女子プロレス ヌード 画像 ×10 / ギルガメッシュナイト 動画 ×10 / 高校生 画像 イケメン ×10 / 高校生 ホモ画像 ×10 / イケメン高校生 動画 ×9 / イケメン 裸画像 ×9 / 高校生 ゲイ プロレス ×9 / イケメン 画像 ゲイ ×9 / ギルガメッシュナイト 女子プロレス ×9 / 高校生チンコ写真 ×8 / ゲイ 巨大チンコ ×8 / 金蹴り 風俗 ×8 / 高校生のゲイ動画 ×8 / 高校生キス 画像 ×8 / 電気アンマ 画像 ×8 / チンコ盗撮 ×8 / イケメン チンコ ×8 / 高校生画像 ×8 / 高校生 イケメン画像 ×7 / 高校生 女 裸 ×7 / ビートマニア 動画 ×7 / 女子高校生 裸 ×7 / 高校生スケスケ水着 ×6 / 高校生女子裸画像 ×6 / スケスケ水着写真 ×6 / 高校生ホモ画像 ×12 ×6 / イケメン高校生(画像) ×6 / 高校生 画像 ×6 / 高校生ゲイ 動画 ×6 / 高校生 ヌード画像 ×6 / 電気アンマ こだわり ×6 / 高校生 チンコ 見た ×6 / 女子高校生スケスケ水着 ×6 / winny 最新ノード ×6 / 高校生 イケメン チンコ ×5 / 高校生 ゲイ 動画 ×5 / 女子プロレス動画 ×5 / ギルガメッシュナイト 画像 ×5 / 巨大 チンコ 画像 ×5 / ホモ動画 高校生 ×5 / 高校生ホモ 画像 ×5 / スケスケスクール水着 ×5 / 高校生 ゲイ画像 ×5 / チンコ 高校生 画像 ×5 / 高校生裸 画像 ×5 / 高校生の金玉 ×5 / 高校生 裸 ゲイ ×5 / 高校生イケメン ×5 / 小学生の裸 ×5 / 高校生 裸 画像 ×4 / 高校生キス 写真 ×4 / 高校生動画 ×4 / 高校生のキス動画 ×4
> 終わりというより、世間的には始まってすらいなかった感が。
Groovyで盛り上がっていた人々でさえも盛り下がったような感じがしてます.
でも確かに便利ですね.MOPがいまいちだったのがちょっと残念.
> 僕は美しいソースコードとは、
> 「記憶力を使わないソース」
> だと定義している。
激同.
とはいえバランスやセンスの良いコードというのはなかなか難しい….特に階層化の粒度とバランス.
盛り下がってますね。
一人自分だけがjFD2で便利に使ってるという状況は、面白いんだか切ないんだか微妙です。
Groovyを選んだこと自体には全然こだわりがないんで、その内RhinoやPnutsも組み込んでみようかと思っています。
早いところどれか一つがデファクトスタンダードになってくれればそれにそれに合わせられるんですが。
バランスの良いコードは難しいですね。
原則に従いきっちゃうと融通が利かなくなって、かえって読みづらいコードになっちゃったりしますし。