2007-06-01から1ヶ月間の記事一覧

Java: public static final

[id:odz:20070327:1175049629] public static finalなフィールドってインライン展開されるんだ。そうなんだ・・・。それでいいんだ・・・。

スケール

システムとか制度とかを考えるときには、始めからそれがスケールするかどうかを考えておこうよ。規模が大きくなってきたときに、仕組みを余計に複雑にしようとするのはやめようよ。

最近、頭が疲れてるのかなー

仕事を真剣にやりすぎなのかも(それはよいことのはずだが?)

増加したトランジスタは・・・

[id:sumii:20070606:p3] 「増加したトランジスタは互換性の維持に使われている」そうですよ。 http://blog.miraclelinux.com/yume/2007/06/post_2e23.html 増加したトランジスタは、システムの高速化ではなく、プログラマの生産性の向上に役立てられていると…

Concurrent Clean : mapping

[id:lethevert:20070506:p4] で決めた mapTest :: (A.i: *MCGI i) (A.i: MModel i) MView -> *MRes mapTest cgi model view = cgi model mTest1 \m1 = model mTest2 \m2 = view [vTest1 m1 m2] というmappingの記述方法だけれど、 [id:lethevert:20070604:p5…

Java : Log4J

Log4Jって便利だね。 最近、Log4Jの便利さをじわじわと理解してきて、もうSystem.out.println()とかe.printStackTrace()とか書くのを全部止めて、これを標準で使うようにすればいいのに、という気になってきた。 「標準で」というのは、書き捨てのプログラム…

Concurrent Clean: "Programming in Clean"

http://www.discenda.org/Clean/ Cleanの入門本だそうです。今日、公式ページにリンクが追加された模様。 中身はまだ読んでいないです。 ちょっと見ただけですが、結構な大作ですよ。Cleanプログラミングを始めるなら、非常に助けになりそうです。

LL魂

そういえば、今日が発売日だったらしい。 Lingrをのぞいてその話題があがっているのをみて思い出した。

Concurrent Clean: 一意性と抽象型と共変反変

いろいろ実験して、言語リファレンスを読んだ結果、一意性について理解が深まりました。 とりあえず、関数型と一意性の間には、通常の型のように共変反変の関係があります。 ::R a b :== .(a -> b) createR :: *Char -> *(R Int *Char) createR c = (\i = c)…

Javaのコンパイル技術

http://www-06.ibm.com/jp/developerworks/java/library/j-rtj2/ これ、面白い記事です。

Concurrent Clean : また型付けに悩む

明示的型付けの方が楽かもという気になってくるなー。 これまで、下のコードで上手く行っていたのが mapUpdatePage :: !(A.i: *MCGI i) !(A.i: MModel i) !MView -> *MRes mapUpdatePage cgi model view = model checkUser (next model) model updatePage \p…

Concurrent Clean : Mapping定義

の所だけれど、cgiを引数で渡す必要はないような気がしてきた。返値に外側で適用するやりかたでも定式化できそうな気がする。それを前提に型付けを修正すれば、もう少し間違いが少ない書き方ができるようになるのでは?

Re: オープンソース

[id:lethevert:20070602:p1] 他の専門職との比較でいうと、弁護士に企業内弁護士がいたり、医師に産業医がいたりするように、企業内プログラマというのがいるべきで、そうなってこそオープンソースの本当のメリットが生まれるのではないかということ。 それ…

Re: 動的言語やrails系に走る理由

http://www.eisbahn.jp/yoichiro/2007/06/rails.html Javaの記法的な面倒くささに対する解が、Rubyのような動的型付言語だということなら、それはちょっと悲しいなあ。 - ところで、会社で、開発チームでチーム内で使うツールを作る言語としてPythonを使って…

Concurrent Clean: 一意型と正格let

先ほどMLに流れたメールに衝撃を受けていろいろ試しているのですが、 とりあえず、 swap arr i j #! x = select arr i y = select arr j = update (update arr i y) j x という関数は正しく型付けされるということです。 しかし、 swap arr i j # x = select…

Re: オープンソース

プログラマじゃない人にとってのオープンソースって何だろう? 昨日の件がまだ頭にこびり付いているのでそんなことを考えているのですが。 ソースを読み書きできない人にとって、オープンソースであるかクローズドソースであるかなんて、何の違いもないのじ…

Re: 不恰好な力技が作る未来

http://medt00lz.s59.xrea.com/blog/archives/2007/06/post_500.html この話はよくわかる。この発想は経営やマネジメントではよくある考え方だ。 特にソフトウェアの世界は、こういう発想の転換によるパラダイムシフトが頻繁に発生している気がする。 FizzBu…

おとなりにっき

を見てみたら、一位がhttp://wadler.blogspot.com/だった。 http://f.hatena.ne.jp/lethevert/20070602170809

Concurrent Clean: MySQL Binding

最近Cleanを触れていなかったのだけれど、今日ひさしぶりに触った。 前にCGIでエラーになっていて、それを直さなきゃというところで放置していたのだけれど、どうもDBの所でエラーになっているのに、エラーメッセージが出ていない。 で、MySQL Bindingのソー…

オープンソース

http://utage.org/enkai/menu.cgi?ENKAI_CODE=osp2007 これに行ってみた。 オープンソースというと誰でもソースが読めるし、誰でもソースを書き換えられるし、誰でも開発に参加できるよ、というものだと思っていたが、どうもそういうものではないのかなーと…