自作PC3@2020年07月ふたば保管庫 [戻る]


23001 B
Name名無し20/05/30(土)09:50:37 IP:183.76.*(asahi-net.or.jp)No.636054+
8月12日頃消えます オブジェクト指向プログラムの新人教育には金正恩が解りやすいよね。

クラス→金正恩という概念
インスタンス→金正恩の実体でクラスからいくつでも生成可能
ガベージコレクション→要らなくなった実体の始末 削除された記事が5件あります.見る
1Name名無し 20/05/30(土)10:05:43 IP:126.132.*(openmobile.ne.jp)No.636055+黒電話ってクローンだったの?
2Name名無し 20/05/30(土)11:40:33 IP:220.43.*(bbtec.net)No.636059+そういや北朝鮮のエディタだったかなにかは
Ctrl-Iで金日成、Ctrl-Jで金正日って入力されるって記事を読んだことがある。
金正恩はCtrl-何なんだろうね。
3Name名無し 20/05/30(土)14:37:19 IP:101.128.*(bbexcite.jp)No.636063+ポリモルフィズム→影武者
4Name名無し 20/05/31(日)12:12:08 IP:125.0.*(infoweb.ne.jp)No.636101+影武者が全員同じ動きしかしないのなら
ポリモーフィズムの出番ではない
5Name名無し 20/05/31(日)23:59:52 IP:183.77.*(asahi-net.or.jp)No.636115そうだねx1>ポリモーフィズムの出番ではない
実体化した金正恩達はそれぞれ顔に特徴があるから多態性で表現しないといけない。
6Name名無し 20/06/01(月)21:47:24 IP:218.33.*(eaccess.ne.jp)No.636135+継承して修飾でOK
7Name名無し 20/06/05(金)09:15:13 IP:126.132.*(openmobile.ne.jp)No.636182+黒電話と下膨れ継承
8Name名無し 20/06/07(日)02:17:52 IP:58.90.*(ocn.ne.jp)No.636217そうだねx1総書記がクラスでしょ
9Name名無し 20/06/07(日)10:24:46 IP:220.146.*(infoweb.ne.jp)No.636220+書き込みをした人によって削除されました
10Name名無し 20/06/07(日)10:26:21 IP:220.146.*(infoweb.ne.jp)No.636221+書き込みをした人によって削除されました
11Name名無し 20/06/07(日)10:28:35 IP:220.146.*(infoweb.ne.jp)No.636222+書き込みをした人によって削除されました
12Name名無し 20/06/07(日)21:31:52 IP:183.76.*(asahi-net.or.jp)No.636256+金正日クラスを複数の実体が継承してる状況
13Name名無し 20/06/09(火)20:13:54 IP:60.153.*(bbtec.net)No.636300+オブジェクト指向ってあんま好きくない

みんなけっこう適当に「このクラス使えそうだから継承してメソッドオーバーロードしちゃえ。はい完成」
とかやってるけど、その親の親の親の親の親・・のクラスまで追ってくと、
いやその使い方だめじゃね?っていうのが稀によくある
あとgoto文使うなって言うけど、try〜catch〜throwってまんまgoto文じゃんって思う
14Name名無し 20/06/10(水)12:50:17 IP:2400:2411.*(ipv6)No.636310+>いやその使い方だめじゃね?っていうのが稀によくある
稀になのか、よくあるのか、どっちや?
15Name名無し 20/06/10(水)23:58:16 IP:220.43.*(bbtec.net)No.636340+> あとgoto文使うなって言うけど、
> try〜catch〜throwってまんまgoto文じゃんって思う

言った人に聞くしかないけど、try文はgoto文じゃないし、
throw文もgoto文じゃないと思うけどねぇ
16Name名無し 20/06/11(木)08:30:23 IP:220.13.*(bbtec.net)No.636343+またの新入社員教育では「goto を使うとプログラムが汚くなるから使用禁止ね」と教えられ、会社では goto の入ったコードは忌み嫌わせているようです。
17Name名無し 20/06/11(木)13:41:40 IP:2001:ff0.*(ipv6)No.636348+> try〜catch〜throwってまんまgoto文じゃんって思う
それ言ったら分岐制御するWhile/for/if/switch/break等々もgotoなんですがね

そもそもなぜ「goto文が悪いか」っていう問題の根本を理解していない人が受け売りだけでこういうことを言いやすい
18Name名無し 20/06/11(木)14:23:09 IP:2404:7a80.*(ipv6)No.636350+「returnが複数あるのはgoto」という宗派もあるな
宗教だから好きにしろ
ただし自分以外の信者を集められるとは限りません
19Name名無し 20/06/11(木)22:47:44 IP:153.215.*(ocn.ne.jp)No.636359+日曜プログラミングだけど
breakは割とgotoだなと思いながら使ってる
20Name名無し 20/06/11(木)23:35:07 IP:2400:4172.*(ipv6)No.636360+>そもそもなぜ「goto文が悪いか」っていう問題の根本を理解していない人が受け売りだけでこういうことを言いやすい

ですよねぇ

GOTOを避けるのはルーチンのタスキ掛けが可能となり、機能モジュール化ができないことが問題の本質
逆を言えば、GOTOしか使わなくて、スタックを使って必ず戻るように実装すれば問題とはならない

実際、オールドスタイルのBASICで、GOSUBの無いものでも変数に行番号を格納できるものであれば、構造化はできるし、普通に行われていた
21Name名無し 20/06/12(金)03:53:29 IP:2404:7a81.*(ipv6)No.636362+このスレ スレ画が汚いからみるのがつらいけど、
goto文には正しい使い方は1つしかない。
とか
プログラムの正当性の検証
とかって知られてないのかな。正しく使う限りは問題ない。むしろ使わずに見にくいプログラムになるのは問題。
22Name名無し 20/06/12(金)12:11:13 IP:2404:7a81.*(ipv6)No.636367+経験的にはgoto文が有害だという人たちのかなりの割合の人たちが その後のgoto文有害論は有害である、という議論のことを知らない。goto文問題はお作法の問題じゃないんだけれど、90年ころにどこかで読んだ警句を紹介する。「初心者にはgoto文を使うなと教える。中級者にはgoto文の使い方を教える。そして上級者にはgoto文を使っていいときにだけ使うことを教える。」
23Name名無し 20/06/12(金)14:18:26 IP:153.181.*(ocn.ne.jp)No.636368+gotoは分岐予測しづらくパフォーマンスが落ちやすいから
使うなみたいな話だったと思うのだが
24Name名無し 20/06/12(金)14:48:24 IP:2001:ff0.*(ipv6)No.636369+分岐予測って話だとCPUとかのパイプラインの投機実行レベルの話になるのでちょっと違うかな
機械語レベルの話だとJP/JMP使わないと何もできないw
25Name名無し 20/06/12(金)15:09:38 IP:2404:7a80.*(ipv6)No.636370+gotoっぽいものを使ったほうがよさそうな場合が発生すること自体
プログラミング言語の欠陥だから
そういう場合をどうしのぐのか
好きにしろとしか
C系のswitch・breakとか最悪だからな
26Name名無し 20/06/12(金)19:10:26 IP:220.211.*(so-net.ne.jp)No.636374+>goto の入ったコードは忌み嫌わせているようです。
そして忌み嫌われる後藤さん
27Name名無し 20/06/13(土)15:11:48 IP:240b:252.*(ipv6)No.636390+ゴートゥヘル
28Name名無し 20/06/13(土)15:31:13 IP:222.159.*(infoweb.ne.jp)No.636392+書き込みをした人によって削除されました
29Name名無し 20/06/13(土)15:31:53 IP:222.159.*(infoweb.ne.jp)No.636393+書き込みをした人によって削除されました
30Name名無し 20/06/13(土)15:32:32 IP:222.159.*(infoweb.ne.jp)No.636394+const char abcd[] = { 'a', 'b', 'c', 'd' };
bool bFound = false;
for (int i = 0; i < 4; i++) {
 if (abcd[i] == x) {
  bFound = true;
  // break; // gotoとその眷属は悪!
 }
}
if (bFound) { ... }
31Name名無し 20/06/13(土)17:37:06 IP:220.43.*(bbtec.net)No.636396+↑は例が悪いよ。そもそもgotoもbreakも要らないじゃん。

var abcd = new Char[] { 'a', 'b', 'c', 'd' };
if (abcd.Any(i => i == x)) { ... }
32Name名無し 20/06/13(土)18:08:04 IP:2400:2200.*(ipv6)No.636398+マシン語になればジャンプだらけなんだから気にすんな
33Name名無し 20/06/13(土)23:02:36 IP:219.101.*(tees.ne.jp)No.636407+アレクサに頼めば
34Name名無し 20/06/14(日)00:01:32 IP:183.76.*(asahi-net.or.jp)No.636408+俺的に構造化プログラミングすればgoto使わなくて良い筈だからと解釈してる。
35Name名無し 20/06/14(日)00:53:36 IP:220.211.*(so-net.ne.jp)No.636409+言語変えるならそうだろう
なんでもライブラリ用意すれば1行だわ
36Name名無し 20/06/14(日)09:02:06 IP:220.43.*(bbtec.net)No.636411+>なんでもライブラリ用意すれば1行だわ

(歌丸風に) 一度でいいから見てみたい。gotoが要らなくなるライブラリ
37Name名無し 20/06/15(月)00:23:36 IP:2400:4172.*(ipv6)No.636427+>俺的に構造化プログラミングすればgoto使わなくて良い筈だからと解釈してる。

可か不可かといえば可能
ただそれが効率的かどうかは別の問題で、言語仕様に強く影響される
Cの場合、関数の戻り値としてリストが返せないのでポインタ渡しや構造体で代替する
そのせいで、関数内での3重以上ループを一度に抜けて親関数に帰る前にクロージング処理が必要な場合
gotoを使う方がスマートに記述できる

リストが返せる言語だとクロージング処理を行う関数から本体関数を呼び出すという手法でも十分スマートに書ける
オブジェクト指向だと、普通に終了をメソッド化すればいいので最初から問題にならない
38Name名無し 20/06/15(月)22:16:54 IP:2400:4053.*(ipv6)No.636440+パラメータチェックの処理を書いたときに、同じエラー値を返すelseが大量に必要になったからgotoで逃げた
elseの嵐になってめんどくせーんだもの