【あまりにも面白すぎたのでメモ】 天空の Java
|
2006/11/16(木) 03:09:32
|
うわははははははっははははははははぁはぁははああは
# yasuyuki@MacBookPro
今、Java がなぜ滅びたのか、私よく分るの。 シリコンの谷の歌にあるもの。
“CPU アーキティクチャに根をおろし、M$ と共に生きよう。 Windows と共に夜を越え、Office とともに VisualBasic を謳おう。”
どんなに素晴らしい理想を持っても、 たくさんのかわいそうなプログラマをあやつっても、 デファクトスタンダードから離れては生きられないのよ! (天空のJava)
(Gauche at Lingr) At 5:50am (November 15)
面白すぎる w
ET とか Prolog みたいな,宣言的なルール型言語だと,read write invariance とやらはほとんど全て保証されているような… ん〜,論理変数名とかは内部表現になっちゃうから駄目なのかなぁ.
# (append *List1 *List2 *List3) とかが, 自動的に (append *A *B *C) とかプログラム中一意な変数名 (λ的に言えば,α 変換) になっちゃうから,プログラム変換すると可読性が落ちちゃうかも.まぁ,環境自体も外部表現にエンコードしてる,とも言えるかも.
まぁ,これが保証されてると,マクロとかは要らないんですよね.プログラムを変換するプログラムなんていくらでも簡単に書けますから.むしろ私には,マクロは言語にハードコードされた,原始的なプログラム変換システムの一種にしか見えない.様々な推論とか解析は,ルール型言語は得意中の得意だし.
あー,ET には (今の所) 構造体は無いな… Prolog はあると思うけど (というか,もはや Prolog は何でもありだからなぁ… 節操が無さ過ぎる.まぁ,カットを言語に入れた時点で,モデルが破綻してる言語だからね).
入門 Scheme でも,ふつうの Common Lisp プログラミングでも無く,「プログラミング Gauche 」 という本の執筆計画があるらしい.
# あまり追ってないからよくわかってないんですけど,もしかして,1.0 Release 以降とかいう話 ?
あと,なんでも Gauche は,Common Lisp をライブラリとしてまるごと実装した Scheme を目指して行くとか言う壮大な話らしい.(Scheme の理想論としては) よく挙げられるありふれた題目だけど,それが実際に実現しつつある,というのは本当に凄いなぁ.
追記 : 勘違いしてました.入出力回りの仕様とか,限定的なものだそうです.詳しくはコメント欄を.
僕的には,Common Lisp は,現状最も優れた言語の一つだと思っている (なんせ,データ構造や制御が豊富すぎるぐらいあって素晴らしすぎる.配列一つ取っても,ポインタの配列しか宣言できない Java みたいなライブラリばかりぶくぶく太った軟弱言語とは異なり,実体の配列も自由自在に宣言できたり) のだけど,多少泥臭くも感じる.というわけで,Gauche がより Common Lisp 的になっていくというのは素晴らしいなと.
# CL の人が見たら,すっぽすっぽ先生が Java に対して抱くような気持ちになるのかもしれないけど.
というわけで,微妙にやる気がでてきたので,ちょっと shiki をいじろうかね.
実は Lingr の中に出てきた,emacs の C-M-SPC とかの意味がわからなかったり.
なるほど, mark-sexp か… とりあえずここらへんは,単に GtkTextBuffer の API に薄皮をかぶせるだけなので,一通り実装してみよう.
|
小ネタ|TB:0|CM:11|
|

▲
|
|
|
コメント
|
「Common Lispをライブラリとしてまるごと実装」なんって言ってませんがな。 入出力に関してCLの仕様を参考にするとは言っていますが。 |
|
shiro #-|2006/11/16(木) 01:46 [ 編集 ]
|
確かに読み返してみると,
「そのうちつけます。ただそのへんのCLの機能って盛りだくさんなので、なかなか全部をサポートするのが大変>び」
がかかってるのは,「入出力」 の 「read出来ない外部表現でwriteしようとしたら例外をあげる」みたいなオプション」 でしたね (^-^;
全体的なノリというか,個人的な願望も入ってました.すいません. |
|
あろは #wNX6xxGw|2006/11/16(木) 03:07 [ 編集 ]
|
Javaでもint,long,float,doubleなどの配列は 実体の配列だから、実体の配列を宣言できない ということは無いのでは?それとも、C++ みたいにユーザ定義型の実体の配列が確保 できないという意味でしょうか? |
|
みずしま #-|2006/11/16(木) 05:38 [ 編集 ]
|
補足しておくと、私自身業務ではCommon Lispを使っているので、そこで便利だと感じた機能についてはどんどんGaucheに入れて行くと思います。 ただ、Common Lispをそのままcopyすることはやらない、っていうだけで。 |
|
shiro #-|2006/11/16(木) 08:09 [ 編集 ]
|
>> ユーザ定義型の実体の配列が確保 できない
その通りです.確か (今の Java は全然わかrないのですが ← なら書くな !) 少なくとも私が知っていることの Java の (クラスオブジェクトの) 配列は全部ポインタの配列で,インスタンスは全てヒープにアロケートされていたような ?
# 今の JIT 最適化とか言語仕様とかの発展は知りませんが…
あー,あと,(私の悪い癖なんですが…) 一番上のネタを引きずったノリのままテキトーな文章を書いていたので,ちょっと Java な方は不愉快になるような表現になってましたね.すいませんでした m(_ _)m |
|
あろは #wNX6xxGw|2006/11/16(木) 18:56 [ 編集 ]
|
>> 業務ではCommon Lisp
なるほど.コメントありがとうございます.
# よく考えてみると,CL の大部分は,いわば Lisp の歴史の中で培われた標準ライブラリみたいなものですからね.Scheme に取り入れていったとしても全然問題は無い,というかむしろ自然な流れとさえ思うので,期待しています :-)
# そもそも根本的に CL とは相容れない部分も多そうですしね.
# CL で Gauche をライブラリとして実装するのと,どっちが大変なんだろう (余談). |
|
あろは #wNX6xxGw|2006/11/16(木) 19:04 [ 編集 ]
|
> あろはさん >> Java の (クラスオブジェクトの) 配列は全部ポインタの配列で,インスタンスは全てヒープにアロケートされていたような ?
もしかして基本型の配列の要素もポインタだと誤解しておられるのかなと思って、ついつっこんでしまいましたが、そういうことでしたか。確かにその意味で言えば、ポインタの配列しか宣言できないというのは間違ってないです。JITコンパイラがポインタ配列->実体配列の最適化をしてくれるかどうかは、最新のVMのソースを読んだことが無いのでなんとも言えませんが、かなり限定された状況以外では難しいのでは無いかと思います。
あと、Javaな人に不愉快かどうかですが、自分も割とJavaな人なのでJavaがこき下ろされているのを見ると一抹の寂しさを覚えるのは事実ですが(笑)、それが誤解に基づいたものでなければ特に不愉快ということは無いのでお気になさらず。 |
|
みずしま #-|2006/11/16(木) 23:19 [ 編集 ]
|
こき下す,とかいわれると,かなりきつい感じが (汗) 僕的には,実はあまりそういうつもりは無いんですよ,そうは見えないかもしれませんが.
僕は,特定のナニカの信者的な人々 (特定の個人では無く,抽象的な) が苦手で,ついつい茶化して遊んでしまうんですよね.
もの凄い暴言吐いちゃうと,僕は現行の計算機の世界は全て不十分不完全だと思っている人なんですよね (自分が関わっているものも含めて).
だからこそ,信者的に好きな (マンセーな) モノも嫌いなモノも無い (つもりなので) 中立的な立場で (と自分では思ってますが,もちろん不十分不完全) ,劣勢な方を援護するようなどっち付かずの矛盾だらけな主張をいつもしているつもりです.
Java は素晴らしい,●●は駄目,っていう主張を見たら,Java をチャカしますし,Ruby なり Python なりナンナリが素晴らしい,Java とか C とか ●● は駄目,という意見を見たら,Java や C の素晴らしさを解いて反対側をチャカしますし w
とかく今の時代は,Ruby や Java の素晴らしさを布教する方々は腐るほどいるので,僕はどちらかというと,C とか Lisp とかのマイナー陣営 (笑) に回ることが多いのですが,もちろん C や Lisp や Prolog にも不満だらけです.こっちが素晴らしい,マンセーと思っているわけではありません.
# だから研究とかしてるわけですが (もちろん,全然不十分ですが…)
ただ,Java に goto が無いのだけは納得できませんが (笑) 効率的なトランスレータが Java のレベルで書けなくなるので w
>> それが誤解に基づいたものでなければ特に不愉快ということは無いのでお気になさらず。
いやぁ,もちろん,僕はみずしまさんは信じてますよ (笑)
でも,最近ある人が,某言語の信者に匿名で攻撃されている様を見てしまったので,あー,やっぱり,発言にはいろいろ気をつけた方が良いのかも… という,単なる自戒でした (^-^;
みずしまさんのように広い知識があって,その言語の良い所も悪い所も熟知していて,なお様々なトレードオフでその言語を愛している方々ばかりなら良いのですがね.なかなか…
# 知識が無い信者ほどやっかいなモノは無いですよね… いや,ある信者はもっとやっかいですが www ← こういう発言 !!! (← こういうのが良くない (← こういうのが ( ← こう (こ(
>> 最新のVMのソースを読んだことが無い
JVM のソースが例外付き GPL で公開された,というニュースには興味がありました.
でも,とても私が追えるようなソースじゃないんだろうなぁ… と放置していたのですが.
そのうち眺めてみようと思いました.
全然関係無いですが,みずしまさんの発言はいつも厳しい感じが (僕的には) していたのですが,今回は文中に 「(笑)」 があったので,なんだか安心しました :-) |
|
あろは #wNX6xxGw|2006/11/17(金) 00:21 [ 編集 ]
|
なんか返事が遅くなりましたが
>あろはさん こき下ろすって言葉は考えてみれば、ネガティブなイメージのある言葉だったかもしれません。自分の中では、こき下ろすというのは批判の中で論調が激しいものという程度のイメージだったので、つい使ってしまいました。
自分の論調が厳しいというのは、書いているときはあまり意識してないんですが、書いてしばらくしてから見てみると、きつい言い回しだったかもと思うことがあります。その辺は自分でもときどき反省しているのですが、なかなか難しいですね。 |
|
みずしま #-|2006/11/23(木) 00:44 [ 編集 ]
|
Java は滅びぬ。何度でも蘇るさ。Javaの力(WORA)こそ人類の夢だからだ! |
|
Hiroshi #mQop/nM.|2007/01/04(木) 16:09 [ 編集 ]
|
わはは,全く同じ内容を,私も書いてました (笑)
http://www3.vis.ne.jp/~asaki/p_diary/diary.cgi?Date=20061116
あと,上の記事を見つけるためにちょっとぐぐったら,こんなスレが w
http://pc.2ch.net/prog/kako/1010/10105/1010538054.html |
|
あろは #wNX6xxGw|2007/01/06(土) 17:30 [ 編集 ]
|
|
|
コメントの投稿
|
|
|
トラックバック
|
トラックバックURLはこちら
http://alohakun.blog7.fc2.com/tb.php/545-57664f95
|
|
|