トップページ⇒tech
1001コメント290KB

最も美しいプログラミング言語は? Part2

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん2009/05/16(土) 23:39:27
最も美しいプログラミング言語は何か語りませう。

最も美しくプログラムを書ける言語はなにか?ということです。

言語名と理由を書いてください。
0153デフォルトの名無しさん2009/09/07(月) 12:14:59
>>152
"Priier"を読んで大掴みに体験してみて、"learning J"でもう少し細かい所を見てみるのがいいと思う。
と言うか、俺がそうしたんだが。
0154デフォルトの名無しさん2009/09/07(月) 12:15:59
>>153訂正
"PRiier"→"Primer"
0155デフォルトの名無しさん2009/09/07(月) 13:06:56
>>154
ありがとうございます。これですね。読んでみます。
http://www.jsoftware.com/help/primer/contents.htm
0156ちんこ ◆GbXlaaQNk. 2009/09/07(月) 18:35:14
今日、手続き型で思い切り書いてみたら、とんでもないことになった。
上から入れたものが下の方でどうなってるのか、さっぱり分からなくなった。
ちなみに再帰的な処理。
やっぱり手続き型は害悪だと思うんだよね。
0157デフォルトの名無しさん2009/09/07(月) 19:25:53
最も美しいプログラミング言語?
HSPに決まってんだろw
0158デフォルトの名無しさん2009/09/08(火) 01:37:45
LispのLOOPとFORMATは、きれいじゃないなぁ、と思いつつ代替案が思いつかないな。
あと、マクロってどうやってデバッグするんだよ、って思っちゃう。
0159デフォルトの名無しさん2009/09/08(火) 08:12:42
>>68
マイクロコードの先はマシン語ではなくて、hard-wired なんじゃないの?
0160デフォルトの名無しさん2009/09/08(火) 10:18:49
>>156
FORTRANを作ったバッカスも、手続き型は害悪だと思っていたみたいです。
0161デフォルトの名無しさん2009/09/08(火) 11:34:30
はてな人力検索:
関数型言語(プログラミング言語Scheme, Haskellなど)を勉強しようと思っています。
初心者にも関数型言語のメリットや考えかたがスラスラ分かる勉強の材料を教えてください。
言語の習得よりも、関数型言語の考え方の習得に重きを置いています。
http://q.hatena.ne.jp/1143714236

回答がなかなか有用だと思います。
この質問者のhigeponさんって、Mona OSを作った人ですね。
SchemeをMona OS上に実装した人も、最初はこんな質問をしていたんですね。
なんだか勇気付けられます。
0162デフォルトの名無しさん2009/09/08(火) 11:35:25
>>157
同意
0163デフォルトの名無しさん2009/09/08(火) 15:31:02
>>161
回答してるのShiroさんだわ…こりゃすごい。
0164デフォルトの名無しさん2009/09/08(火) 18:11:16
見た目ではなく、内面の美しさを感じさせるのはPrologだな。
0165デフォルトの名無しさん2009/09/08(火) 18:15:31
カットで台無しだけどなー
0166デフォルトの名無しさん2009/09/08(火) 18:20:29
>>165
それあるねぇ。使わなければ相当の美人だけど。
0167ぅゅ2009/09/08(火) 23:18:02
美しい言語っつったらLisp以外考えられんて・・・美的センス狂いすぎ
中身はもうLispじゃないけどこれ見てS式好きになってくれる人が出てくれること祈る
http://www.geocities.jp/c_zelos/file_up/uyuuyu.zip
0168ちんこ ◆GbXlaaQNk. 2009/09/08(火) 23:31:02
型ありとしても定義出来るし、
型が定義されてない時には動的に型推論してくれる。
そんな神のような言語はありませんか?
0169デフォルトの名無しさん2009/09/09(水) 00:13:44
ECMAScript


カスだが
01701692009/09/09(水) 00:15:53
あ、型推論はないよ

動的型なら型推論する意味ないから。
0171デフォルトの名無しさん2009/09/09(水) 01:42:50
>>168
型が定義されてない時に性的に型推論してくれる言語では不満ですか?
0172デフォルトの名無しさん2009/09/09(水) 01:46:55
CommonLispは型宣言なんかもあったな
0173ぅゅ2009/09/09(水) 01:58:33
つくれよカス
0174デフォルトの名無しさん2009/09/09(水) 02:48:37
LispやSchemeは( )だらけで分からなくなりそうだけど良いエディタがあるの?
0175デフォルトの名無しさん2009/09/09(水) 04:00:20
>>164
SmalltalkとPrologには理屈でない美しさがあるね。
0176ちんこ ◆GbXlaaQNk. 2009/09/09(水) 06:12:17
>>171
そんな言語あるんですか?

>>173
そのうちそうなりそうです。
0177デフォルトの名無しさん2009/09/09(水) 06:34:56
Lispは抽象画の美しさ
C++はガンジス川の美しさ
0178デフォルトの名無しさん2009/09/09(水) 06:36:49
>>糞コテ
C++0xのautoを調べろ
0179ちんこ ◆GbXlaaQNk. 2009/09/09(水) 07:09:10
>>178
C++という時点でお察しですw
0180デフォルトの名無しさん2009/09/09(水) 07:11:05
>>175
そういえば、Part2になってから見かけ派の書き込みがなくなって、
理屈派ばかりになったね。
0181デフォルトの名無しさん2009/09/09(水) 10:16:53
>>177
お前どっちも美しいと思ってないなwww
0182デフォルトの名無しさん2009/09/09(水) 11:17:10
普通にどっちも美しいだろ
0183デフォルトの名無しさん2009/09/09(水) 11:39:23
hspとか精神的に不衛生だわ
GOTOってなんだよボケ数十回GOTOしたらエラーでエラー無視してるとPCぶっ壊れるしwww
C++をスペースとかでうまくレイアウトしてけば綺麗だが
それやるとPHPが一番綺麗
0184デフォルトの名無しさん2009/09/09(水) 11:41:14
>>168
Haskellは型を書いてもいいし、書かなくてもいいです。
書かないときは推論します。
0185デフォルトの名無しさん2009/09/09(水) 11:44:23
>>167
シンボルが定義されてなかったら文字列の扱いですか?
nopとかmovとか、そこはかとなくアセンブリな感じですね(笑)
0186デフォルトの名無しさん2009/09/09(水) 12:09:10
>>184
Perlにはイワユル型がありません。
文脈に応じて自動的に解釈されます。
解釈を指定する方法も提供されています。
0187デフォルトの名無しさん2009/09/09(水) 13:22:09
>>184
動的にって言ってるんだからそれはダメじゃないの?
動的にモジュール読み込んだ時に型解決できないし
0188デフォルトの名無しさん2009/09/09(水) 13:30:03
そもそも型推論のある型付け言語なんか普通にごろごろしてるし、神のような言語でも
何でもない
0189デフォルトの名無しさん2009/09/09(水) 14:24:22
動的に型解決というのがいまひとつピンとこないのだが。
ランタイムに型エラーが出てたのが、ランタイムに型解決
失敗エラーが出るようになるだけで何もうれしくないのでは?

コンパイル時に型解決失敗エラーが出るところが型解決のメリット
だと思うのだけど。
0190デフォルトの名無しさん2009/09/09(水) 14:30:13
> 動的に型解決というのがいまひとつピンとこないのだが。

コンパイラがラクになるじゃなかったっけ?
0191デフォルトの名無しさん2009/09/09(水) 14:37:17
>>187
「動的に」は「インタプリタでのコード入力時に逐次的に」と勝手に解釈してました。

もし「動的に型推論」という言葉が「実行時に変数の型を推論する」のだとしたら
何のために推論するんでしょう?
Pascalみたいに値域検査をするためでしょうか?
0192デフォルトの名無しさん2009/09/09(水) 14:38:11
静的型推論を知らなくてどう表現していいか分からなくて動的とか適当な言葉を
使っちゃっただけだと推測
0193デフォルトの名無しさん2009/09/09(水) 14:42:46
189です。
型解決じゃなくて型推論でした。失礼。

>>190
中間言語にコンパイルする時点で型推論するのかな?
それなら型エラーを含んだコードは評価前に死んでくれて
評価途中に死ぬ確率が減るメリットがありそうだけど、
ラクになるのはevaluatorだなあ…
0194デフォルトの名無しさん2009/09/09(水) 15:45:24
あらゆる言語はbison(yacc方言)で表現できるのだから、
もっとも美しいのはbison(yacc方言)です
0195デフォルトの名無しさん2009/09/09(水) 16:21:21
>>194

         \   ∩─ー、    ====
           \/ ● 、_ `ヽ   ======
           / \( ●  ● |つ
           |   X_入__ノ   ミ   そんな餌で俺様が釣られクマ――
            、 (_/   ノ /⌒l
            /\___ノ゙_/  /  =====
            〈         __ノ  ====
            \ \_    \
             \___)     \   ======   (´⌒
                \   ___ \__  (´⌒;;(´⌒;;
                  \___)___)(´;;⌒  (´⌒;;  ズザザザ


あえて釣られると
・bisonはparser generatorであって言語ではない
・perlはbisonで表現できないんじゃなかったっけ?
0196ちんこ ◆GbXlaaQNk. 2009/09/09(水) 16:36:06
とりあえず型について思うのは、
やっぱ、アルゴリズムを記述したり、厳密に型を定義して書きたい時はあると思うということだ。
でも、誰が作ったライブラリを利用したり、自分の作ったコンポーネントを合体させるだけなら、型はいらない。
下の方では型ありでコンパイラのチェックが入るけど、型を書かない時は動的に推論するというのが望ましい。

手続き型の書き方について限界を感じてきている。Haskellを勉強したいけど時間がない。
Haskellって実用的ですか?アルゴリズムとか記述出来ますか?
多くのアルゴリズムは、命令的な処理の羅列として開発されていると思う。
それを関数型にすることで、パフォーマンスを損なったりしませんか?
0197デフォルトの名無しさん2009/09/09(水) 16:53:50
>>196
「勉強する時間がない」なんていうやつはたいてい
「勉強しても理解できなかったとき、自分の無能さを認識するのが辛い」だけだ。
で、いつまでも自分のことを「やればできる子」だと思っている。

理解できるまで勉強しろ。
2chに書き込んでる時間を全て勉強の時間にまわせ。
0198デフォルトの名無しさん2009/09/09(水) 16:58:05
>>196
Haskellは実用的です。アルゴリズムを記述できます。
Haskellは必要な分しか計算をしないため、
手続き型言語よりパフォーマンスが良くなる場合があります。
0199デフォルトの名無しさん2009/09/09(水) 16:59:06
>>196
ちんこが言う「動的に推論」の「動的」とは、どういう意味ですか?
静的に推論してはいけませんか?
0200デフォルトの名無しさん2009/09/09(水) 17:16:30
>>199

>>196を読んで>>192が正解だと確信した
0201ぅゅ2009/09/09(水) 17:50:08
>>185
そうです
変数名は()以外の記号なら何でもおkですっ
でもグローバル変数forとか宣言するとfor文が二度と使えなくなります

movにしたのはsetqとかよりは分かりやすいかと><
0202デフォルトの名無しさん2009/09/09(水) 17:53:49
どう見てもよくある静的な型推論です本当にありがとうございました
0203ちんこ ◆GbXlaaQNk. 2009/09/09(水) 19:18:14
>>198
ということは、常にキャッシュで計算が行われるということですか?
0204デフォルトの名無しさん2009/09/09(水) 20:05:35
>>203
遅延評価の事を言ってるんだろ?
式の値が本当に必要になるまで計算されない。
0205ちんこ ◆GbXlaaQNk. 2009/09/09(水) 20:09:47
だから、必要な値が、もっとも新鮮な形で存在するということでしょ。
メモリアーキテクチャ的にどうなってるのかな、ということを聞いています。
パフォーマンスが上がるというのであれば、全キャッシュで計算出来るということなんじゃないのかな?
過去の値はどんどん捨てられていくんでしょ?
メモリが常に少ししか必要ないということになる気がするんですけど。
0206デフォルトの名無しさん2009/09/09(水) 22:55:21
遅延評価が何で新鮮な形で存在とかになるんだw
0207デフォルトの名無しさん2009/09/09(水) 23:02:00
>>205
お願いだから、我々凡人に理解できるように書いてくれ
0208デフォルトの名無しさん2009/09/10(木) 00:13:46
>>205
> だから、必要な値が、もっとも新鮮な形で存在するということでしょ。

ちがう。
必要になったときに計算する。

> メモリアーキテクチャ的にどうなってるのかな、ということを聞いています。

どうもなってない。


> パフォーマンスが上がるというのであれば、全キャッシュで計算出来るということなんじゃないのかな?

ちがう。

> 過去の値はどんどん捨てられていくんでしょ?

そう。

> メモリが常に少ししか必要ないということになる気がするんですけど。


あるいみそのとおり。
0209デフォルトの名無しさん2009/09/10(木) 00:42:03
優しい人が多いスレですね。
0210デフォルトの名無しさん2009/09/10(木) 02:09:53
平たく言うと馬鹿に触るなということですね
0211ちんこ ◆GbXlaaQNk. 2009/09/10(木) 02:39:08
>>208
じゃあ、関数型は、メモリが少なくて済むんですか?

すごく疑問なのは、ファイル読み込みとかどうするかということです。
例えば、不変の1Mのファイルをいちいち読み込んではパースしてコピーして、ということはjavaのプログラムではしません。
ふつうはプログラムの最初に読み込んで、プログラム的にキャッシュします。
しかしながら、実際は必要な時に読み込んで、とした方がメソッド間の結合度を下げることが出来ます。
関数型では、こういう処理についても、必要な時に読み込んで、ということをするのでしょうか?
それはとてつもないオーバーヘッドになります。
とても現実的とは思えません。
0212デフォルトの名無しさん2009/09/10(木) 03:46:23
>>211
最初に全部読み込むように書こうが、必要になったら毎回読むように書こうが
必要に応じて好きなように書きゃあいいじゃんとしか言いようがない。
それは関数型言語も手続き型言語も遅延評価も何も関係ない。

メモリがどうのという話だと、関数型言語一般で言えば、
比較的メモリを富豪的に使う設計思想なので
Cや機械語と比べればメモリを浪費しやすい。
(当然Cでメモリ無駄遣いすることもできるし
LISPでメモリを節約することもできるが一般論として。)
ただし近代的な言語は概ねメモリを富豪的に使う傾向なので
Javaと比べてどうかというとそれは処理系による。
0213ちんこ ◆GbXlaaQNk. 2009/09/10(木) 03:58:47
>>212
なるほど、よく分かりませんが、モナドというのは、そういうための機構なのですね?

あぁ、HaskellかScala勉強しないと時代に取り残されて死ぬことになるw

関数型を勉強したら、一般的なオブジェクト指向型設計についても思考の選択肢が増えますか?
0214デフォルトの名無しさん2009/09/10(木) 04:18:35
関数型やった後だと、既存の手続き型言語で書くときでも、考え方は多少変わるかもね
まあ、かと言って手続き型言語で無理矢理関数型コードを再現したようなのはダメだがw
ほどほどに関数型の考え方を取り入れれば、手続き型でも役には立つと思う。
0215デフォルトの名無しさん2009/09/10(木) 09:56:53
>>213
時代遅れって意味では、おまえはすでにこれ以上ないってくらい死んでいるから心配しなくて大丈夫だ。
副作用前提のちんこの頭では、参照透明性とか一生わからんから説明するだけ時間の無駄、無駄、無駄!
0216ちんこ ◆GbXlaaQNk. 2009/09/10(木) 10:24:49
>>215
ですよね。自分を恥じています。
みなさん、情報科学を専攻された方たちですか?
情報学科いけばよかった。
0217デフォルトの名無しさん2009/09/10(木) 10:36:45
つーか既存言語もマルチパラダイム化が流行ってるからなぁ
0218ちんこ ◆GbXlaaQNk. 2009/09/10(木) 10:40:19
「フレームワークとしての言語」
という方向になっていくのではないのですか?

ピュアな関数言語があることは分かりましたが、
ピュアがオブジェクト指向言語っていうのはどういう要件がありますか?
また、そういうものは存在しますか
0219デフォルトの名無しさん2009/09/10(木) 10:43:23
お前は日本語の論理構成すらぐちゃぐちゃなんだから、プログラムなんか
書こうとしない方がいいよ本当に
0220ちんこ ◆GbXlaaQNk. 2009/09/10(木) 10:47:39
>>219
才能ないんでプログラムやめようかと思っています。
関数型分からなかったらやめようかと。
0221デフォルトの名無しさん2009/09/10(木) 10:49:24
才能無い程度で辞めていたら何もやる事がなくなりそうだ
0222ちんこ ◆GbXlaaQNk. 2009/09/10(木) 10:55:24
生き方は色々あるんで、
プログラムの才能ないと分かっただけでもよかったかなって思っています。
0223デフォルトの名無しさん2009/09/10(木) 12:02:54
scalaは将来登場予定の新Javaの参考資料だよ
0224デフォルトの名無しさん2009/09/10(木) 12:04:44
むかし日本語でブログラムできる言語があったっけ。
気持ち悪かったけど。
0225デフォルトの名無しさん2009/09/10(木) 12:50:44
ぴゅう太?
0226デフォルトの名無しさん2009/09/10(木) 13:14:49
AFL系 日本語AFL 和漢
BASIC系 ぴゅう太日本語G-BASIC F-BASIC86国語モード
C系 高可読性C
FORTH系 Mind
0227デフォルトの名無しさん2009/09/10(木) 14:39:42
ひまわりやなでしこは何系だろう
0228デフォルトの名無しさん2009/09/10(木) 17:00:30
>>218
いわゆる“オブジェクト指向”には、抽象データ型をベースにしたもの(SIMULA67→C++発)と、
メッセージングをパラダイムにしたもの(Smalltalk発)、あと最近はオブジェクトベースの考え方(SELF発)がある。
重なる部分もあるが、原則として別物と考えた方が整理が付けやすい。

それぞれのOOをサポートする言語としての最低限の要件は、
・抽象データ型OO → 抽象データ型、つまりユーザー定義型を使えること。静的型チェックが前提。
・メッセージングOO → (メッセージングと見なせる)動的結合を扱えること。分散・並列が理想だが、そこまでは求めない。
・オブジェクトベースOO → オブジェクトレベル(つまりクラスに依存せず)なんらかの委譲機構が用意されていること。

それぞれのOOにおいて“ピュア”な言語の例としては、
・抽象データ型OO → プリミティブ型を持たない言語(Scala など。静的型チェックの要件を外してよいなら多くの動的OOPLも)
・メッセージングOO → 静的結合機構を持たない言語(Ruby など。代入・値参照まで徹底した言語は、SELF、Io くらい?)
・オブジェクトベースOO → クラス、あるいは継承機構のない言語(JavaScript など。誤解されがちだが、動的性は要件ではない)
0229ちんこ ◆GbXlaaQNk. 2009/09/10(木) 17:23:51
>>228
教えてもらってもいいですか?
私はクラスというのは、
データと、それを利用することが多い関数をモジュール化したものだと考えています。
それは、C言語でクラスを作る時に、構造体と関数を用意するのと同じです。
pythonでは、selfを第一引数にとることでこれを意味として残しています。

この考えは上記ではどれに相当しますか?
0230デフォルトの名無しさん2009/09/10(木) 17:48:19
Pythonは、クラスを含む言語機能自体はオブジェクトベースに特徴的な仕組みにより実現されていますが、
この言語のユーザーは抽象データ型のOO(ただし静的型チェック抜きで)を意識して使うのが通常です。
もちろん、イントロスペクションなどは例外で、抽象データ型OOよりはオブジェクトベースOOの考え方で行なうのが自然です。
0231デフォルトの名無しさん2009/09/10(木) 21:57:29
オッパイ損
0232デフォルトの名無しさん2009/09/10(木) 21:58:03
>>229
>>228の言う意味がわかってないのに、どれに該当するか聞く意味があるのか?
その考え方は>>228のどれにも該当しない。
あえていうならCやC++の抽象データ型に対して唯物論的な捉え方をするとそうなるかもしれん。

あんたのとらえ方は特定の実装方法に対する解釈にすぎない。
適切な例えかどうかわからんけど、
>>228「何をもって生き物であると言えるかには以下3つの学説がある」
>>229「生き物はたんぱく質でできているらしいと捉えている。これはどの学説に相当するのか?」
という感じ。
0233デフォルトの名無しさん2009/09/10(木) 22:08:16
アセンブラで一番下側から世界を見るか、Lispでそれなりの上側から世界を見るか、
せめてどっちかの視点は持った方がいい
まぁ、片方だけに偏るともう片方を小馬鹿にする馬鹿が育ったりするから、両方の
視点を持った方がいいが
0234ちんこ ◆GbXlaaQNk. 2009/09/10(木) 22:34:37
>>232
意味不明すぎる。
0235デフォルトの名無しさん2009/09/10(木) 23:44:36
お前の名前のことか
0236デフォルトの名無しさん2009/09/10(木) 23:55:28
ちんこはアセンブラとLispを両方やれ
そうすればいろんなものが見えてくるんじゃね
0237ちんこ ◆GbXlaaQNk. 2009/09/11(金) 00:03:31
やだ。実用性ない。

Javaより低級な言語はやりたくない。
0238デフォルトの名無しさん2009/09/11(金) 00:13:57
>>237
Lispはどう考えてもJavaより高級。
0239デフォルトの名無しさん2009/09/11(金) 01:04:40
ちんこ
お前の中には何か輝くものを感じるよ
けどメイン言語がJAVA?なのはギリギリ良しとしても
こんなスレでLispじゃなくハスケルを選んでるのはすげー残念だ
それらの言語を選ぶ神経が分からんが、がんばれよ
0240デフォルトの名無しさん2009/09/11(金) 01:45:12
ちんこたんは「Javaスクールの危険」とか読んでないのかな。
0241デフォルトの名無しさん2009/09/11(金) 02:14:20
まぁ、アセンブラやLispをJavaより低級と切り捨てた時点で完全に論外だな。
なぜなら、お前は「自分が分かってもいない言語」を切り捨てたからだ。無知の知が
無いんだよ。そういう奴は見栄ばかり張って進歩はしない。
0242デフォルトの名無しさん2009/09/11(金) 02:26:10
つーかぶっちゃけ、guru級のハッカーはほぼ全員がアセンブラとLispとC++辺りは
「必要な常識」として会得してるんじゃね?
美しいかどうかはシラネ
0243デフォルトの名無しさん2009/09/11(金) 04:30:15
ハッカーなんてプログラマの心の中に巣くう幻想
そこらのカスPGも、どこかの誰かの前ではハッカーになってるかもしれない
ちんこは、高級言語で効率的にアプリを作ることで、
誰かの瞳に映るハッカーになればいい
プログラマが認めるようなハッカーは、一般人からはハッカーって思われてないこと多いし・・・
0244デフォルトの名無しさん2009/09/11(金) 04:43:10
だが現実にアセンブラもLispも普通におkなんて連中はごろごろいる
気休めの相対評価は井戸の中では通じるが、匿名掲示板程度の小さな海ですら通じなく
なる訳で
こういうところでぐだぐだと的外れな背伸びレスを垂れ流さないでいてくれるなら、
こいつがそこらのしょぼいJava厨として生きてても別に何も困らないけどな
0245デフォルトの名無しさん2009/09/11(金) 04:46:22
ttp://ja.wikipedia.org/wiki/%E9%AB%98%E7%B4%9A%E8%A8%80%E8%AA%9E
Wikipediaを出典とするのもあれだが、「高級言語」の定義は本来こんなもんだろ

Lispを低級とのたまうちんこが高級言語で効率良く開発? ねーよw
そもそもJava脳が効率良く開発もできねーよw
0246デフォルトの名無しさん2009/09/11(金) 05:07:32
「Lispもオッケー」って、どんなレベルなんだろう。
0247デフォルトの名無しさん2009/09/11(金) 05:14:55
機械語含むハードウェア側とLispとの両面教育は割とポピュラーじゃね?
ハードウェアを知らなければ最適化も決して理解できないし、ハードウェアの束縛を
無視した抽象的なアルゴリズム記述力ならLispがほとんど最強だし。
0248デフォルトの名無しさん2009/09/11(金) 06:10:02
抽象的なアルゴリズム記述力なら他の言語も別段差はないんじゃないか?
0249デフォルトの名無しさん2009/09/11(金) 06:17:46
Lispやる際にはハードウェアを考慮した最適化なんかしないだろJK。
0250デフォルトの名無しさん2009/09/11(金) 06:47:53
ネットでしつこく話題になるもんはGeek目指していれば普通は少しは触るもんだけど
それをやんないって事は
ちんこはGeekなんて目指してねーんだよ
目指してるのはまん・・・
0251ちんこ ◆GbXlaaQNk. 2009/09/11(金) 09:30:09
抽象データ型の要件を教えてもらえませんか?
抽象データ型については、セジウィックの本に書いてありましたが、いまいち理解出来ませんでした。
具体的な要件を教えてください。
きちんとした定義なしに、共通認識だとたかをくくったまま言葉を使うのは危険です。
0252デフォルトの名無しさん2009/09/11(金) 09:54:53
抽象データ型はリスコフによれば、データと手続きをセットにしたものです。
もうすこし具体的に言うと、モジュールの定義することで、それを新しいデータ型として扱う機構・手法です。
プログラミング言語の「データ型」が何かを知っている人ならば、ストラウストラップに倣ってより簡単に
「ユーザー定義のデータ型」と言い換えてもよいでしょう。
抽象データ型のOOは、クラスを抽象データ型(ユーザー定義型)として利用するアイデアに基づいて考案されたものです。
■ このスレッドは過去ログ倉庫に格納されています