1 名前:デフォルトの名無しさん [2005/12/20(火) 21:43:02 ] プログラミング言語処理系の開発に興味のある人達のスレッドです。 字句解析・構文解析から,データフロー解析,ループ並列化,データ分散,SSA変換, CPS変換,レジスタ割付,命令スケジューリング,ソフトウェアパイプライン, SIMD命令生成,VLIW向けクラスタリング,スクラッチメモリ向け最適化,リンク時最適化, JIT,動的バイナリ変換等の各種最適化,それにVM,GC,低消費電力化などなど。 意味論に関する話題も歓迎です。 過去スレ 1 pc.2ch.net/tech/kako/981/981672957.html 2 pc2.2ch.net/test/read.cgi/tech/1021136715/ 3 pc5.2ch.net/test/read.cgi/tech/1070089173/ 4 pc5.2ch.net/test/read.cgi/tech/1100097050/ 5 pc8.2ch.net/test/read.cgi/tech/1106129164/ 6 pc8.2ch.net/test/read.cgi/tech/1115335709/ 7 pc8.2ch.net/test/read.cgi/tech/1129287390/ 8 pc8.2ch.net/test/read.cgi/tech/1131273918/ 関連リンクは多分 >>2-10 あたり
51 名前:デフォルトの名無しさん mailto:sage [2005/12/29(木) 09:50:25 ] threading が kernel level で support されてなかったらどうなるか考えてみた?
52 名前:デフォルトの名無しさん mailto:sage [2005/12/29(木) 10:28:34 ] なぜそんな中途半端に英語をしゃべる?
53 名前:デフォルトの名無しさん mailto:sage [2005/12/29(木) 11:13:42 ] >>52 それがナウなヤングなんだよ。
54 名前:デフォルトの名無しさん mailto:sage [2005/12/29(木) 12:50:23 ] >>50 >既存のソフトウェア資産が全て0から作られると仮定して あのなー、 その「全て0から作らなくてはならなくなった理由」がない状態で、 どの機能を何処に割り当てるべきか、なんてのが決まる訳が無いだろ?
55 名前:デフォルトの名無しさん mailto:sage [2005/12/29(木) 13:21:18 ] OSの足りない機能を補うためにソフトウェア資産があるんだよ OSの足りない分はソフトウェアがカバーしてるんだよ
56 名前:デフォルトの名無しさん mailto:sage [2005/12/29(木) 13:28:14 ] >>53 ナウでクォー(クール)でヤングですよ。
57 名前:デフォルトの名無しさん [2005/12/29(木) 20:52:43 ] マジレスすると、Rubyの多くの機能は本来はOSが提供するものだろうな。
58 名前:デフォルトの名無しさん mailto:sage [2005/12/29(木) 21:05:47 ] それのどこがどうマジレスなんだ?
59 名前:デフォルトの名無しさん mailto:sage [2005/12/30(金) 04:58:42 ] >>57 がRuby要らずのOSを公開するそうです。 みなさんお楽しみに!
60 名前:デフォルトの名無しさん mailto:sage [2005/12/30(金) 06:08:19 ] むしろRubyが必須なOSがあるのか知りたい
61 名前:デフォルトの名無しさん mailto:sage [2005/12/30(金) 06:21:04 ] >>60 ない
62 名前:デフォルトの名無しさん mailto:sage [2005/12/30(金) 06:24:26 ] Ruby 信者とアンチ Ruby が居なければ、このスレも随分と静かになるんだろうなぁ。
63 名前:デフォルトの名無しさん mailto:sage [2005/12/30(金) 08:02:02 ] >>62 大差ないと思うよ。 半分くらいは俺が信者になったりアンチになったりしながら煽ってただけだから。 ちなみに俺はRubyもLISPも使ったことはない。 来年もよろしく。
64 名前:デフォルトの名無しさん mailto:sage [2005/12/30(金) 09:38:36 ] >>63 大差あると思うよ。 もう半分は俺が信者になったりアンチになったりしながらクマしてただけだから。 ちなみに俺はRubyもLispも長年使い込んだ。 今年限りにしておこうか。
65 名前:デフォルトの名無しさん mailto:sage [2005/12/30(金) 13:50:43 ] >>63 要するにお前の自演がウザいから消えてくれたらな…って話なんだよ。 空気読めねー奴だな…。「ちなみに」とかいわなくても君が Ruby を使えない 低能野郎って事は分ってるから来年こそは氏んでくれ。 でも空気読めないからノコノコでてくるんだろうなぁ
66 名前:デフォルトの名無しさん mailto:sage [2005/12/30(金) 19:39:50 ] Rubyついでで恐縮だが、あのソースは本当に凄いな。 まったくの別次元だ。 特にスキャナ
67 名前:デフォルトの名無しさん mailto:sage [2005/12/30(金) 23:27:35 ] パーサのトリックも凄いと思った。
68 名前:デフォルトの名無しさん mailto:sage [2005/12/31(土) 04:07:32 ] GCもスレッドも凄いと思う。 ...で、それって結局全部、Rubyの欠点になってるよな。
69 名前:デフォルトの名無しさん mailto:sage [2005/12/31(土) 15:59:23 ] 誰かRuby書きなおしてやれよw
70 名前:デフォルトの名無しさん mailto:sage [2005/12/31(土) 16:27:46 ] スキャナとパーサは疑う余地がないよな。でもGCとスレッドって凄いっけ? GCは、前見たときは、わりと標準的なmark-sweepだと思った。 スレッドは基本的に使ったことしかなくて、 スレッドスケジューラとかを作るやり方の話をよく知らなかったから いまいち判断できなかった。 それでも、現実のOSなんかが搭載してるスケジューラに比べれば、 かなり簡潔(悪く言えばチープ)だろうな、と何となく思った記憶がある。
71 名前:デフォルトの名無しさん mailto:sage [2005/12/31(土) 17:11:19 ] >>70 >GCは、前見たときは、わりと標準的なmark-sweepだと思った。 うーん、Bohemとかと比べるんなら「標準的」なのかもしれないけど、 BohemはC向けだからああならざるを得ないのであって、インタプリタ言語で なにもわざわざCスタックをスキャンすることないのではないかと。 あれのおかげでsetjmpでレジスタを対比するようなトリックが必要になっているし (そのせいでCPUごとの#ifdefやインラインアセンブラも必要になっているし)、 ネイティブスレッドと相性が悪いのもあれのせいでしょ。
72 名前:デフォルトの名無しさん mailto:sage [2005/12/31(土) 19:05:16 ] >>71 言語上の問題じゃなくてオブジェクトメモリ操作のアトミック性の問題のためにスタックまで見る羽目になってるだけなんだけど どうしたもんかねぇ。 個人的にGC関係が勉強になったというか良くできてるな〜と関心しきりだったのはioなんだよね。 シンプルなのにジェネレーションベースなんでGCに興味がある人は見ておくべきだと思う。
73 名前:デフォルトの名無しさん mailto:sage [2005/12/31(土) 19:12:39 ] > わざわざCスタックをスキャン CのプログラムがRubyのオブジェクトを捕まえたときに、 Cのプログラムが明示的にそれを開放しなくても良いという利点がある。 これのおかげでCで拡張ライブラリを作ったり Rubyを他のアプリケーションに組み込んだりしやすくなる。 ・・・という目的があったと思った。 でもvolatileつけないといつの間にかオブジェクトが回収される罠があったり、 これのせいでRubyの高速化がしにくかったり。
74 名前:デフォルトの名無しさん mailto:sage [2005/12/31(土) 20:28:43 ] なんだかんだ言っても好きだなw お前らw
75 名前:デフォルトの名無しさん mailto:sage [2005/12/31(土) 20:51:44 ] >>74 好きです。結婚してくださ(ry
76 名前:デフォルトの名無しさん mailto:sage [2005/12/31(土) 22:51:46 ] volatileによるガードを期待するのはやめて、やばげなところでは 明示的にガードできるようにした方がいいんじゃないかねえ。EmacsのGCPROみたく。
77 名前:デフォルトの名無しさん mailto:sage [2005/12/31(土) 22:53:28 ] EmacsがGCPROとconservative GCを併用できるというわけじゃないんで念のため (できるのはできるが目的が違う)
78 名前: 【小吉】 【1883円】 mailto:sage [2006/01/01(日) 11:53:17 ] Rubyの運勢
79 名前:デフォルトの名無しさん mailto:sage [2006/01/01(日) 17:14:23 ] ここでやるなよ。
80 名前:デフォルトの名無しさん mailto:sage [2006/01/01(日) 20:50:42 ] アンチRuby房のほとんどが、メジャーになれない 重箱研究者だったりする件についてw
81 名前:デフォルトの名無しさん mailto:sage [2006/01/01(日) 21:29:14 ] 人生相談はこのスレの管轄ではありません
82 名前:デフォルトの名無しさん mailto:sage [2006/01/02(月) 00:00:49 ] >>80 それは言えてるかも。ある意味素人が世界的に有名になって (以下略
83 名前:デフォルトの名無しさん [2006/01/02(月) 00:22:58 ] すっぱい葡萄理論w
84 名前:デフォルトの名無しさん mailto:sage [2006/01/02(月) 00:50:46 ] その点Lispはそのような心配がない罠 人機の秘密は案外こんなところおにあったりする。
85 名前:デフォルトの名無しさん mailto:sage [2006/01/02(月) 00:52:48 ] やはりLispが原点だね Rubyだのなんだのと遠回りする馬鹿の多いことよ
86 名前:デフォルトの名無しさん mailto:sage [2006/01/02(月) 02:57:54 ] Lispはある意味Cよりもコンピュータに近い所をプログラマに処理させるわけだから、 そんなに使い易いもんでは無いわな。 Rubyのシンタックスシュガーはやりすぎな感じもするけど…… 誰か表記改良版のLisp作らんかね?
87 名前:デフォルトの名無しさん mailto:sage [2006/01/02(月) 03:00:55 ] 誰か=御自分 いいだしっぺの法則
88 名前:デフォルトの名無しさん mailto:sage [2006/01/02(月) 03:20:15 ] JavaScript が C の皮を被った Lisp と言われていますよ。
89 名前:デフォルトの名無しさん mailto:sage [2006/01/02(月) 03:35:36 ] >>88 ネイティブコンパイラとオプショナルな静的型付けと Dylan 風マクロが備わったら認めてやる。 ECMAScript に静的型付けを導入する話はどうなったんだろうか。
90 名前:デフォルトの名無しさん mailto:sage [2006/01/02(月) 04:30:38 ] >>89 どっかで見た4thエディションでは予約語にはなってたようにおもう。 俺はバリアント型大好きだからいまさら感、感じてるけどね。
91 名前:デフォルトの名無しさん mailto:sage [2006/01/02(月) 04:53:19 ] ところで、バリアント型大好きなんだけど、実装ってどういう感じになってるのかぜんぜん検討つかないんですよ。 ライターのM氏のページで、Cでの実装だと型そのものはUNIONにまとめてる感じでした。 やっぱり処理系が扱う変数型をまとめてUNIONにしてしまってフラグ変数で型を見分けて扱うというのが一般的なんでしょうか? そのときに、たとえばWinapiに対する拡張とか、製作時点で未知のオブジェクトに対応する場合はどういう方向になるんでしょうか? ヒントでもいいので、お返事お待ちしております。
92 名前:デフォルトの名無しさん mailto:sage [2006/01/02(月) 05:01:58 ] >>91 大筋その認識で間違いない。 ただし未知のオブジェクトなど存在しないと思って良い。 複雑な構造のオブジェクトがあったとしても、 レコード型などのなんらかの既知の型の組み合わせでしかない。
93 名前:デフォルトの名無しさん mailto:sage [2006/01/02(月) 05:23:43 ] >>92 お返事ありがとう。大筋でもあっててよかった。 Winapiのハンドル関連も元をたどればvoid*だったりするのかな。 構造体の内部表現とか結構気になるな。 うぅ。夢は尽きません。 ま、それはそれとして、参考になりました。
94 名前:デフォルトの名無しさん mailto:sage [2006/01/02(月) 06:48:16 ] 拡張モジュールを書いてバリアントを増やせる設計って可能だろうか? つまり、型識別フラグのとりうる値がすべてわかっていないと書けない 部分というのが存在するかしないかなんだけど。 ちょっと考えた限りではなさそうに思える(効率は別として)。
95 名前:デフォルトの名無しさん mailto:sage [2006/01/02(月) 08:23:22 ] 最近 scheme の処理系を勉強で書きはじめたのですが call/cc の実装で、継続を作成するという処理は トップレベルに戻るコードと そのときの環境オブジェクトというか全フレームを 対にしてまとめたものを保存しておけばよいのかなあと思ったのですが gauche とかで、call/cc の実装を見ると結構複雑っぽいことを しているんだけど、なんか考えが足りないのかなあ 識者の見識を聞かせてください
96 名前:デフォルトの名無しさん mailto:sage [2006/01/02(月) 09:03:14 ] 眠れないからC++のバリアントを試作してみたよ。 未知の構造体を格納しつつ自由にメンバにアクセスしたいときってどうやってやるんかな。 リフレクション自作とかしないといけないのかな・・・。ドウヤッテツクルンダ・・・。 void*に突っ込んで使用時にキャストがいいのかな??スクリプトエンジンでそんな指定どうやって?? テンプレートは一個しかできない上に決めうちしないといけないから向いてない感じがする。 悩む。 >>94 C言語的構造体指向OO風味だと、メモリの配置さえあってれば問題なく下位の構造体にアクセスできるから、 なんとか構造体EXとかは可能だと思う。関数ポインタつければ仮想関数もどきとかもできますぜ。 ただ、型識別フラグは拡張を指しているだけとかそういうことになりそう。 細かい指定はどうだろ、enumの拡張って動的にできるのかな。あぁ、INTつかえばいいのかな?? 型ID予約制とかそういうことになって管理大変かも?? とか、書いてたらねむくなってきたなぁ。 論点ずれてたらごめんね。
97 名前:デフォルトの名無しさん mailto:sage [2006/01/02(月) 09:30:51 ] >>95 継続というのはその時点での全アクティベーションレコード (スタック フレームと思っておけばいい) そのものだから、基本的にはそれだけ 取っておけばいい。アクティベーションレコードを全部ヒープに アロケートする処理系なら単にその先頭のポインタを掴むだけで済む。 概念的にはとても単純。 複雑になるのは効率を考えるから。普通のプログラムは、継続が絡まない 通常の関数呼び出し/復帰の方がはるかに多く、その場合はスタックを 利用する方が一般的にずっと速い。けれどスタック上のアクティベーション レコードは関数復帰時に自動的に開放されてしまうから、継続が作られた 場合にそれを防ぐ何らかの方法がいる。継続作成時にヒープにコピーするとか、 継続作成時にスタックのベースを動かしてそれまでのスタックをヒープに しちゃうとか、色々テクニックはある。 それから、単純な関数呼び出し/復帰モデルで賢い最適化をしたつもりが、 継続が入るとうまく動かなくなるってことも多い。効率を考えてゆくと だんだん実装は複雑になる。
98 名前:デフォルトの名無しさん mailto:sage [2006/01/02(月) 09:51:55 ] >>97 C++で、コードが複雑な場合に、最適化でバグの発生する理由がようやく理解できた
99 名前:デフォルトの名無しさん mailto:sage [2006/01/02(月) 16:10:25 ] >>96 型式別のフラグ=型を理解するコードへのポインタ にすればフラグの値を全部知ってる必要は無いでしょう? 実行時にロードされた場所が被るハズないって前提なのではあるけど。
100 名前:デフォルトの名無しさん mailto:sage [2006/01/02(月) 16:57:04 ] C++の話は別でやってくれ シッシッ
101 名前:デフォルトの名無しさん mailto:sage [2006/01/02(月) 18:42:13 ] >>97 効率を考えると色々あるのですね 効率を考えずに単純に実装しようと思うのですが 一度中間言語へコンパイルし、仮想マシンなりで走らせるようにする部分は 継続を実装する上で必須なのでしょうか 中間言語とかなしでインタプリタのままで実装することはできないものかと・・・ 例えば、(+ 2 (+ a 1)) とかで、(+ a 1) の継続を その時点での環境を丸々コピー&(lambda (x) (+ x 2)) を 継続コードとして保存する、とか考えてたのですが、 S式全体から (lambda (x) (+ x 2)) の部分を取得する上手い方法が 思いつかないっす
102 名前:デフォルトの名無しさん mailto:sage [2006/01/02(月) 18:50:56 ] っ CPS 変換
103 名前:デフォルトの名無しさん mailto:sage [2006/01/02(月) 18:58:58 ] C++って、嫌われてるの?
104 名前:デフォルトの名無しさん mailto:sage [2006/01/02(月) 19:01:53 ] >>102 なるほど!それがまさにそれに該当する方法っぽいです ただどっちが簡単なんでしょうか 1.VM作って中間言語へコンパイルして継続を管理 2. CPSで継続渡し?みたいな形にS式をコンバート なんか後者も結構メンドイ気がしてきた・・・ 初心者向けなのはどっちですか?
105 名前:デフォルトの名無しさん mailto:sage [2006/01/02(月) 19:39:59 ] 別に中間言語にする必要もCPS変換かける必要もない。 ただ、スタックを陽に管理することになるので (実装言語のスタックをそのままは使えない) それを仮想マシンと言えなくはない。
106 名前:デフォルトの名無しさん mailto:sage [2006/01/02(月) 20:23:15 ] 効率、実用性を度外視して、とりあえず動くものを作りたいだけなら CPS 変換の方が圧倒的に楽だと思う。 後は callcc 以外の Scheme インタプリタ作るだけだし。 ところで実装言語は何?
107 名前:デフォルトの名無しさん mailto:sage [2006/01/03(火) 05:30:35 ] >>99 レスty! ぜんぜん僕が思ってたのと違う方法なきがする。 型を理解するコードか・・・。変数のことかな。 勉強不足でうまく思い浮かばないOrz そのほかでは、 名前と値保持の領域をmap使って管理するのがいいのかな。 これ使えばJS風味のバリアントできるな。 でも1オブジェクトに1mapってなんか色々コスト高いような・・・。 あとは関数をどうやって抽象化するかかな・・・。 これこそテンプレートのでばんか!? という感じで色々ひねって見ます。 ありがとー。
108 名前:デフォルトの名無しさん mailto:sage [2006/01/03(火) 08:14:25 ] >106 C#です。GCとか作る自信ないもんで。
109 名前:デフォルトの名無しさん mailto:sage [2006/01/03(火) 08:35:02 ] >>107 typeinfoクラスへの参照をメンバに持っとけって話だろ。
110 名前:デフォルトの名無しさん mailto:sage [2006/01/03(火) 08:49:43 ] >>108 実装する目的がわからんのだけど、もしただの勉強なら、 せっかくだから Scheme で実装したらどう? (eval 使ってはい終わりって意味じゃないよ) 自分のインタプリタで自分のインタプリタを動かすのは 一度はやっておくべきだと思う。 見当違い、余計なお世話だったら無視してくれ。
111 名前:デフォルトの名無しさん [2006/01/03(火) 09:23:29 ] >>110 C#で実装して、.net framework, managed directX と連携してゲームとか 簡単な画像処理のフィルタとかをお手軽に作れるような scheme インタプリタを 作ろうというのが処理系の目的といえば目的ですが・・・ 現状はC#のインタプリタ部分は call/cc とかマクロとかその辺を 除けばほぼ完成まで来たので、とりあえずはこの路線で進もうかと。 scheme で実装するというのは発想自体思いつかなんだ いずれやってみようかなと思いました
112 名前:デフォルトの名無しさん mailto:sage [2006/01/03(火) 09:25:40 ] >>105 スタックを陽に管理するとは?
113 名前:111 mailto:sage [2006/01/03(火) 09:33:39 ] ごめん、上げてしまった
114 名前:デフォルトの名無しさん mailto:sage [2006/01/03(火) 13:05:21 ] >>112 構文木を直接評価してくときに、素直に実装言語の(非末尾)再帰を 使うと、対象言語のスタックが実質的には実装言語のスタック上に 置かれることになるでしょ。そうすると継続を捕まえるのが面倒。 対象言語のスタックは自分で管理して、実装言語側で再帰しないように 評価器を呼んで行くことを「陽に管理する」と表現した。 実行時にCPS変換かけてるのと同じことだけどね。
115 名前:デフォルトの名無しさん mailto:sage [2006/01/03(火) 19:18:40 ] GCを自分で実装しようとする人が多いのは 自分でメモリ管理することで(GC以外の部分でも)最適化の 余地が大きいからでせうかね?
116 名前:デフォルトの名無しさん mailto:sage [2006/01/03(火) 19:24:11 ] >>115 コアの部分に、他人のクセだらけのソースコードを使えるか?という問題かと
117 名前:デフォルトの名無しさん mailto:sage [2006/01/03(火) 19:43:53 ] 良くも悪くもGCには、作った人の技術の粋が集まるから 他人のGCを使うのは、リスクが大きすぎるんだよな 何処にどんなバグが潜んでいるかは、作った人にしか分からない……
118 名前:デフォルトの名無しさん mailto:sage [2006/01/03(火) 19:58:43 ] つか、他人の作ったGCって、Bohem以外にあったっけ? C/C++にライブラリ乗せただけで使えるGCは原理的にコンサバ以外になり得ないので、 exactなGCが欲しければ、自分で作るしかあるまい。 だいたい、(mark sweepだとすれば)mark phaseはその言語のオブジェクト構造に モロに依存するから、結局自分で書くことになると思うんだが。
119 名前:デフォルトの名無しさん mailto:sage [2006/01/03(火) 20:29:35 ] Boehm使ってる。 自分で書くことも考えたんだけど、ネイティブスレッドとか incremental GCへの対応はプラットフォーム依存のコードが 入って来るから、自分一人ではサポートしきれないという判断。 色んなアーキテクチャでテストとデバッグしてくれる要員が いるくらいプロジェクトが大きくなればいいんだけれどね。
120 名前:デフォルトの名無しさん mailto:sage [2006/01/03(火) 20:47:56 ] >>109 な!そんなクラスが!!!! 目から鱗です。 レスty!!
121 名前:デフォルトの名無しさん mailto:sage [2006/01/03(火) 20:52:43 ] 所詮俺言語ってことかw 俺言語に俺研究、本当にお前らときたら(ry
122 名前:デフォルトの名無しさん mailto:sage [2006/01/03(火) 21:23:18 ] そりゃな、誰が好き好んで他人向け言語なんて作るんだ? 自分が好き勝手に色々な事をやりたいから作るんだよ。w それで他人向けにもなっていて、神になれれば万々歳だよ。www 妄想入り過ぎだな……orz
123 名前:デフォルトの名無しさん mailto:sage [2006/01/03(火) 23:19:20 ] それで成功した例が、お前らの嫌いなRubyって訳か。 ある意味皮肉なもんだ
124 名前:デフォルトの名無しさん mailto:sage [2006/01/03(火) 23:28:49 ] つまり、ツンデレ?
125 名前:デフォルトの名無しさん mailto:sage [2006/01/03(火) 23:43:19 ] そもそもC言語が自分がUNIX作るために作った俺言語だから。
126 名前:デフォルトの名無しさん mailto:sage [2006/01/03(火) 23:45:05 ] >>124 なにそれ? >>125 正当化に必死ワロw
127 名前:デフォルトの名無しさん mailto:sage [2006/01/03(火) 23:51:48 ] >>126 表面上は嫌っている(ツンツン)が、 内面では認めている(デレデレ)って意味
128 名前:デフォルトの名無しさん mailto:sage [2006/01/04(水) 00:21:52 ] Ruby最高! 実行速度の遅さと、色々と無駄の多くて破綻している文法以外……
129 名前:デフォルトの名無しさん mailto:sage [2006/01/04(水) 00:33:21 ] ruby の文法って日本語的な思考方向(熟語が最後に来る)になってるような 気がしている
130 名前:デフォルトの名無しさん mailto:sage [2006/01/04(水) 00:39:14 ] >>123 まあねえ。 このスレにいるような連中(のうち何割か)は、俺言語の5つや6つとっくに作ってて (あるいは作りかけていて)、みーんなディスクの肥やしにしてるんだと思う。 言語処理系作るのなんて別に難しくないんだけど、ちゃんと完成させて、 かつちゃんと普及させる人は珍しい。その点じゃまつもとさんはすごいんだと思う。
131 名前:デフォルトの名無しさん mailto:sage [2006/01/04(水) 00:39:41 ] obj.m1.m2.m3.m4 を objをm1してm2してm3してm4する。 と書けるようになればいいのかも。
132 名前:デフォルトの名無しさん mailto:sage [2006/01/04(水) 00:58:01 ] ruby のイメージってそんな感じなんですけど
133 名前:デフォルトの名無しさん mailto:sage [2006/01/04(水) 01:05:40 ] >130 まだまだ諦めとらんよ。 (SchemeとIOを合わせたようなのを作成中)
134 名前:デフォルトの名無しさん mailto:sage [2006/01/04(水) 01:10:11 ] SchemeやLispを使うとプロトタイプ作成は早いですよ 最近実感した
135 名前:デフォルトの名無しさん mailto:sage [2006/01/04(水) 01:13:51 ] >>133 くだらねぇなあ。 そういう既存のものを中途半端に組み合わせたのって 数あるつまらん言語のうちの1つになるだけだろ。
136 名前:デフォルトの名無しさん mailto:sage [2006/01/04(水) 01:21:07 ] 有名どころが作ったとかではないなら、少なくとも何らかの他と 違う特徴がないとほんとに俺用で終わってしまうな。 Rubyだってフリーで国産とか、イテレータとか、一応特徴あったしな。 LispやSmalltalkやPrologやPerlなどは言うまでもないし。
137 名前:デフォルトの名無しさん mailto:sage [2006/01/04(水) 01:24:14 ] Rubyが出てきた頃は、最初からオブジェクト指向を元に設計されてる スクリプト言語が無かった。 今では珍しくもないと思われるかもしれないが。
138 名前:デフォルトの名無しさん mailto:sage [2006/01/04(水) 02:21:53 ] Lisp系言語を作っても、ほぼLisp系言語愛好者(超少数派)しか注目しない しかも、Lisp系言語愛好者は多少浮気をしたところで、 必ず最後はメジャー(少数派の中でだが)なCLかSchemeに戻る したがって、どうあがいてもユーザーはほとんど出来ないだろうね
139 名前:デフォルトの名無しさん mailto:sage [2006/01/04(水) 02:24:17 ] え?Lispなんて超がつくほどメジャーな部類では?
140 名前:デフォルトの名無しさん [2006/01/04(水) 02:30:58 ] メジャーな言語一覧。 www.answers.com/topic/list-of-programming-languages ここに載ってないのがマイナーの条件。
141 名前:デフォルトの名無しさん [2006/01/04(水) 02:42:32 ] >>140 Hspとなでしこは世界ではダメだったか・・・ 世界的にはRubyのほうが知名度高いんだな。
142 名前:デフォルトの名無しさん mailto:sage [2006/01/04(水) 03:15:58 ] やっぱりLispですね 議論はここに戻る 遠回りするアホは嘲笑の対象だね
143 名前:デフォルトの名無しさん mailto:sage [2006/01/04(水) 03:24:58 ] お願いだから、あんまり Lisp を釣りネタに使わないでくれ。
144 名前:デフォルトの名無しさん mailto:sage [2006/01/04(水) 04:27:34 ] >>139 Lispがマイナー言語だとは書いてないだろ Lisp愛好者が超少数派と書いたんだ Lisp愛好者が多数派だと、本気で思ってるなら 死んだほうが良くねえか? 少なくとも、ボケ老人レベルの判断力としか思えんわ
145 名前:デフォルトの名無しさん mailto:sage [2006/01/04(水) 05:31:54 ] 全体の割合で見たら超少数派かもしれんが、 A言語愛好家、B言語愛好家、C言語愛好家、 〜言語愛好家って、たくさん見てけば超人数 多い部類だと思うが。
146 名前:デフォルトの名無しさん mailto:sage [2006/01/04(水) 05:40:35 ] "Cが好き" の検索結果 約 440 件 "Lispが好き" の検索結果 約 316 件 "Javaが好き" の検索結果 約 259 件 "Rubyが好き" の検索結果 約 186 件 "C++が好き" の検索結果 約 175 件 "Perlが好き" の検索結果 約 134 件 "Pascalが好き" の検索結果 約 57 件 "Basicが好き" の検索結果 約 25 件
147 名前:デフォルトの名無しさん mailto:sage [2006/01/04(水) 05:49:19 ] Lisp愛好者って最近になってちょっと増えたんじゃないか? 高学歴の若者にファンが多い気がする。
148 名前:デフォルトの名無しさん mailto:sage [2006/01/04(水) 05:55:12 ] >>146 "Cが好き"は別回答含んでねぇか?
149 名前:デフォルトの名無しさん mailto:sage [2006/01/04(水) 06:02:24 ] ウェブ全体から検索で "I love Ruby" の検索結果 約 21,500 件 "I love Java" の検索結果 約 17,200 件 "I love C" の検索結果 約 13,800 件 "I love Perl" の検索結果 約 9,980 件 "I love C++" の検索結果 約 1,610 件 "I love Basic" の検索結果 約 1,290 件 "I love Lisp" の検索結果 約 310 件 いろんな意味で m9(^Д^)プギャー!!
150 名前:デフォルトの名無しさん mailto:sage [2006/01/04(水) 06:09:34 ] vのあとのlは比較的発音しにくいからな。 likeにしてみると多少マシなんじゃないかな? やってないけど
151 名前:デフォルトの名無しさん mailto:sage [2006/01/04(水) 06:13:08 ] "Lisp hacker" の検索結果 約 17,200 件中 "Java hacker" の検索結果 約 14,800 件中 "C++ hacker" の検索結果 約 1,540 件中 "Ruby hacker" の検索結果 約 969 件中