@IT情報マネジメント会議室は、2009年4月15日に新システムに移行しました。
新たに書き込みを行う場合には、新しい会議室をご利用ください。
新たに書き込みを行う場合には、新しい会議室をご利用ください。
- @IT情報マネジメント 会議室 Indexリンク
- IT戦略
- 仕事の改善
- アーキテクチャ
- プロジェクト管理
- ITインフラ
- Webマーケティング
- BPMプロフェッショナル
- 業務アプリ
- - PR -
なぜ「GOTO文」を使っては、いけないのですか?
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2004-04-23 16:43
そんな事ないですよ。 if then goto だろうと try catch/on error goto だろうと、制御がいきなりどっかに跳ぶという点では変わらないです。下手に使えばスパゲッティですよね。 ただのgotoより相当に改善されてはいますし try catch 禁止なんてのはありえませんけど、ドグマティックに言うならおんなじかと。 少なくとも if goto は槍玉に上がっていると思います。 [ メッセージ編集済み 編集者: skulker 編集日時 2004-04-23 16:44 ] | ||||||||
|
投稿日時: 2004-04-23 17:00
じゃ、こうしましょう。制御がどこかに飛んでしまう事が、ロジックの崩壊だと断言される
のならば、Z80, 8086, モトローラ等のアセンブラで JMP, JNZ, JC, JNC, JCXZ, JE, JZ, JNE 等の飛び先ラベル指定可能な種類のニモニックを全て廃止してしまいましょう。 ま、デバイス・ドライバやOSにどういう深刻な影響が出るかはさておき。 | ||||||||
|
投稿日時: 2004-04-23 17:29
「世間的」という言葉が不適切でしたね。すみません。 1968年のダイクストラによる無条件分岐に対する批判について触れたつもりでした。 [ メッセージ編集済み 編集者: たーぞう 編集日時 2004-04-23 17:32 ] | ||||||||
|
投稿日時: 2004-04-23 17:33
こんにちわ、みゅうです。
久々に業務に夢中になっていたら、話題に乗り遅れましたw 乗り遅れついでに、脱線を。。。 N88-BASIC(86)でしたっけ?NECの・・・ あれを中学生の頃、カリカリ書いてました。 って本当に物理的にかいてました。 プログラムシート(多分こんな名前だった)に手書きでプログラムするんです。 ご存知の方多いですよね? 確か一行が80文字位のシートで、例えるなら横書きの原稿用紙の様。 先輩に、「プログラムは下書きしてから組むのが基本だ!」と言われ そうやっていたような記憶が。。。 で、GOTOをやたらめったら記述した物を提出すると怒られたような^^; 脱線失礼しましたm(_)m | ||||||||
|
投稿日時: 2004-04-23 20:38
えーと、「GOTOは有害だ」と言ったのも「BASICなんかやってると脳に回復 不可能なダメージを受けてしまう」と言ったのもどちらもDijkstra先生で、 # 私の脳ミソがDijkstra先生の主張の正しさを裏付けている それらは「構造化プログラミングしましょう」という主張の一環なわけで。 主敵はFORTRANあたりであるにしても、BASICもやっぱりGOTO問題に含まれて いるんじゃあないかなあ、と思うです。
スパゲティとかスパゲティの素とかをつくりやすい、ということですな。 | ||||||||
|
投稿日時: 2004-04-23 21:01
こんばんは。
こうやって見てますと、 みなさん、ベテランですね。 話題に入れないですね。昔の話は全然わかりません。 俺最初に、触ったのがVisualBasic6.0です。 学校の課題でlabelに「hello world」を入れて実行して表示するだけのプログラムでした。 プログラムか?それ って今は思いますね(当時はこれでも難しく感じましたが)。 _________________ | ||||||||
|
投稿日時: 2004-04-23 22:01
そういえば、なんで「hello wolrd」なんですかねぇ。 前々から気になってはいましたが。 #どの言語の本にも第一ステップとして「hello world」を表示させようってのがありませんか? #気のせいかなー | ||||||||
|
投稿日時: 2004-04-23 22:50
NAL-6295です。 #脱線レス やっぱり、その言語の世界に初めて触れるわけだから、とりあえず挨拶しときましょうって事なんでしょう。 とこじつけてみる。 |