1 :
デフォルトの名無しさん :
2001/05/11(金) 00:26 ええ、そうですよ。 宗教論争ですよ。 くだらないですよ。 無意味ですよ。 でもまあいいでしょ?
HSP
Perl
国際語の英語。
エスペラント語。
tclかperlだろうな。 windowsだったらdelphi>>>>>visualc++だと思う。
Ada に決まっとるだろ、Ada にっ!
適材適所
9 :
マシン語 :2001/05/11(金) 01:11
どんな言語も最後はここへ回帰するんだよ。
10 :
デフォルトの名無しさん :2001/05/11(金) 01:12
Lispに決まってる。マジレス。
>>9 どんな人間も最後は死体になりますが
死体が人間として最高なわけありません。
12 :
母国語 :2001/05/11(金) 01:14
関西弁。誰とでも打ち解けやすいうえに感染する
>>11 多くの宗教は魂みたいなのを仮定して死後を最高と言ってみるけどな
14 :
11 :2001/05/11(金) 01:26
>>13 どの宗教よ?
キリスト教は神の教えに背くと死後に地獄に逝くぞ
って脅してますよ。
15 :
デフォルトの名無しさん :2001/05/11(金) 01:27
16 :
デフォルトの名無しさん :2001/05/11(金) 01:32
C++Builderだろ。
オカルト宗教板逝け
>>13 -15
最近schemeが最高に見える。>1
処理系がへぼいと遅いけど。
>>18 いえいえ彼らは本気です。
信仰とはそういうもんです。
Haskell>SML>Ocaml>Scheme>Lisp>>>>Ruby>C#>Ada >>>>C++
21 :
デフォルトの名無しさん :2001/05/11(金) 02:39
22 :
デフォルトの名無しさん :2001/05/11(金) 03:03
C++最高!
コンパイラ、OS、ゲームソフト、デバイスドライバを 作れない言語は、最高にはなれない。
最高デスカー?
最高デスcar? cdr!
27 :
デフォルトの名無しさん :2001/05/11(金) 05:42
DNMLが最高だよもん
28 :
デフォルトの名無しさん :2001/05/11(金) 06:36
ここでVerilogなんて言ったら怒られますかね。
29 :
デフォルトの名無しさん :2001/05/11(金) 08:53
やっぱりアセンブラだなー
あせんぶらぁ〜 勉強したいが〜 書籍在庫切ればかり〜
C#
やっぱりDelphi、て書くとまたVB粘着がからんでくるので やめとく。自分の好きなのが一番。
33 :
sage :2001/05/11(金) 09:51
>>29 >>23 意見からすると確かに同意。(w
CPUがみんなItaniumみたくなるなら、最高のEPICコンパイラは人間かもね。
34 :
あなたのうしろに名無しさんが・・・ :2001/05/11(金) 09:55
35 :
デフォルトの名無しさん :2001/05/11(金) 12:19
勝手ながらこのスレは以後、 「現在ある言語の中でどれが最高にきれいな言語か?」 に変えさせていただきます。 次回予告、 「現在ある言語の中でどれが最高に汚い言語か?」
36 :
35 :2001/05/11(金) 12:50
「現在ある言語の中でどれが最高にきれいな言語か?」 これにて終了。
38 :
35 :2001/05/11(金) 18:28
っていうか、36は俺じゃないんだよね。 まぁ、嫌ならいいやって感じ。
39 :
デフォルトの名無しさん :2001/05/11(金) 19:08
最高を決めるのは難しいかもしれんが、カスを決めるのは簡単だ
>>39 >>1 -38の代表としていわせて貰います。
お前は逝ってよし。
43 :
デフォルトの名無しさん :2001/05/11(金) 19:42
>>10 Lispかぁ…、確かに否定できないところがありますが…
10=43=Lisp信者 白々しいぞ。
45 :
デフォルトの名無しさん :2001/05/11(金) 19:50
haskellだろ?
Lisp系 v.s. ML系か。 こうなると思ったよ。
47 :
デフォルトの名無しさん :2001/05/11(金) 22:17
独断と偏見でノミネート Lisp系最強 -> Scheme (美しさと自由度の高さではNo.1) ML系最強 -> Objective CAML (実装が優れてる) FP系(?)最強 -> Heskell (HaskellはML系?) OOP系最強 -> Eiffel (実装の完成度が高くなればSatherか?) 最強といったらやはりHaskellかな。 しかし、私はFORTRANプログラマー(涙)
>次回予告、 >「現在ある言語の中でどれが最高に汚い言語か?」 VBとHSPの二大巨頭を凌ぐものがあるかどうか?
>>47 Ocamlねぇ……
SMLのが優れてると思うのだがなぁ
50 :
デフォルトの名無しさん :2001/05/11(金) 23:32
C++買おうと思ってるんだけど Delphiのほうがいいの? Delphiって上級者向け?
てきとーに COBOLとかいってみる
>>50 C++買う?
VC++?
そんなもの買わないでg++使え。
53 :
初期不良 :2001/05/12(土) 00:50
なんか大学で moduler やらされそうなんですけど、 これってどうなの?
>>51 確かにCOBOL処理系って最高(最も高い)
56 :
デフォルトの名無しさん :2001/05/12(土) 01:27
どれが最高っていうと。 とりあえずオールマイティなところでC言語かな?
>>56 このスレ初登場(笑
僕もCは結構いいかと。
でも最高じゃないな。
HaskellとProlorgに似ているMercuryという言語も気になる。
59 :
デフォルトの名無しさん :2001/05/12(土) 04:45
hspでしょ
60 :
デフォルトの名無しさん :2001/05/12(土) 04:46
cls万歳
このスレ読むとつくづく、優れたものが売れる、 人気を博すものではないなと思う。 両方とも兼ね備えたもので言えばJava, C#かな。
アホが圧倒的に多いから、アホでも使える言語が売れるんだよ。 これが現実だよ。
>>62 アホでも使える言語があるとしたらそれはそれで素晴らしいものだと思うぞ。
問題なのはMSがアホなことだと思うぞ。
64 :
久保晶彦 :2001/05/12(土) 08:47
もちろん、世界標準BASIC。
66 :
久保晶彦 :2001/05/12(土) 10:26
>>65 / ̄ ̄ ̄ ̄ ̄ ミ
/ ,――――-ミ
/ / / \ |
| / ,(・) (・) |
(6 つ |
| ___ | / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
| /__/ / < なわけねえだろ!
/| /\ \__________
67 :
デフォルトの名無しさん :2001/05/12(土) 12:05
>>63 MSに入れるのは相当の実力者か高学歴者。
少なくともお前よりは頭がいい。
68 :
デフォルトの名無しさん :2001/05/12(土) 13:00
あほでも使える処理系を作ってあほプログラマ相手に商売するよりも、 あほでも使える処理系が不要になる世の中をみんなで作るべきだと思う。
69 :
デフォルトの名無しさん :2001/05/12(土) 13:22
>>68 ・あほが処理系を使おうとしなくなるような世の中ってこと?
・全てのあほをスキルアップさせてあほじゃなくするってこと?
あほ差別スレ
71 :
デフォルトの名無しさん :2001/05/12(土) 14:09
あほといったら坂田
72 :
全国の坂田さんへ :2001/05/12(土) 14:24
坂田差別スレ発見しました!
73 :
デフォルトの名無しさん :2001/05/12(土) 15:57
COBOL
74 :
ムネヲ :2001/05/12(土) 16:09
ん?
75 :
デフォルトの名無しさん :2001/05/12(土) 17:01
Javaだめすか・・・。僕はこれからはJavaだっ!なんて言って勉強してるんです けど厨房すか・・・?やぱCとかがいいんすか?マジレスきぼんす
76 :
中途半端くん :2001/05/12(土) 17:21
>>75 マジレス。
JAVA でもいいと思います。
C も当分の間はバリバリの現役でしょう。
でも、本当に大事なのは、3つ。
創造する心。 論理的な思考。 打算。
77 :
デフォルトの名無しさん :2001/05/12(土) 18:47
LoveViewはどうなの? 愛の景色だよ!愛の景色!
ヽ( ´▽`)ノ (or lisp scheme)使ってると、他の言語がカスに見えるよ>77
80 :
デフォルトの名無しさん :2001/05/12(土) 19:22
schemeは確かに面白いという意味では最強だと思うけど。
81 :
デフォルトの名無しさん :2001/05/13(日) 06:53
Smalltalk-80 の VM みたいにウィンドウやら何やらが (当然自己記述で)整備された Lisp 系言語+VMって何か ないのかなあ。 昔から欲しいんだけど。
>>81 schemeなら色々目撃しますよ、そーいうの
VMに直すってことはコンパイラがある処理系って事ですか?
tk使ったやつとか。
LISPは知りません。xyzzyとかは?
lispが最高といってる人はhaskellやMLを知らない人だろ。
84 :
75 :2001/05/14(月) 10:12
>>76 うおーん、なんか安心しました、ありがとう
さあ勉強するぞ
85 :
デフォルトの名無しさん :2001/05/14(月) 11:01
自称最強 Programming Language NO.1 !
87 :
デフォルトの名無しさん :2001/05/14(月) 13:19
C++。 WinアプリならツールはVC++使う。
88 :
デフォルトの名無しさん :2001/05/14(月) 14:20
>>81 SymbolicsのLispマシーンを何とかして手に入れなされ。
VMどころかLisp専用プロセッサだよ。
しかしMacIIfxに載せてた MacIvory(Macの拡張ボードとして動く
Lispマシン)の速度が、そのfx上のMac Common-Lisp に負けたのは
悲しかった。
俺が最高。
Lisp,scheme,haskell,MLのどれも知らないって人は答える権利ナス。
言語の文法が良くてもライセンスやドキュメントや実装が 駄目だとなぁ。
93 :
デフォルトの名無しさん :2001/05/15(火) 04:17
>91 >Winでゲームも作れる。 んなもんWndowsのインタフェースがあればどんな言語であれ作れるだろ。
winでゲームがtくれるから最強なのか?
Tくれるって強そうだ。
>>95 明らかに から って意の表現じゃないけど
最強の理由の一端にゲームをいれること自体をなんだかなぁ…
と思ってしまうのはゲームに偏見があり過ぎなのでしょうか…
ゲームが作れるぐらいだから色々できるんだろうなという想像はつく
99 :
名無しのアルゴリズム :2001/05/15(火) 16:45
本音と書いてマジレス 誰がなんと言おうと現在ある言語の中で最高なのは 「竜++」だろ?
100 :
デフォルトの名無しさん :2001/05/15(火) 18:44
>>91 ライブラリの実装は充実していますね。実用度では、Haskellの
上をいくかもしれない。だけどproprietaryな言語が生き残れる
のかな。Mirrandaの二の舞になりそうな気がする。
AoE RoR を作ることが出来る言語が最高。 他は存在価値が無い。
やっぱりgcの無い言語が良いでしょうか。 ちゃんと変数のスコープとかを取り決めれば必要ないですよね? 変数を持ち回る様であれば、それの破棄はユーザーに委ねると。 gcがあるとbytecodeやnativeに変換しても、gcのロジックだけは 残ってしまう様で・・。
103 :
デフォルトの名無しさん :2001/05/15(火) 23:32
Objective-C なんかいいですね。最近、アイマックとオーエステンと シュミでいじってるんですが、よくできてますよ。 生産性はC++よりも良いとおもいますよ(Pure. こうしてボクチンはマカーになっていくのであった。
104 :
デフォルトの名無しさん :2001/05/15(火) 23:55
>>101 で、AoE RoRはどの言語で書かれてるの?
どーせ知らないんでしょ。
105 :
デフォルトの名無しさん :2001/05/16(水) 00:04
VC++に決まってんじゃん 適当なバイナリエディタで開いてみ
106 :
デフォルトの名無しさん :2001/05/16(水) 01:39
〜を作ることができる言語が最強という言い方は気になる。 なぜなら、それは言語の責任じゃなくて、開発環境の 実装の責任だから。
>>106 そうか?
俺は例え最速だったとしても、BASICでAOEを作ろうとは思わないだろうな。
そういう考えだと、処理スピードも実装の責任かな?>106 高階関数や無名関数が書けるとか、OOPができるとか、 言語の機能で差別化するの?
>>107 だから106はそういう発想なんだが。
>>108 まあ、確かに実装のしやすさとかパフォーマンスの
良し悪しに文法が関わってくることもある。
そういうことなら納得できる。
110 :
デフォルトの名無しさん :2001/05/16(水) 03:17
HaskellとかMLとかで書かれたアプリって何でしょうか? 言語が優れていても、実務で使えない(使われていない)言語なら、 設計者のマスターベーションでしかないと思うのですが。 あと、最強/最高って言ってるけど、 オールラウンダーとして最高って意味でしょうか?
112 :
デフォルトの名無しさん :2001/05/16(水) 12:45
>>110 MLやHaskellはPlan 9みたいなもんでしょ。
113 :
デフォルトの名無しさん :2001/05/16(水) 12:47
最強は汚くても馬力がある言語。 最高はきれいで結構使える言語。 とりあえず最強はC++かな。
114 :
デフォルトの名無しさん :2001/05/16(水) 13:40
最強はPerl 最高はJava
C++に最強に馬力があるんなら、なんでLISPに開発効率で負けるんだ…
117 :
113 :2001/05/16(水) 22:15
118 :
デフォルトの名無しさん :2001/05/16(水) 22:34
おれDelphi使いだけど
>>117 の文章には感銘を受けるね。
119 :
デフォルトの名無しさん :2001/05/16(水) 22:47
>>101 それって DirectXとかも整備されてないと無理では?
120 :
デフォルトの名無しさん :2001/05/16(水) 22:52
AoEって? RoRって?
Anal of Earth Rm on Root
123 :
久保晶彦 :2001/05/18(金) 21:26
やっぱBASIC取り消し。 ギコBASICがいいぞ>おーる
schemeで決まり
lisp系のカッコお化け、萎えるなー。 カッコは3重以上ネストしちゃイカンよー。 4重5重もあたりまえの世界だなんて。。。
126 :
デフォルトの名無しさん :2001/05/19(土) 02:42
でもあのカッコが無いと、強力なマクロが出来ないらしい。 プログラム自体がリストになってて、リストをいじる感覚で プログラム本体をいじれるわけよ。カッコのおかげでね。
128 :
デフォルトの名無しさん :2001/05/19(土) 02:49
Lisp系ほど構文が単純なのはないような。
Lispはシンプルで美しいのは認めても、 それで仕事をする気になれません。
>>128 そうか?結局はif文もあるし、switchみたいなcondって文もある。
doもあるし、C系と比べて実質的には全然単純じゃないぞ。
確かに「構文」には入らないかもしれないけど。
133 :
デフォルトの名無しさん :2001/05/19(土) 03:01
マクロって参照を使える言語での関数定義とほとんど同じようなもんだろ? Cの関数定義では、絶対に同等のことが出来ないようなマクロって 例えばどんなやつ?
>>131 実はあまりLisp知らないのだが
Cとかだと
1+2って形とhoge(n)って形なのが
Lispだと
(+ 1 2)や(hoge n)
そのへんが好き。
中置演算子ってものが嫌い(笑
>>133 >マクロって参照を使える言語での関数定義とほとんど同じようなもんだろ?
違うだろ。
>>133 関数の引数に「プログラム」なるものを直接渡せるなら
その通りかもね。
>>137 C言語なら関数ポインタを渡すっていう手がありますね。
関数も一応型をもったオブジェクトとして扱えなくもないです。
せめてCやC++でも高階関数や無名が使えればなあ。 そんなに無茶なことでもないと思うけど・・。 list_t map(int (*proc)(pair_t), list_t lis ...) { map1(list_t lis) { if (nullp(lis)) return nil; return cons(proc(car(lis)), map1(cdr(lis))) } maps() { 〜map1(car(lis))〜} } test(void) { list_t r = map(lambda(pair_t p){ 〜 }); display(r); delete r; }
>>134 パーサも楽だし、前置や後置ってのはいいと思うんだ。
Lisp、Scheme について言えば、ループをやたら再帰で表現するのが嫌だ。
さらに用いる変数を増やしてまで末尾再帰にするところが。
142 :
デフォルトの名無しさん :2001/05/19(土) 04:43
>>140 >変数を増やしてまで
これがどういう意味かわからないけど、
(let loop ()
(loop))
って末尾再帰も書けるよ
143 :
デフォルトの名無しさん :2001/05/19(土) 04:51
Eiffel
144 :
デフォルトの名無しさん :2001/05/20(日) 03:24
Dylan
>>145 たぶん、どっかの厨房がカッコつけて自分の知ってる名前を挙げただけだろ。
148 :
名無し :2001/05/23(水) 20:58
用途にもよるけど、VisualC++
149 :
C + + 最 強 :2001/05/23(水) 22:39
無敵です。
無謀です。
オールマシン語は男のロマンです。
やっぱ C でしょ。好き好き大好き!
154 :
結論 :2001/05/26(土) 08:19
Scheme最高!
>>152 おうともさ!Z80アセンブラは世界一!
C3C3hは例外フック置き場!
156 :
デフォルトの名無しさん :2001/05/26(土) 11:14
アクションスクリプト☆
157 :
デフォルトの名無しさん :2001/05/26(土) 15:24
ハングルが最高です。 韓国エステのアガシより。
>>153 やっぱC++じゃん?
好き好き大嫌い!
68000
MSX BASIC
162 :
ななし :2001/05/26(土) 23:16
>>160 >155 を受けて68系アセンブラを言っていると思われる。
俺もアセンブラやるならせめて68系がいい。
163 :
デフォルトの名無しさん :2001/05/26(土) 23:20
SHは?
164 :
デフォルトの名無しさん :2001/05/26(土) 23:24
人類がコンピュータというバベルの塔を初めて手に入れた時から、 言語の違いによる宗教戦争は始まったのだよ。
Schemeに一票。
最高かどうかを客観的に決定出来る要因って何? 言語仕様は最高でも処理系の実装が しょぼければ仕方ないと思うが?
R3000 はレジスタ沢山あって楽しいよ(嘘
169 :
デフォルトの名無しさん :2001/05/29(火) 00:15
170 :
m4芯で :2001/05/29(火) 12:54
最低なら言える。 sendmail.confという言語(藁 autoconf(わしm4が嫌いなんだな)
171 :
デフォルトの名無しさん :2001/05/29(火) 13:14
C++でしょ。現状、C++を以上の言語はない。
>>171 Scheme, Haskell, MLなどの言語を使ったことある?
>>171 うんうん、
C++ヲイジョウの言語はないですな。
ヲイジョウって何?
今んとこC++かな。 慣れってのもあるけど。
>>172 激しく同意。
ついでにRubyも追加。
最低の言語っていうんなら同意なんだが。
C++はCよりははるかに上だから最低ではない。
179 :
デフォルトの名無しさん :2001/05/30(水) 06:52
>>145 -146
Eiffelのいいところ?
Delphiのような MS-Windows用のコンパイラがある。
速い。
静的型付け 動的束縛 静的リンク
コンパイラは
オーバライドされてないメソッドはinlineに
オーバライドされたメソッドはvirtualにする。
継承はpublic継承のみ。
多重継承ができる(同じクラスを複数継承できる)。
総称がある。
演算子オーバーロードができる(演算子フィーチャーという)。
friendに似た?exportというものがある。
オーバーロードができない(Eiffelには必要ない)。
クラス変数がない(なくてもいいと思うけど、あるといいな)。
列挙型がない。
クラスをprimitiveにできる(expandクラスという)
Foo a ... a :expand Foo
Foo* a ... a :Foo
ガーベージコレクタがある。
表明がある。
SCOOPというスレッド機構がある。
動的リンクができる(EDL)。
他言語へのインタフェースがある。
>>170 ふつー m4 に食わせるソースは *.mc で、作成した設定ファイルは
sendmail.cf だと思う。sendmail.conf ってのは初めて聞いたよ。
181 :
デフォルトの名無しさん :2001/05/30(水) 11:05
VMさえ信用できるものであれば、Javaが最強なんじゃないか? と最近思えるようになってきた。病気かな?
>>181 最高じゃなく最強か…。
だったら間違ってはないと思うよ。
183 :
(=゚ω゚) :2001/05/30(水) 14:04
Lua もいいとおもうょぅ
SQL #値段は最高…かな?
185 :
デフォルトの名無しさん :2001/05/31(木) 16:48
JavaはSunの囲い込みで学術的な香りがない。 面白みが無い。
186 :
デフォルトの名無しさん :2001/05/31(木) 16:52
187 :
デフォルトの名無しさん :2001/05/31(木) 17:12
>>185 確かに言語自体には学術的な香りはないが、
VMまわりとか、Javaを使った研究とかだと結構あるよ。
age
189 :
デフォルトの名無しさん :2001/05/31(木) 23:36
>>179 >速い。
って、何かと比べてってことだよね?
何と比べて?
>>179 メンバメソッド名やメンバ変数名のリネーミングができるでしょう。
サブクラスがスーパークラスのメンバの名前を変更して重複を避ける機能。
これC++に欲しいなぁ。
んでやっぱC++最強。高い自由度と高いパフォーマンスを両立し、
そこそこ高い安全性を備え、現時点で最も使える。
Kylixを使いたいけど、ObjectPascalなんて貧弱な言語使いたくないよ〜。
はやくC++版出ろ。
Builderじゃいかんの>190
最高の言語なんて、存在しない。 あるのは、最高の環境のみ。 自分が使いたい言語を全てコンパイル(アセンブル)でき、 必要に応じて、それらをリンク&デバッグできる環境が 自分にとっての、最高の環境。 どんなに使える言語でも、一長一短、ありますからね…。(^^;
もちろん、そんなものは、存在しませんが…。
今の所は。
C++が最強なのって、パフォーマンスとか、VCとかがWindows に調和してる点とか知名度でしょ。 LispやMLを知ってると、C++は言語的には本当に糞に思えるよ。
C++は言語構造は複雑だし、オブジェクト指向言語としても完全ではなく、 安全性もそこそこでしかない。 しかし全体の平均レベルは高い。まぁ悪く言えば、妥協点がうまい。 スキルの高い人がメンバーにいれば間違いなく最強の言語になるものの、 誰も使いこなせないとボロボロになる諸刃の言語。 Javaは言語構造は比較的シンプルだけどLispに比べたら複雑すぎるし、 パフォーマンスも悪く、タイミングクリティカルな業務に向かない。 安全性は言われているほど高くなく、C++よりマシな程度で、 厨房開発者しかいない職場ではメチャクチャなコードが氾濫している。 Lispはコンパイラの作りやすさや感覚的な美しさがあるけど、 ある程度の知恵を持つ人じゃないと使いこなしにくい。 メンテナンス性が悪く、大規模な開発にむいてない。 実用性には大きな疑問が残る。 C言語はパフォーマンスが高く習得も容易だけど、 安全度が致命的なくらい低く、規模が大きくなりすぎると破綻しやすい。 いい言語だけど、オブジェクト指向普及の弊害になるので早く消えるべき。
>>195 Lispの良さはコンピューターやコンパイラのためのものであって、
人間のためのものではない感じがするんだよね。
198 :
デフォルトの名無しさん :2001/06/01(金) 01:01
>>189 何かと比べてというよりC++やDelphiのように実用的な速さという意味です。
>>190 >メンバメソッド名やメンバ変数名のリネーミングができるでしょう。
>サブクラスがスーパークラスのメンバの名前を変更して重複を避ける機能。
>これC++に欲しいなぁ。
そう思います。それと
>コンパイラは
>オーバライドされてないメソッドはinlineに
>オーバライドされたメソッドはvirtualにする。
があると、もっといいなと思います。
Eiffelコンパイラってかしこい。
C++でも可能だとおもんだけど・・・
日本語・・・ きれいな言語じゃぁ〜
自然言語できれいなのはLatinが定説らしいが、
あえて日本語をあげた理由を述べよ。
>>199
母/子音が少ない>200 (最もではないけど)
>>200 まず 「ひらがな」 がいい!
おれはひらがな好きさ。
以下考え中・・・
203 :
198 :2001/06/01(金) 01:44
C++でも可能だと思うんだけど・・・
204 :
デフォルトの名無しさん :2001/06/01(金) 01:45
>>196 多層型も高階関数もクロージャもラムダ抽象も無いC++が最強?
冗談もほどほどにしてくれ。
>>204 どれも必須とは思えないが??
これらが必須なのはlispだからだろ?
>>204 lispにはtemplateはあるのか? と聞いているのと同じだぜ。。。
208 :
デフォルトの名無しさん :2001/06/01(金) 02:29
多層型ってなんですか?>204 (検索しても関係なさそうなのが沢山引っかかる)
209 :
ななし :2001/06/01(金) 02:30
>>197 「人間のためのものではない感じ」
その通りだと思うよ。フリーのLisp系言語はものすごく多いん
だけど、暇な学生が手軽に作れるからね。構造は単純だから。
でも、人間との意志疎通というか、ユーザーインターフェイス
をあまり考えてないよ。
lispにはtemplate以上のモノがあると思うけど>207
>>210 それはtemplateの実力を甘く見ている。
templateがすごいというよりは、どちらもそれなりってだけだけどな。
ユーザーインターフェイスってなんの事ですか?>209 インタプリタ?
213 :
ななし :2001/06/01(金) 02:47
>>212 いや、悪い。プログラマを「ユーザー」として見たときの、
理解しやすさと言うか、そんなもの。機械語が最低だけど。
その性質のため、Lisp系が今後もっと脚光をあびることなんてないよ。
数学とかと違って、コンピュータの世界では重要なんだな、それが。
>>208 多相型でしょうかねぇ。
でもそれはC++にもあるような気がしますねぇ。
C++のそれとは違うものなのでしょうかねぇ。
C++は所詮動的にコードを作れない。Lispはまがりなりも作れる。 動的なコード生成があるととてつもない生産性を得られることがある。 つうわけでperl最強と。
>>211 lispのように基本的に(導入しようとしない限り)型の無い言語は
テンプレートが初めから基本的に使われているのと一緒だよ。
>>216 同じじゃないよ。
テンプレートは汎用性と厳密な型安全を高いレベルで両立している。
形無し言語のそれは、型安全がごっそり抜け落ちている。
218 :
デフォルトの名無しさん :2001/06/01(金) 15:02
>>217 でも汎用性はテンプレートより上。
あと、LISPは動的ながらも型ありに出来るし、MLやHaskellは静的に
強く型付けされた言語だから完全にC++のテンプレートより上。
219 :
デフォルトの名無しさん :2001/06/01(金) 16:39
> 形無し言語 型無し言語じゃねえっての! ヴォケ氏ね。
でもLISPは静的な型ではない。
順調に宗教論争っぽくなってきました。
222 :
デフォルトの名無しさん :2001/06/01(金) 19:10
>>218 >でも汎用性はテンプレートより上。
これについてもう少し詳しく(理由を)聞きたいです。
>>213 理解できないのは単にキミの考えが浅いからだよ(w
それか、使いもしないでびびってるとかね。
メジャーにならないってのは同意するけど。
224 :
デフォルトの名無しさん :2001/06/01(金) 22:37
結局どーなのよ
>>218 Composite構造の汎用コンテナクラスがあったとして、
どんな型でも登録できるとするよね。
そして動物は自分の子供をこのコンテナに格納するとする。
さて、犬が持っている犬用のコンテナに
猫を登録してしまうことができないように、
猫が持っている猫用のコンテナに
犬を登録してしまうことができないように
制限するには、lispではどうするのでしょう?
なおこのコンテナはあくまで汎用的なコンテナで、
サードパーティから市販されている変更不可能なライブラリを使っているものとします。
226 :
デフォルトの名無しさん :2001/06/01(金) 23:05
VBだよ俺は日常生活もBASICで考えてるもん
227 :
デフォルトの名無しさん :2001/06/02(土) 00:29
>225 >犬が持っている犬用のコンテナに >サードパーティから市販されている変更不可能なライブラリ この2つの意味がよくわからないけど、 こんな感じでいいですか?ちなみにこれはschemeです。 (コンポジットになってないけど、想像してください) #lispでの実装は218が書いてね。 (define (動物創造 type) (let ((腹 '())) (lambda (行動) (case 行動 ((子作り) (動物創造 type)) ((腹の状態) (display 腹) (newline)) ((食事) (lambda (p) (if (and (pair? p) (eq? type (car p)) ) (set! 腹 (cons p 腹)) (error "食べられません" p))) ) (else (error "そんな行動できません" 行動)) )) ))
228 :
デフォルトの名無しさん :2001/06/02(土) 00:30
;テスト (define 犬1 (動物創造 '犬)) =>犬1 ((犬1 '食事) '(犬 bone)) =>ok ((犬1 '食事) '(犬 food)) =>ok (define 犬1の子供 (犬1 '子作り)) =>犬1の子供 ((犬1の子供 '食事) '(犬 food)) =>ok ((犬1の子供 '食事) '(猫 food)) =>error : 食べられません (猫 food) (犬1 '腹の状態) =>((犬 bone) (犬 food)) (犬1の子供 '腹の状態) =>((犬 food))
229 :
227 :2001/06/02(土) 00:37
Lisp schemeスレに書けば良かった・・
ちなみにわたしは
>>218 ではありません。
230 :
デフォルトの名無しさん :2001/06/02(土) 00:48
>>222 テンプレートの場合は、一定の形で使わないといけないだろ?
LispやMLなどの場合、やろうと思ったらどこでも変数の型を
<class T>のTに出来るといったらわかりやすいかな。
>>227 お、そうきたか。
型安全なコンテナをどう実現するかを見たかったんだけど、
コンテナを隠蔽して、コンテナに届く前に振るいにかけたんだね。
突っ込みたいところはあるけど、設問は満たしているから俺の負けとする。
>>230 一定の形で使えるのがいいんだよ。
膨大な量のコードの間違いをチェックすのが楽になるから。
lisp系の言語は、プログラマーが完全な人間であることを求められる。
>>227 のような、型チェックのコードも抜かりなく入れないといけない。
C++系の言語は、プログラマーは不完全な人間だという前提がある。
制約があるから負けているのではなく、制約を課すことができるメリットがあるんだよ。
232 :
デフォルトの名無しさん :2001/06/02(土) 01:03
Lispばかり話題になって、MLとかHaskellとかOcamlが静的な 型があることを忘れないでくれ。
233 :
デフォルトの名無しさん :2001/06/02(土) 01:05
>>231 >一定の形で使えるのがいいんだよ。
>膨大な量のコードの間違いをチェックすのが楽になるから。
でも柔軟性は無くなる。
それに、いっちゃなんだが、テンプレートよりもそれが無い
言語の方がすっきりしていてかえってチェックが容易。
>>230 >>233 MLでもファンクタやシグネチャ使ってC++のテンプレみたいな使い方もできるよ。
>>236 あれは型演繹するから、普通に全てがテンプレートみたいなものだよ。
ストラクチャはテンプレートというかむしろクラス。
シグネチャ使うのは特定のテンプレートに使う型を必要に応じて
一部に限定できるようなものかな。
ていうか、ファンクタ使うまでも無くデフォルトの型システムが テンプレートの代用になる。
240 :
デフォルトの名無しさん :2001/06/02(土) 18:49
つーか、「コンパイル」って解析段階があるから、 型チェックできるわけでしょ? インタプリタとして同じ土俵に立ったら似たようなもんだと思うけど。
241 :
デフォルトの名無しさん :2001/06/02(土) 19:06
ケースバイケースなのは確かですが ポインタを使った複雑なデータ構造が必要な場合 lisp,プロローグは使えませんよね。 だから、プログラムの本質が計算の場合は、Javaだと思います。 Javaを使えば、さまざまなアプローチで開発する事ができ、 C++よりも、極端にはやく完成させられます。 プロローグやリスプを使うと、JAVAを使うよりも、 非常に簡潔に記述できるケースがたくさんあります。 しかし、JAVAにできて、lisp,prolorgにできない事が存在する以上 (問題解決という意味ではなく、コンピューターの動作の定義) JAVAを好んで使ってしまうのは仕方ないと思いまます。
HORON
ATL
LDAP
245 :
デフォルトの名無しさん :2001/06/02(土) 20:06
>>241 詳しい説明を希望。
パフォーマンスや静的動的の違いさえ除けば、lispに出来ないことは何も
ないという印象だから。ちょっと信じられない。
例えば、具体的にどういうコードが書けないの?
サンプルプログラムきぼーん
>>241 eqとかの同一性テストプリミティブの立場は・・?
247 :
デフォルトの名無しさん :2001/06/02(土) 20:16
Javaの方が曖昧な部分があってキモイけど>241
>>241 prolorgじゃなくてprologだよう。
それと確かにprologはプロローグって単語だが
言語のほうはプロログって発音するほうが普通かと。
MLはすごいよ。型そのものが抽象データ型なんだよ。 データ構造を扱うのにうってつけ。
250 :
デフォルトの名無しさん :2001/06/02(土) 20:27
>>241 そもそもLispとProlog使ったことあるのか?
C#マンセー。信者です
(setq a 1)は関数ではありません。
マイクロソフトのの犬め!>253
256 :
デフォルトの名無しさん :2001/06/02(土) 20:57
241 名前:デフォルトの名無しさん 投稿日:2001/06/02(土) 19:06 ケースバイケースなのは確かですが ポインタを使った複雑なデータ構造が必要な場合 lisp,プロローグは使えませんよね。 だから、プログラムの本質が計算の場合は、Javaだと思います。 Javaを使えば、さまざまなアプローチで開発する事ができ、 C++よりも、極端にはやく完成させられます。 プロローグやリスプを使うと、JAVAを使うよりも、 非常に簡潔に記述できるケースがたくさんあります。 しかし、JAVAにできて、lisp,prolorgにできない事が存在する以上 (問題解決という意味ではなく、コンピューターの動作の定義) JAVAを好んで使ってしまうのは仕方ないと思いまます。
258 :
デフォルトの名無しさん :2001/06/02(土) 21:29
おもろい
259 :
デフォルトの名無しさん :2001/06/03(日) 00:46
241に期待age!
260 :
デフォルトの名無しさん :2001/06/03(日) 03:53
今日のヒーローはこんなところにいたのか。 ヒーロー列伝スレッドがほしくなってきたな。 一日1人は観察できる。
一行ごとに突っ込みどころがあるな。実に名文だ。
263 :
デフォルトの名無しさん :2001/06/03(日) 05:41
265 :
デフォルトの名無しさん :2001/06/03(日) 11:37
なるほど
266 :
241 :2001/06/03(日) 19:01
レス遅れてごめんなさい なるほど、プロローグはプロログと呼ぶんですか まあ、プロローグができないデータ構造の例の説明なんて不要ですよね そもそも、そういう言語でない事が明らかなのは 実際にプログラムを書けばわかりますが (基本的に、バックトラックを用いた解探索なので・・・) LISPのデータは基本的にLISTです (pairと読んでましたっけ?でもってアクセス方法はcarとcdrですね) よってLIST以外のデータ構造は必然的に使えません 例えば、BTreeの実現もLISPで可能ですが、JAVAで書いた物とは メモリへのデータ割り当て方法(物理的というよりも方法論で)が違う事は 明らかですよね と書きましたが、LISPでBSearchする場合って どんなプログラムになります?? ソース乗っけられると痛いんで、 アルゴリズムお願いします>LISP好きさん >(問題解決という意味ではなく、コンピューターの動作の定義) それとも、この書き方がまずかったでしょうか?? 一番わかりやすい方法は LISP→JAVAの変換プログラムは、ちょっとめんどくさいですが、かけますが というより、LISPのインタープリターはCでかかれてたりして?・・・(笑 JAVA(C)→LISPはかなりきついですよね?? (ちなみに、見た目上同じ動作をするものは可能ですが、コンピューター(VM)に 同じ動作をさせる事は無理です)
267 :
Java知らず :2001/06/03(日) 19:30
JavaのBTreeって、どんな構造をしているのですか? ポインターやセルを扱える C や Lisp のほうが自然に表現できるような気がしますが… 可変長配列とかじゃないですよね?
268 :
中途半端くん :2001/06/03(日) 20:45
269 :
shige :2001/06/03(日) 20:46
ruby最高!
270 :
shige :2001/06/03(日) 20:46
Perl死ね。淫歩
271 :
>267 :2001/06/03(日) 20:49
オブジェクト変数とポインタの違いは何? 可変長配列って、ヒープかなんか想像してる? Cの扱うセルってなんじゃい? Java知らずってのは、Java初心者って意味か ごめん その程度の事は自分で調べればいいんじゃないかな? Cのポインタがわかってれば、JAVAの参照の意味も すぐわかると思うよ。 でも、LISPのセルでB木を書くのは・・・ ちなみに、Vectorって線形リストに変更したって噂を どこかで聞いた記憶が・・・
>ちなみに、Vectorって線形リストに変更したって噂を Javaのcollection apiだよね? そんなことはない、実装は配列によるリストだよ。
273 :
デフォルトの名無しさん :2001/06/03(日) 21:28
collectionってインターフェースだったりして・・・ >配列によるリスト ?
274 :
デフォルトの名無しさん :2001/06/03(日) 21:31
PL/1銀行の勘定系システムはほとんどこれ。
>>273 ArrayListと同じ実装ってことだよ。
日本語で何ていうんだ?可変長配列によるリスト・・・?
lispにもvectorあるよ
277 :
デフォルトの名無しさん :2001/06/04(月) 00:24
>>272 線形リストのVectorってどんな意味があるの?
278 :
デフォルトの名無しさん :2001/06/04(月) 00:41
>>266 >LISPのデータは基本的にLISTです
>(pairと読んでましたっけ?でもってアクセス方法はcarとcdrですね)
>よってLIST以外のデータ構造は必然的に使えません
ハァ?何言ってるの?LISPには配列もあるし、リストで色々なデータ構造
を作ることだって出来る。
>よってLIST以外のデータ構造は必然的に使えません
>例えば、BTreeの実現もLISPで可能ですが、JAVAで書いた物とは
>メモリへのデータ割り当て方法(物理的というよりも方法論で)が違う事は
>明らかですよね
これで、意味のある違いと言えば、パフォーマンスで違いが出るということかな。
でもJAVAがLISPよりパフォーマンスいいとは思えないが。
>と書きましたが、LISPでBSearchする場合って
>どんなプログラムになります?
はぁ?普通に書けると思うぞ。LISPだから、再帰を使うことになるだろうね。
> 一番わかりやすい方法は
>LISP→JAVAの変換プログラムは、ちょっとめんどくさいですが、かけますが
>というより、LISPのインタープリターはCでかかれてたりして?・・・(笑
>JAVA(C)→LISPはかなりきついですよね??
そうとは思えないけど。
もし仮にそうだとしても、LISPからJAVAに変換されたプログラムが
かなり読みにくく、人間に扱いづらいものならば、JAVAが優れている
とはいえないから、そのことを持って、JAVAが優れていると結論する
ことは出来ないと思うが。
LISPを知らないのに、 LISPではあれができないこれができないと 決め付けられるのが素晴らしい。
C→アセンブラは出来るが、アセンブラ→Cは出来ないからアセンブラ の方が優れていると言ってるのと同じだな。
lispは必要最低限の機能に絞ると、 とても小さく実装できるのは魅力だと思う。
284 :
266 :2001/06/04(月) 01:47
とりあえず、下から順にレスします >lispは必要最低限の機能に絞ると、 >とても小さく実装できるのは魅力だと思う。 私も1回目の書き込みでそのような事を書きました。 >C→アセンブラは出来るが、アセンブラ→Cは出来ないからアセンブラ >の方が優れていると言ってるのと同じだな。 論法としてはそうですが、 「C→アセンブラは出来るが、アセンブラ→Cは出来ないから」 これは偽ですね よって、「アセンブラの方が優れている」を肯定する事にならないのは 明らかですね 安易にだまされてはいけません(笑)>282 >ハァ?何言ってるの?LISPには配列もあるし、リストで色々なデータ構造 >を作ることだって出来る。 >>(問題解決という意味ではなく、コンピューターの動作の定義) つまり、メモリにどのような値が書き込まれるかと言う事です >はぁ?普通に書けると思うぞ。LISPだから、再帰を使うことになるだろうね。 質問の意図を理解してないと思います ちなみに、再帰はアルゴリズムとは言わないと思いますし 「LISPだから再帰」 というのも理解できません。 言語の制約から再帰を使わざる得ないという意味でしょうか?? ちなみに、JAVAでも再帰で処理しますが・・・・ 知りたいのは、ソースほど具体性はなく、アルゴリズムほど抽象的でない 説明です。 >パフォーマンス メモリ管理と、実行処理速度の話でしょうか? 私はそこまで詳しく知りませんが、常識的に考えれば ありえない話だと思いますが。 >もし仮にそうだとしても、LISPからJAVAに変換されたプログラムが 変換可能が意味する事は、記述可能と言う事です。 すなわち、変換不可能というのは、処理を記述できないという事です。 「読みにくさ」という度合いで、あれこれ考えているようでしたら、 見当違いな気がします。 私の書き方も悪かったのかも知れませんが、 (まだ20年しか日本語を使っていないので(笑)) もう一度読んでみてください。 ちなみに、配列があることは知りませんでした。 でも、線形リストはほぼ配列と同じなんで問題はないでしょう。 常にあげといてもらえば、また書き込みにきます。 忙しいので、ちょっと時間があいてしまいそうですが・・・
285 :
デフォルトの名無しさん :2001/06/04(月) 02:06
>>284 >つまり、メモリにどのような値が書き込まれるかと言う事です
で?何がいいたいの?JAVAの方がメモリの効率が良いといいたいの?
そうとは思えないが。
>ちなみに、再帰はアルゴリズムとは言わないと思いますし
>「LISPだから再帰」
>というのも理解できません。
>言語の制約から再帰を使わざる得ないという意味でしょうか??
再帰はアルゴリズムの性質を説明する言葉だろ。
LISPは再帰を使うことが簡単に出来るから、多くの場合
使うということ。BSearch程度なら別に使わなくたって
簡単に出来る。
というか、この辺に噛み付いてもしょうがないことだろ。
>ちなみに、JAVAでも再帰で処理しますが・・・・
>知りたいのは、ソースほど具体性はなく、アルゴリズムほど抽象的でない
>説明です
だから、普通に出来るっての。これだけの説明で十分だろ。
説明しろと言われても、普通にやれば出来ることに説明なんて
いるのか?
逆になんで出来ないと思うのかがさっぱりわからん。
>メモリ管理と、実行処理速度の話でしょうか?
>私はそこまで詳しく知りませんが、常識的に考えれば
>ありえない話だと思いますが
ハァ?何がありえないの?
JAVAよりLISPのパフォーマンスが良いということが、常識的
に考えればありえない話なの?(藁
>変換可能が意味する事は、記述可能と言う事です。
> すなわち、変換不可能というのは、処理を記述できないという事です。
>「読みにくさ」という度合いで、あれこれ考えているようでしたら、
>見当違いな気がします。
だから、記述可能をもって、JAVAが優れていると結論することは出来ない
っての。読みにくさや、拡張しやすさ等の要素も考慮しないと。
ていうか、JAVAをLISPに変換する方が難しいなんてどこからそんな
結論が出るんだ?で、そうだとして、なんでJAVAが優れてるんだ?
>ちなみに、配列があることは知りませんでした。
>でも、線形リストはほぼ配列と同じなんで問題はないでしょう
パフォーマンスに違いが出るだろ。
つーか、問題無いならいいだろ。
LISPはリスト以外のデータ構造も余裕で扱える。何も問題無い。
どこが問題かを指摘せずにこう言うのも何だが、イタスギル。
ある問題領域において、言語によって向き不向きが存在することを、 実例を出して比較検討するなら分かる。 また、どういった点において向いているのか向いていないのかも含めてだ。 (記述容易性や可読性など観点は色々あるだろう) 言語仕様によって問題解決のためのアプローチの違いが現れるのは当然であり、 特定用途に特化していない汎用言語であれば、 コード量や記述容易性の違いはあれ同じ事ができる。 *アプローチの違い LISPではプリミティブなデータ構造であるリストを活用するために再帰を良く用いる。 Javaは手続き型+オブジェクト指向なのでクラスでデータ型を規定し、メソッドでデータを逐次的に操作する。 第一、241氏のいう「できないこと」は不明瞭で意図がはっきりしない。
まあ、2ch初心者っぽいから、あんまり煽るとかわいそうだ。
>>284 >「C→アセンブラは出来るが、アセンブラ→Cは出来ないから」
>これは偽ですね
正気かよ。
>>291 やろうと思えば、アセンブラ→Cぐらいできそうだよね。
すごいソースになりそうだが…
>>292 Cでどうやって特定のレジスタを探すんだ?
>>293 同じ処理が出来ればいいのであって
使うレジスタまで一緒の必要はないだろ。
>>294 レジスタが違ったら同じ処理にならないだろ。
それとも人工知能でも搭載して同じ処理になるようにするのか?
アセンブラ以外でセクタリードとかできる?
297 :
241 :2001/06/04(月) 07:01
気になったんできてみました。 >285 ちょっと、よくわかってないようなので もう一度読み直してください >「C→アセンブラは出来るが、アセンブラ→Cは出来ないから」 たしかに、レジスタまで決めるのはきついかも知れませんが、 コンパイラは割り当て規則でももってそうなきもしますが・・・・ でも、私が言いたいのは メモリの内容であり、演算方法(処理方法)ではない事に注意していただきたいです。 そのレベルで、変換可能という意味では話の筋は通りますよね。 >実例を出して比較検討するなら分かる。 ん〜確かにそうですね。 例えば、LISPもオブジェクト指向で考えてもらうとして (データをひとまとまりとしてかんがえる) 話を進めますと、 100個のデータをリストorオブジェクトを使って ひとまとまりにした場合 C,JAVAでは、100個分のメモリ領域を一気に確保するのに対して、 LISPでは、100個のデータをリストで連結します 100個目のデータにアクセスする場合、 C,JAVAでは、メモリアドレスを指定して呼び出す(細かいところはわかりません) のに対して、 LISPでは、ポインタをたどって100個目のコンスセル(?)まで行かなくては いけない (ところで、これをするにはどうしてますか?? 100回のループを作って処理をするか? cdddd・・・・dddrって書きます? 処理的にはどっちが速いのでしょうか?? ) これでは、パフォーマンスのチューニングができない といいたかったのですが、 実際にLISPには、配列もあるらしいという事で、 もし配列が、データサイズとメモリアドレスを記録するようなものであれば 任意のデータ型が格納できそうですが、 どうなんでしょうか? ちょっとLISPの記憶が薄れているので、 BTreeとBSearchの例でもどなたか書いてもらえないでしょうか?? >コード量や記述容易性の違いはあれ同じ事ができる 241を見てください でも、いろいろ言ってきましたが 最良のプログラミング言語は、 (アセンブラはプログラミング言語といえないので考えません) 自分の考えた処理を 一番簡潔に速く書ける事ですよね 皆さんは何が最良だと思ってるんでしょうか?
298 :
デフォルトの名無しさん :2001/06/04(月) 07:02
間違えた cdddd・・・・・arですね
299 :
デフォルトの名無しさん :2001/06/04(月) 07:09
おれ結構いろんな言語いじって来たつもりだけど、 アセンブラほど単純でめんどくさくて それでいて興奮する言語は無かったな。 いまじゃ使いものになんないんだろーな。
アセンブラたん、ハァハァ
>>297 LISPのベクターは認めない、という事?
省略された部分を表示したら配列の事が書いてあった。 鬱だ。
ハードを直接いじった入りするプログラムは アセンブラじゃないと書けないらしいよ。
305 :
デフォルトの名無しさん :2001/06/04(月) 18:44
>>304 なるほど。認めないんじゃなくて知らないのか。
途中から読んでるんで経過を知らなかった。すまぬ。
でもなんでそれでLISP語ってるの?かなり謎なんだけど。
305で十分だとおもうが、
(define v (make-vector 100))
で、100個の要素のベクタが定義できて、
(vector-set! v 1 22)
(vector-set! v 50 34)
で、1,50番目に22,34がセット出来て、
(vector-ref v 1)
で22が、
(vector-ref v 50)
で34が得られる。満足?
>>297
307 :
297 :2001/06/04(月) 19:20
確かに、私のLISPの知識は浅かったようです。 プログラミング歴1年と2ヶ月という事で勘弁してください(笑 defstruct は構造体と同じ事なんでしょうか?? LISPインタプリターがどのようにメモリ管理をやっているのかに 興味がわきました。 配列は、どのように実現しているのでしょうか? Cのようにデータサイズ*要素数のメモリ領域を一気に 確保するというものではなさそうな気もしますが (PERLみたいな感じですかね) 暇を見つけて、LISP使ってみたいと思います お勧めのインタプリタなんてあります?(高機能なやつ希望) xyzzyはエディタとして使ってますが、 印刷する時の設定がいろいろできて得した気分です。 あと、C-x C-sですかね・・・ ちなみに、私はschemeを使っていました。 最近はLINUXがはやってるんで、LINUXでプログラムを書こうかと 思ってるんですが、LINUXで動くLISPなんてのもあるんでしょうかね?? で、結局のところLISPでは自由にメモリを管理できるのでしょうか?? 私のLISPの技術ではできませんが、 LISPに詳しい方はできるのでしょうか?? それとLISPのメリットなんてのもあったら教えてください
>>307 > ちなみに、私はschemeを使っていました
ネタだろ?ネタだと言ってくれ。
>>307 > ちなみに、私はschemeを使っていました
ネタじゃないならアルツハイマーの恐れあり。
診断してもらう事を推奨する。
このスレッドは、 「LISPを教えてください」 に変更になりました。
312 :
デフォルトの名無しさん :2001/06/05(火) 06:55
>>307 >Cのようにデータサイズ*要素数のメモリ領域を一気に
>確保するというものではなさそうな気もしますが
そうしてると思う。
scheme使ってるのになぜlispを使う?
(((((() . e) . d). c). b). a)
314 :
デフォルトの名無しさん :2001/06/05(火) 09:51
どうでもいいが、メモリメモリって、、、 javaでメモリ内での構造まで制御できるわけ? 実装依存なんじゃないのか?
316 :
デフォルトの名無しさん :2001/06/05(火) 22:16
Javaもlispもgc使うでしょ。 (gc使わないlispもあるかもしれないけど。) メモリ管理についてはあんまし変わらないのでは? それからlispのvectorは連続する領域取ってます。
>それからlispのvectorは連続する領域取ってます。 それは実装依存じゃなくて? (大抵の)JVMだって配列は連続する領域を取っているんじゃないの?
318 :
デフォルトの名無しさん :2001/06/05(火) 22:29
>>317 「実装依存」がどういう意味かわかりませんが、
アクセス時間はどの要素を参照しても一定になる筈です。
所で実装は見えなくていいんでは?
「連続する領域」って表現がまずかったですか?
C言語のmemcpyに相当する関数は多分無かったと思います。 vectorをコピーする場合、インデックス毎にアクセスするだけだから。 ということは、領域は連続していなくても良い? 内部である決まったブロック単位に分割して置くとか。 (gcで断片化されたメモリから連続する空き領域を探索するのは結構コストがかかる)
320 :
デフォルトの名無しさん :2001/06/05(火) 22:46
じゃあvectorってB-Treeみたいなのでも可? [[0 1 2 3][5 6 7 8][9 10 11 12][13 14 15 16]]
電波みたいでしたか・・。 出直してきます。
323 :
デフォルトの名無しさん :2001/06/06(水) 12:15
>>318 規定されているとおりに使うことが出来ればいいわけで、
VM内部での処理方法まで規定されているわけではない。
したがって、
>アクセス時間はどの要素を参照しても一定になる筈です。
これは保証されていない
324 :
デフォルトの名無しさん :2001/06/06(水) 15:04
>>321 どの辺が電波なんだ?
>C言語のmemcpyに相当する関数は多分無かったと思います。
この辺?
325 :
shige :2001/06/06(水) 18:00
るby
326 :
241 :2001/06/06(水) 23:15
SchemeがLISPの方言だって事くらい知ってますよ(笑 ただ、方言だから もっと優れたLISPがあるのかと思ってそういう表現をしました (もしかして、そういう突込みじゃないとか??) Schemeにも配列があったのでしょうか? 全てコンスセルでやってました。 >javaでメモリ内での構造まで制御できるわけ? ポインタわかります?? ポインタのたどり方によって、 データへのアクセス時間が変わってきますよね?? LISPのベクターってのは可変長配列なんですかね〜 連続って事は、サイズが変わるたびに領域を確保しなおしてるんですね 気分的にその動作は結構嫌いだったりするんですよね でもって、連続領域を確保するという事は、 配列にはアドレスとデータフォーマットがきっと入ってるんですね LISPにはどんなデータフォーマット(データ型)があるんですかね ちなみに、javaのgcはlispから勉強させてもらった 物だと本に書いてあったような記憶があります。 個人的には、gcじゃない方が良かったのですが、 それはjavaの設計思想に反しますから仕方ない事ですね ところで、 「やじ」も慣れると目に入らなくなりますね(笑 目に入る「やじ」は荒らしって言ったりするだけの事かも・・・ 「やじ」好きのみなさん、斬新な「やじ」お願いします ではでは
241って、"(笑"が多くて水野みたいだ・・・。
scheme*使ってた*のに配列も知らないとはどういうこと?
ひょっとして
>>325 -326 の流れ的に
shige=241ですか?
だったらほんとに病院行った方がいいと思いますが。
>>328 いやいや、
>>284 から推測するに、末尾再帰の最適化も知らんらしいぞ?(藁
それとも最近のJavaは末尾再帰の最適化がされるようになってるのか?
330 :
241 :2001/06/06(水) 23:52
>から推測するに、末尾再帰の最適化も知らんらしいぞ?(藁 うっ 知らないです・・・・ 末尾再帰ってなんですか? ついでに、 >241って、"(笑"が多くて水野みたいだ・・・。 も興味あり >scheme*使ってた*のに配列も知らないとはどういうこと? どうやって配列作るんですか?
241黙れ
このスレッドは、 「241です。Schemeについて教えてください。」 に変更されました。
>>330 、、、ごめん。俺が全部悪かった。すまん。許して。
241は真性厨房なんじゃないのか?
s/真性厨房/リアル厨房/
337 :
デフォルトの名無しさん :2001/06/07(木) 05:20
ada
338 :
デフォルトの名無しさん :2001/06/07(木) 16:17
>>326 schemeは最も優れたlispです。
schemeより優れたlispがあるならこっちが知りたい。
他の言語>>>>>>>>>>>>>>>>>>>>>>scheme>lisp ってことだな(藁 所詮lispってemacsのマクロ言語でしょ?
340 :
デフォルトの名無しさん :2001/06/07(木) 16:42
341 :
デフォルトの名無しさん :2001/06/07(木) 16:44
煽りにマジ反応するscheme信者痛い
ZetaLispを知らないの?
>>342 失礼な。
俺はScheme信者でなくLisp信者だ。
Kyoto Common Lisp を知らないの?
346 :
デフォルトの名無しさん :2001/06/07(木) 20:28
>>338 本当にSchemeがCommon Lispより上だと思ってるの?
確かに、Schemeは優れているけど、シンプルすぎて
実用性の点で少し劣ると思う。
ミニマル主義って言うのかな?
それはちょっと違うと思うんだよね。
ifとgotoがあっても、whileやforがあった方が良い
のと同じ。
347 :
!=338 :2001/06/07(木) 20:34
審美的にはSchemeが上。 実用的には…Lispもどっこいどっこい。Schemeも、 R5RSだけではダメだけど、たいていの実装にはいろんな 関数があるからね。
とりあえずこの板には関数型言語をさわったこともないのに けなす奴が多いな。無知まるだし。もっとも、おれはVBさわったことないがね。
Schemeは標準規格(現行R5RS)が小さい事による代償で、拡張実装が氾濫しています。 これはC言語でいう、環境依存部分の処理系特有のライブラリの様な物から、 CommonlispのCLOSの様な構文拡張や、コンパイラの出力コードの効率を 上げるための明示的型宣言とか。 SFRI(インターネットにおけるRFCの様な物かな?)という拡張仕様まである。 結果的に各処理系間での移植性はそんなに良くないのが現状です。 移植性という観点で見ると、CommonLispの方がまだマシな気がします。 実装が小さくできるのはいいんですが。 (ちなみにCommonLispの仕様満たす実装を1から作るのは大変な手間です。)
350 :
338 :2001/06/08(金) 01:03
Schemeが美しいってのには同意。 標準で定められてるライブラリが少ないので 自分で拾ってくるか、作るか。 使っていくにはそれなりの努力が必要。
352 :
338と350 :2001/06/08(金) 01:48
>>343 >>345 調べました。いろいろあるんだな〜。
lisp1.5とschemeとCommonLispとEmacs-Lisp以外知りませんでした。
人のことは言えません。
>>326 の人 すみません。
>>348 少しだけSchemeを触った上で批判してる奴もいたようだが。
まあ、無知だったけどな。(藁
>>352 現行の有名所って意味では
>schemeとCommonLispとEmacs-Lisp
の3つでいいんじゃない?
Kyoto Common Lisp(GCL)は、CommonLisp第1版の内容まで しか実装されてない、と昔聞きましたが。
>>354 CommonLispを作った時に結構みんな移行したからね。
今から思えば仕様の策定と同時に実装していたKClのおかげかもね。
>>355 うん。
言ってみただけ。
気にしないで。
358 :
デフォルトの名無しさん :2001/06/08(金) 04:45
>>355 つーか、KCl作ってた時は第1版も出版されるかされないかの時期。
XeroxのPCLベースのCLOSの実装ならあるが遅い。
Schemeに一票。言語の表示的意味を厳密に書ける言語は美しい。
日本語に一票。 構成の自由度と文章表現の多彩さはピカイチ。 難点はキャラクターコードが多すぎること。
>>361 難点というか、逆にそれは日本語の利点だろ。
漢字なくなったらよみにくくなちゃうよ。
難点は赤ちゃんの時から慣れ親しんでない限り、 習得が困難であること。
364 :
デフォルトの名無しさん :2001/06/08(金) 17:20
>>360 えっ、Scheme の Denotational Semantics って??可能なの。
365 :
デフォルトの名無しさん :2001/06/08(金) 20:28
Cでいいよ
すべてのループを再帰的手続きで記述すると何が嬉しいのですか?
368 :
デフォルトの名無しさん :2001/06/08(金) 21:27
ただのループじゃないよ
>>367 数学的な関数としてそのまま書けるのが重要なんだと思われ
(de (f n) (f n))
無限ループ(停止条件無し)
(de (f n) (if (= n 0) n (f (- n 1))))
nが0になるまで繰り返す有限ループ
どっちのfも末尾再帰なのでフレームを生成せず上書きする。
前者の上書き n -> nの評価結果
後者の上書き n -> (- n 1)の評価結果
370 :
B :2001/06/09(土) 00:30
CZX言語
全ての再帰手続きをループで表現するとなにが嬉しいんですか?
schemeは末尾再帰を最適化するよ。
再帰手続きはループだろ。>371
ループは再帰だろ。>374
for(;;){puts("recursive?");}
(define (recursive) (display "loop?") (recursive))
fun recursive s = (puts s;recursive s) recursive "Yes."
>375 for(;;){puts("recursive?");} が再帰か聞いてるんだけど? それともループじゃない?(藁
>>379 まあ再帰じゃないけど。
じゃあ再帰関数もループじゃないと思うが?
ツリーをたどる例とかもっと複雑な例を考えればわかると思うが。
ループでも表現出来る、という話なら再帰でも表現出来る、
という話と同じだと思うし。
まあなんで使うの?
という質問をみてなんで使わないの?と感じただけで深い考えが
ある訳じゃないが。
>まあ再帰じゃないけど。 ループは再帰なんじゃないのか? < 375 >じゃあ再帰関数もループじゃないと思うが? 意味不明。
ループごときでいちいち再帰を使われたら デバッガでトレースしずらそう。
ループってのが何をさしてるのかがわからんが。 SICPからのコピペなら、 (define (count-change amount) (cc amount 5)) (define (cc amount kinds-of-coins) (cond ((= amount 0) 1) ((or (< amount 0) (= kinds-of-coins 0)) 0) (else (+ (cc amount (- kinds-of-coins 1)) (cc (- amount (first-denomination kinds-of-coins)) kinds-of-coins))))) (define (first-denomination kinds-of-coins) (cond ((= kinds-of-coins 1) 1) ((= kinds-of-coins 2) 5) ((= kinds-of-coins 3) 10) ((= kinds-of-coins 4) 25) ((= kinds-of-coins 5) 50))) はループ?
わかりづらいのでもうちょっとシンプルな例。
http://www.edu.cs.kobe-u.ac.jp/Enshu6/2000/scheme_web/lambda_exercise.html#2 からのコピペだが、
(define (infinite-enumerate n) (cons n
(lambda () (infinite-enumerate (+ n 1)))))
(define (head inf-list) (car inf-list))
(define (tail inf-list)
(let ((rest (cdr inf-list))) (rest)))
(define (nth-inf-list n inf-list)
(if (= n 0) (head inf-list)
(nth-inf-list (- n 1) (tail inf-list))))
はループ?
別に、ループが良ければループにして、再帰にしたけりゃ 再帰にすればいいじゃん。 lispでループ使ったっていいし、Cで再帰使ったっていい。 好みの問題と効率等の適材適所の問題でしょ。
>386 話がずれまくってると思うんですけど。
386 > 385 ね
>>386 だから、今の話の方こそずれてると思うんだよ。
ただのいちゃもんの付け合いにしか見えないんだよ。
どこが?具体的に言ってくれ。
再帰はループだとか、いや、そうじゃないとか。 だから何なの? もともとは再帰の利点は何?って感じの話だったのに。
問いが議論に発展してはいけないと? >再帰はループだとか、いや、そうじゃないとか。 >だから何なの? Schemeを知ってますか?
392 :
デフォルトの名無しさん :2001/06/09(土) 04:27
だれか、ghc-5.00.1のwinバイナリ作ってくれ
すまん、俺が375でいった事を無駄に弁護したのがはじまりっぽいので。 375でいった事には間違いが多く含まれます、すみません。 で、再帰を使う利点、まで話を戻すと、 whileは再帰で実装する事が出来て、再帰で実装できる事でwhileで実装 出来ない事はある。 再帰はいろいろな事が統一的に扱えるのに、わざわざwhileを使う、 というのが何か嫌だ、という感じか? 再帰は帰納的考えがそのままあらわせて楽、というのもある。 もちろんタイプするのが面倒ならwhileというシンタックスシュガーを使えば いい。
whileがシンタックスシュガーというのは正しいんですか?一般的に。
whileは末尾再帰のシンタックスシュガーであったほうが好ましいんですか?
>>397 whileなんて使わないからどうでもいい。
whileが主要な制御構造の一つだったら気分的には嫌だが、それ以上
の被害は無いし。
399 :
デフォルトの名無しさん :2001/06/09(土) 08:53
>>383 SICP の count-change は樹状再帰で、末尾再帰じゃないからループ
にはならない。これを末尾再帰にするのは結構難しいよ。
>>383 -384
すげー保守性悪そうなコードだな。
優れているのかもしれないが、
俺はこれで仕事をしたくない。
>>401 383はおいといて、384はそんなに保守は悪く無いと思うが。
インデントが無いのでよみづらい、とは思うが。
少なくともテストが簡単に出来る分、Cなんかよりはマシ、
と思うけど。
lambdaがフレーム持ってる、という所がわかりにくいが、
馴れればシンプルで高い表現力が得られると俺は思う。
まあMLの方が読みやすい、といわれると反論する場所は無いが。
俺はこれで仕事がしたいが、会社はVC++(T_T)
>俺はこれで仕事がしたいが、会社はVC++(T_T) で仕事ができる会社ってあるんですか?
>>403 さぁ?
bitとかではよく使用事例の記事があったし、Webでも使われている、
というページはみるが、求人でScheme募集、ってみた事は俺は無い。
どっかにはそういう会社もあるだろうけど、極めて少数ではあると思う。
AIや言語関係の仕事とかならあるんじゃない? あと開発支援とか。
406 :
デフォルトの名無しさん :2001/06/10(日) 22:54
age
407 :
デフォルトの名無しさん :2001/06/10(日) 23:17
>>404 バイト先はKAWAで開発でしたが、何か?
408 :
デフォルトの名無しさん :2001/06/10(日) 23:30
>>407 kawaってJava上で動くschemeでしたっけ?
できればどんな分野の仕事だったのか教えてください。
409 :
デフォルトの名無しさん :2001/06/10(日) 23:57
エージェント
410 :
デフォルトの名無しさん :2001/06/11(月) 00:47
えーじぇんと?
>>407 おぉ、うらやましい。いいなぁ。
やっぱり仕事でもScheme使えれば楽しいだろうねぇ。
CとC++使ってると俺は暗い気持になる。
412 :
デフォルトの名無しさん :2001/06/11(月) 22:54
くらいきもち?
>>411 実行効率がそれを阻むからか?
scheme->cしてもgc回りは残るからねぇ・・
schemeがはやらない理由は何よ。
>>413 gcが残るだけでも問題なのくわぁ・・・。
416 :
デフォルトの名無しさん :2001/06/11(月) 23:05
javaも残る(っていうの?)ぞ>413 つーかgc使ってるやつみんな残る
417 :
デフォルトの名無しさん :2001/06/11(月) 23:10
gcはgc時間を分散できればそんなに問題にならないと思うけど。 昔自分で作ったscheme処理系は8割り方文脈&明示的開放で回収出来るようになった覚えがある。 (残り2割は継続で残る環境とschemeコードで明示的開放をしてない部分。)
419 :
デフォルトの名無しさん :2001/06/11(月) 23:19
dylanなんか、schemeの括弧無し版だと思ったんだけど、どうよ?
>>417 JVMのGCは、なんか進化していってるみたいだよ。
フル(ゴミ一斉掃除)GC→
インクリメンタル(ちょっとずつ)GC→
コンカレントGC(GC用スレッド並列常駐)→
パラレルGC(別CPU同時実行)(オイオイ、ホントカヨ…)
421 :
デフォルトの名無しさん :2001/06/11(月) 23:29
>>414 大規模なプログラムに対して型無しなのが致命的なのでは。
>>420 >パラレルGC(別CPU同時実行)(オイオイ、ホントカヨ…)
何か問題あるのか?
423 :
デフォルトの名無しさん :2001/06/11(月) 23:32
HaskellとMLとSchemeの中じゃどれが最強? 近親憎悪の罵り合いきぼ〜ん。 でも煽りじゃないよ。本当に知りたいのだ。
どれが最強つーか、目指す所が違うんでは>423 でもHakellとMLは近いのかな?
>>421 型無し、つーかインタプリタだからなんじゃ?
型有りにしようと思えばできるし。
>>425 ソリ―。型無しじゃなくて、静的な型チェックがないよね。
Schemeがはやらないのは、括弧ばかりで初めは読みにくいし '記号がわかりにくく、マクロやラムダ関数の定義が読みに くいからでしょ。 静的な型が無いのも一因かな。 Dylanは良い言語みたいだけど、appleがDylan関係の プロジェクトを打ち切ってしまったらしい。
はじめだけだよ>427 quoteも判らんかった様な奴に何言っても無駄だとは思うけどさ。
最初からいきなり慣れを要求してどうする。 それって敷居が高いと自ら認めているようなものだ。
430 :
デフォルトの名無しさん :2001/06/18(月) 06:55
loopは線形再帰ですか?
Scheme が流行らないのは、難しいとかいう話じゃなく やってみようと思う人が少ないのがイカンのかと。
まあ、Dylanなら流行る可能性はあったんだけどねぇ。 Schemeと違って静的な型があったようだし、普通の書き方をする。
433 :
デフォルトの名無しさん :2001/06/20(水) 07:21
lisp,schemeは `ABC LOGOは "ABC Smalltalkは #ABC
434 :
訂正 :2001/06/22(金) 00:21
lisp,schemeは 'ABC LOGOは "ABC Smalltalkは #ABC
(゚д゚) ( ) が大量発生してる、ださださ言語は逝って良し!!! C++さいこー・・・ GCは羨ましいけど・・・
>>435 C言語 f(x y)
lisp (f x y)
括弧の数は変わりませんが?
>>436 C言語 3 + 4
Lisp (+ 3 4)
>>438 インタプリタは問題外だろと思うけど。
実行速度なんてものは、CPUの速度でなんとかなるんだよな・・・
っていうかperlみたいにコンパイラあるのかな?
それよりも end っていうのかダサい気がするなぁ。
直感的ぢゃないっていうか、うーん。
{ } じゃまずかったんだろうか・・・
それ以外は(・∀・)イイ!!と思うヨ。
ちゃんと解ってる人が書けば、
C++はそんなに悪い言語じゃないと思う・・・
440 :
アーヒャヒャヒャヒャヒャヒャヒャ・ :2001/06/25(月) 19:31
アーヒャヒャヒャヒャヒャヒャヒャ
()の大量発生なんて、あまたある利点の前ではどうでもよろしい。 プログラムをファーストオブジェクトとして扱えないダサダサ言語は逝って良し。
>>441 アプリを作れない言語に利点なんかあるの?
エディタなんかじゃなくてさ、ワープロ、DTP、
表計算、ブラウザ、なんでもいいから見せてみろよ。
どうせ、テキストベースの腐ったインターフェイスのものを
作るのが関の山だろう?
ぷ。ダサダサ言語って当然lispのことだよね?
VBは大嫌いだけど、lispよりかはまだマシだな。
凄腕のハッカーたちが寄ってたかって愛用しているわりに、 何も生み出されない糞言語lisp。 ソフトが作れりゃいいってもんじゃないが、 それにしても結果が残らなさ杉です。
444 :
SE :2001/06/25(月) 23:48
Cobolがさいこー 俺の経歴は、汎用機だけで20年。 仕事くれー。
445 :
デフォルトの名無しさん :2001/06/26(火) 00:00
C言語[C89] (*funcp)(3) Lisp[Scheme] (funcp 3)
442=443 煽ってるつもりなのかなあ・・
perlとはいわないけど、正規表現が標準で付いたらいいね。
>>446 ちゃっかり凄腕ハッカーがよってたかって愛用とか言って誉めているから、
きっと彼はLisp信者だろう。
450 :
デフォルトの名無しさん :2001/06/27(水) 04:04
汎用性と速度と保守性と再利用性の最適バランスは 時代によって変わる。 いま最も旬なのはObject Pascal(C#を含む)かな。
>>450 C# is_a ObjectPascalなのか?
せいぜい親戚関係のいとこなのでは?
C#って速いの?汎用性も疑問だけど>450
さまざまな形式的言語を検討したが、本仕様を記述するには 自然言語を採用することに決定した。 -- PofO --
454 :
デフォルトの名無しさん :2001/06/27(水) 19:31
lispは見づらいのでforthがいい。
どれも最低
言語の背後にある思想を勉強してると、あんまり同意できん。 非常に頭を使って言語設計がなされてるのを知ってるから・・・
458 :
ぴ :2001/06/28(木) 00:39
やっぱり、最高の言語は、Adaでしょう
言語の良し悪しを決めるファクターはいろいろあるだろうけれど、 個人的に興味があるのは、標準コンテナの整備具合。 C言語は固定長配列しかコンテナがないから問題外として、 JavaやC#はコンテナが型安全でないところに不満がある。 今のところC++しか俺の期待を満たしてくれるものは知らない。 ところでDelphiにはコンテナがあるの? ずっと前から気になっていたんだけど、誰か教えて。
>>459 Javaはそのうち標準でGenericサポートになるよ。
JDK1.5かららしい。
461 :
デフォルトの名無しさん :2001/06/28(木) 02:49
462 :
デフォルトの名無しさん :2001/06/28(木) 03:29
エレガントなPASCALが好き
463 :
デフォルトの名無しさん :2001/06/28(木) 03:45
Prolog
PASCALが生き残ってるのはBorlandのおかげ
Prologが死んだのはBorlandのせい
Turbo Prolog
Prolog Builderできたとしても、使う人がいるのだろうか...
Pythonも捨てがたい。エレガントの一言に尽きる。 HSPみたいにスパッとEXEを作れりゃ、なお良いけど。
470 :
デフォルトの名無しさん :2001/06/28(木) 23:49
471 :
デフォルトの名無しさん :2001/07/12(木) 14:04
472 :
(・Θ・)ノチー :2001/07/12(木) 14:55
mltonも意外に。
>>471 そこのC++のソースひどすぎ。
Cのソースを元に、出力だけcoutに変えただけで、
クラスも仮想関数もテンプレートも全く活用してなくて、
これがC++の実力だと思われたらかなわん。
>>471 http://www.bagley.org/~doug/shootout/bench/matrix/matrix.g++ そこのサイトにあるソースのあまりにひどさにショックだったので
ちょっと書き換えてみた。
#include <iostream>
#include <vector>
#include <stdlib>
using namespace std;
class CMatrix
{
private:
vector<vector<int> > m;
int m_Rows, m_Cols;
public:
CMatrix(int rows, int cols);
void Clear();
friend CMatrix operator*(const CMatrix &m1, const CMatrix &m2);
friend ostream& operator<<(ostream &o, const CMatrix &m);
};
int main(int argc, char *argv[]) {
int n = ((argc == 2) ? atoi(argv[1]) : 1);
const int size = 30;
CMatrix m1(size, size), m2(size, size), mm(size, size);
for (int i = 0; i < n; i++) {
mm = m1 * m2;
}
cout << mm << endl;
return EXIT_SUCCESS;
}
続き。 CMatrix::CMatrix(int rows, int cols) : m_Rows(rows), m_Cols(cols), m(rows) { int count(1); for (int i = 0; i < rows; i++){ m[i].resize(cols); for (int j = 0; j < cols; j++) { m[i][j] = count++; } } } void CMatrix::Clear() { for (int i = 0; i < m_Rows; i++) for (int j = 0; j < m_Cols; j++) m[i][j] = 0; } CMatrix operator*(const CMatrix &m1, const CMatrix &m2) { //assert(m1.m_Rows==m2.m_Rows && m1.m_Cols==m2.m_Cols); CMatrix result(m1.m_Rows, m1.m_Cols); for (int i = 0; i < m1.m_Rows; i++) { for (int j = 0; j < m1.m_Cols; j++) { int val = 0; for (int k = 0; k < m1.m_Cols; k++) { val += m1.m[i][k] * m2.m[k][j]; } result.m[i][j] = val; } } return result; } ostream& operator<<(ostream &o, const CMatrix &mm) { return o << mm.m[0][0] << " " << mm.m[2][3] << " " << mm.m[3][2] << " " << mm.m[4][4]; }
476 :
デフォルトの名無しさん :2001/07/13(金) 16:20
君たちの頭の中はもうすこしなんとかならんのか?
たしかにひどいな。
478 :
schemer :2001/07/13(金) 22:42
括弧は、気を付けて書けばそんなに増殖しないよ。 逆に、インライン展開しまくって、括弧、ネストの嵐にすることもできるけど。 コードの最適化方法をユーザー側で簡単に追加/変更できるのは魅力だと思う。 処理系が小さいから自作&組み込みが比較的楽だし。 書いてて楽しい言語だよ。
479 :
デフォルト :2001/07/14(土) 02:19
やっぱ、Adaかな
480 :
デフォルトの名無しさん :2001/07/14(土) 02:25
Adaの良い点って何よ>479
最高の言語といったら日本語しかないだろ。 日本語>>>>>>>英語>ちょん語 ってところか