1 ななしのよっしん
2011/08/04(木) 12:16:08 ID: 6keIOXGHkZ
そうだったのか…。>今時は処理に使うとダサい

GOSUB文については触れなくてもいいのかな?BASICだけど。
👍
高評価
0
👎
低評価
0
2 ななしのよっしん
2011/08/04(木) 12:36:18 ID: xX+IhDXjkw
gosubは戻ってこれる性質上サブルーチン/関数メソッドに置き換わるものだからまた話が違うのでは
👍
高評価
0
👎
低評価
0
3 ななしのよっしん
2011/08/04(木) 20:47:42 ID: YhxKukjlwD
追記部分が微妙に行間読めてない感がするんですが気のせいですか?
👍
高評価
0
👎
低評価
0
4 ななしのよっしん
2011/10/01(土) 07:02:34 ID: cGGXJLon9U
gosub *A

gosubさんは重宝してます
👍
高評価
0
👎
低評価
0
5 ななしのよっしん
2011/12/16(金) 01:08:15 ID: VHuK3WMdda
関連動画に吹いたw 追加した人GJ
👍
高評価
0
👎
低評価
0
6 RERA_X
2012/06/16(土) 20:26:48 ID: jIWKjKBh/u
>>1

gosubがないと、BASIC構造化プログラミングが出来ないよ。
関数に飛ぶ命だと思っていい。
👍
高評価
0
👎
低評価
0
7 ななしのよっしん
2013/05/13(月) 23:12:44 ID: 6qvm66jwSI
👍
高評価
0
👎
低評価
0
8 ななしのよっしん
2013/06/23(日) 14:06:21 ID: vPmGKagSeQ
goto禁止と言ってるは、そもそも何が悪いのか分かってないのが悪い。
Dijkstraが"A Case against the GO TO Statement"なんて銘打った本を出版したから、
gotoそのものがダメという見方をするが出てきているが、"A Case against the GO TO Statement"で
られてるのは、処理Blockの入れ子を無視して飛ぶなという事。最近の言じゃGoなんかがこの規則に則って、
入れ子の上位となる処理Blockへの飛び込みを全面禁止し、入れ子の下位への飛び込みを許可してる。
Gotoを非難するやつは、Goto々以前に、まず入れ子になった処理Blockの問題について理解しといて欲しい。
👍
高評価
0
👎
低評価
0
9 ななしのよっしん
2013/10/19(土) 21:54:58 ID: LzAMt4RWUm
>多重継承を行う際にgotoを利用することがあるが

↑こんなgotoの使い方ないでしょ?
C++でのクラスの多重継承ではそんな文法ないんだけど・・・
オブジェクト指向でも、gotoはあくまで実行順序を制御するジャンプにすぎないんで、クラスの継承とgotoは全く関係ない

これ、記事書いた人はウィキペディアの「スパゲッティプログラム」の項gotoに触れているので、うっかりgotoと関係ない部分までもそのまま理解せず真似して書いたんだろう
👍
高評価
0
👎
低評価
0
10 ななしのよっしん
2013/10/28(月) 06:42:03 ID: 4wJViWExW/
多重継承を使うときにどういうふうにgotoを使うのだろうね.
あ,多重継承はmixinです.
👍
高評価
0
👎
低評価
0
11 ななしのよっしん
2014/01/02(木) 13:45:31 ID: 0h8RyB7U4M
switch-caseってgotoの変種だっけ?
👍
高評価
0
👎
低評価
0
12 ななしのよっしん
2014/01/02(木) 15:51:57 ID: LzAMt4RWUm
>>11
に制限はあるもののif構文に近いものでしょう
大量のif...else if...else...の条件分岐を簡略化して書けるようなもんだから
👍
高評価
0
👎
低評価
0
13 ななしのよっしん
2014/06/08(日) 12:57:59 ID: TUj4MW/5Df
batgotoswitchみたいなもんだよな
👍
高評価
0
👎
低評価
0
14 ななしのよっしん
2014/11/29(土) 16:34:54 ID: CshybwZmkX
多重ループ脱出にはどうしても使う
👍
高評価
0
👎
低評価
0
15 ななしのよっしん
2015/03/27(金) 03:24:32 ID: Fci0QEjqgY
 元記事の内容を保存しようとしたまま再構成してるので見出しとその中の記述が噛み合っていません。

 具体的には

goto肯定」の中に
しかしながら、人は過ちを犯す生き物である。くれぐれも自分の足を撃たないように注意して使うべし。」が現れるのはおかしいです。


「論争の本質」は
「言仕様で安全にしておくべきか?」であって、古典gotoは関係ありません。
 と言うか古典gotoって何でしょうか。D言語の例がありますが、C言語であったとしてもgoto関数えて移動することはできません。
(setjmp関数, longjmp関数ならありますが)

議論がかみ合わない点」中の
gotoの適切性を検証しなければならないという管理上の問題」についてはまさに管理上の問題で、
それは処理単位について適切なテストコードを書いていないことが問題ですし、
適切性の問題を出すのであれば、gotoに限らず各種制御文についてプログラム中のどの部分でも起こりえる問題です。
 繰り返しますがgoto固有の問題ではなく適切にテストコードを書いていないことが問題です。

古典goto代替としての"goto"」は「他言における、より安全になったgoto」みたいな見出しの方が分かりやすいです。

 整理されるのであれば読みやすくなるように整理されることを期待します。
👍
高評価
0
👎
低評価
0
16 ななしのよっしん
2015/05/06(水) 19:57:38 ID: IkEmbO96hw
>>14
多重ループしていても全ループを脱する命が用意されている言もあるし、
関数などにしてしまえばループが単純化できるケースも散見されるのも事実
👍
高評価
0
👎
低評価
0
17 ななしのよっしん
2015/05/29(金) 12:37:12 ID: h8t/dAIoBw
無条件ジャンプ権は内閣により閣議決定されました
👍
高評価
0
👎
低評価
0
18 ななしのよっしん
2015/11/20(金) 09:45:28 ID: mT1ingmRrQ
👍
高評価
0
👎
低評価
0
19 ななしのよっしん
2016/02/27(土) 23:24:06 ID: 78weVXldaj
まぁ上に飛ばなければそんなに問題はないんじゃね?

それかINTERCALとかにあるcomefromを使うか…
しかもある実装によるとラベルに対応するcomefromが複数あるとそのラベルに達した時点で複数のスレッドが生成されて行して実行を続けるという…
👍
高評価
0
👎
低評価
0
20 ななしのよっしん
2016/06/13(月) 14:52:02 ID: yQ7vCGP5L0
ここまで後藤なし
👍
高評価
0
👎
低評価
0
21 ななしのよっしん
2017/10/25(水) 23:06:24 ID: d3mqZgMYH1
goto検索して一番goto批判的なのが処の記事だった。
構造化を破壊するgotoが好ましくないだけで、例えば、

if(…) goto work_tail;

で処理ブロック丸々飛び越してネスト地獄を減らすのは、可読性においても有効な手なんだけど、それを引き継いだ馬鹿が何でもかんでもgotoを乱用する可性が怖いので、わかってる人たちだけで使いましょうねってことだよね?
記事を書いた人は何が何でもgoto全否定義者なようで、ああこの人は日常においてもtruefalseの二択なんだな~と思わずにはいられない。
👍
高評価
0
👎
低評価
0
22 ななしのよっしん
2017/10/25(水) 23:23:55 ID: d3mqZgMYH1
ちなみに良心的gotoについては、近代の高級言であれば、witch-caseや例外、ラベル付きbreakなどの代替処理命が存在しますが、
逆に言えば、肯定と否定はじつは同じコーディングスタイルの命名の付け方で対立しているに過ぎないという言い方もできます。
良心的gotoに準じる命は使っても良いというお付きですね。
lintでも、以前は機械的にgotoを排除していましたが、最近は良心的gotoに限り、使用を許すようになりました。
👍
高評価
0
👎
低評価
0
23 ななしのよっしん
2017/11/28(火) 00:33:52 ID: 6R3swkvKUy
>>21
true, falseの二択だとしても条件が杜撰じゃなければ問題ないんだけどな

まぁ使わなくても問題ないことのが多いし、逆にいえば使うべき場所をしっかり定義しとくべきといったところか
たしかにgoto読みづらいからきちんとコメントでなぜ使ったのか、使った場合はどうする意図があったのかを的確に明示しとかんと、まじで作った本人しか理解できないコードになるから、大人数での共同作業では使わないほうが難だってことだね

つーか別に個人で使う分にはまったく問題ないしな
プログラムなんて動きゃいいんだよ動きゃ!
👍
高評価
0
👎
低評価
0
24 ななしのよっしん
2018/11/26(月) 22:13:26 ID: JhUBz9xMFu
全体的に稿してみた(Markdown Extra: https://hackmd.io/tAFGVkGYTCijbiAHLPanZAexit)

DとかGoとかあんまり触ったことないんですけど、見る限りCのgotoにとても近い印を受けました。
実際その辺りの言を使ってる人的には如何です?
👍
高評価
0
👎
低評価
0
25 ななしのよっしん
2018/11/27(火) 23:33:23 ID: JhUBz9xMFu
クローズソースだと分からんけどgoto使ってないオープンソースプロジェクトが見つけられなかった
👍
高評価
0
👎
低評価
0
26 deadbull
2018/11/30(金) 07:08:36 ID: dB2pOv6et6
>>24
検討させていただきました
記事に具体性がない部分があるために断定は出来ませんが、いわゆる例外処理(try-catch構文)がない言(C言語)で、例外処理を行うためにはgotoがないと可読性が悪くなるのでgotoが必要というお立場のようにお見受けします。

その上で確認したいのですが、例外処理以外の局面でgotoの不使用が可読性パフォーマンスを落とす場合というものはありますでしょうか。
心当たりがないならないで結構ですので、あれば「どの言の」「どのようなケース」かご教示いただければ幸いです。
👍
高評価
0
👎
低評価
0
27 ななしのよっしん
2020/07/16(木) 11:10:27 ID: GaLn8ZEtiQ
GoTo登山に挑みスパゲティ遭難する
👍
高評価
0
👎
低評価
0
28 ななしのよっしん
2020/07/17(金) 07:56:28 ID: 7x2kgINX5V
GoToトラベルするがよい
👍
高評価
0
👎
低評価
0
29 ななしのよっしん
2020/07/17(金) 08:03:07 ID: zZCvs7ds2y
全体がメチャクチャになること請け合い
👍
高評価
0
👎
低評価
0
30 ななしのよっしん
2020/07/17(金) 17:36:47 ID: daX2xoyZc8
ただし都民、テメーはダメだ
👍
高評価
0
👎
低評価
0