staticおじさん(読み:すたてぃっくおじさん)とは、2010年に@ITに「実はオブジェクト指向ってしっくりこないんです![1]」
と投稿して炎上したおじさんのことである。
staticおじさんが爆誕した2010年ごろのIT土方界隈ではJavaを中心としたオブジェクト指向が主流であり
「なんでもかんでもオブジェクト指向」という風潮があった。
このためstaticおじさんは多勢に無勢でボロクソに叩かれる結果となり、さらにはプログラミングそのものの
話を飛び出してオブジェクト指向推進派による学歴差別などに発展したすえに無事炎上した。
それからわずか数年後、staticおじさんの主張に「極力static変数は使わない」「関数ポインタを多用する」
というコーディング規約を加えた「関数型プログラミング」がJavaScript界隈を中心に爆発的に流行し、
その流れに乗るかたちでこれら規約を半ば強制する仕様の「関数型プログラミング言語」も多数登場するなど
世界的に一大ブームになった。
ちなみにstaticおじさんの主張と非常に酷似したものが、staticおじさんの登場より遥か昔、インターネットを
支える中核技術である「IP」のRFC(仕様書)にも「階層化の有害性」として書かれていたりする。
また、海外でも同様の主張を面白おかしく書いた「Bjarne Stroustrup インタビュー」なる怪文書が出回り、
こちらも大炎上した。
https://monobook.org/wiki/%E3%82%B9%E3%82%BF%E3%83%86%E3%82%A3%E3%83%83%E3%82%AF%E3%81%8A%E3%81%98%E3%81%95%E3%82%93
探検
なぜ「staticおじさん」は叩かれたのか?
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
2019/02/08(金) 15:18:48.58ID:pS5scTjj109デフォルトの名無しさん
2019/02/17(日) 02:26:19.17ID:L6um7wlM ハンドラ変数という悪夢
110デフォルトの名無しさん
2019/02/17(日) 03:07:42.86ID:xp57qVrW ハンドラに関数ポインタ持たせて、でその関数の変数にハンドラのポインタを渡しておけばさすがにオブジェクト指向と言えるか?
こうなるとハンドラじゃなくてthisとかselfって呼びたくなるな。
こうなるとハンドラじゃなくてthisとかselfって呼びたくなるな。
111デフォルトの名無しさん
2019/02/17(日) 04:02:09.20ID:KHx9LvZX >>108
関わりたくないとか言いながら自らアンカしてかかわっていくスタイルすごい斬新ですね
関わりたくないとか言いながら自らアンカしてかかわっていくスタイルすごい斬新ですね
112デフォルトの名無しさん
2019/02/17(日) 10:00:29.48ID:7SCgo2EY オブジェクト指向ならメソッド名などのメンバー名があいまいでもエディタである程度関数名がでてくる
構造体+グローバル関数だとアホみたいに出てくる候補から選ばなくてはならない
昔はその候補すら出ないので正確な名前が必要だった
だから分厚い辞書みたいな本や紙の束を持ってプログラムしていた
それでもミスする
コンパイルエラーでそんな関数ないよって言われてばかり
構造体+グローバル関数だとアホみたいに出てくる候補から選ばなくてはならない
昔はその候補すら出ないので正確な名前が必要だった
だから分厚い辞書みたいな本や紙の束を持ってプログラムしていた
それでもミスする
コンパイルエラーでそんな関数ないよって言われてばかり
113デフォルトの名無しさん
2019/02/17(日) 10:07:41.57ID:zowSdywj 設計書の機能一覧のどこのメソッドなのそれ?
これがわからないとどんなに高機能になってもゴミ
マイクロソフトはofficeとvisualstudioの統合を早急に行うべき
これがわからないとどんなに高機能になってもゴミ
マイクロソフトはofficeとvisualstudioの統合を早急に行うべき
114デフォルトの名無しさん
2019/02/17(日) 10:10:56.31ID:7SCgo2EY 昔は紙の束やノートや本をもってコードを書いていたんだよ
冗談抜きで
その本は洋書だた
教授の本棚から借りてくるの
冗談抜きで
その本は洋書だた
教授の本棚から借りてくるの
115デフォルトの名無しさん
2019/02/17(日) 10:17:10.43ID:zowSdywj116デフォルトの名無しさん
2019/02/17(日) 10:20:39.56ID:7SCgo2EY メソッド名が○○createなのか○○Createなのかcreate○○なのかCreate○○なのかcreates○○なのかCreates○○なのか
Cだと○○creatという線もある
○○.create最強すぎる
Cだと○○creatという線もある
○○.create最強すぎる
117デフォルトの名無しさん
2019/02/17(日) 10:38:53.57ID:S3RSWBju せめてcreatにeをつけたいね
118デフォルトの名無しさん
2019/02/17(日) 10:43:49.68ID:zowSdywj creatE○○採用
検索ヒットしやすいだろ
検索ヒットしやすいだろ
119デフォルトの名無しさん
2019/02/17(日) 11:51:33.28ID:hPUvxkn3 gccオプションでstaticを封じるとかあればいいのにw
120デフォルトの名無しさん
2019/02/17(日) 12:09:58.01ID:p5ummUd3 仮想関数技術でstatic関数みたいにできなかったっけ?
staticも静的占有修飾子という名称を聞いたことあるだけで
あんまくわしく知らない。違うところのファイルも仮想関数
使うとstaticとおんなじようにできるんじゃなかったっけ?
staticも静的占有修飾子という名称を聞いたことあるだけで
あんまくわしく知らない。違うところのファイルも仮想関数
使うとstaticとおんなじようにできるんじゃなかったっけ?
121デフォルトの名無しさん
2019/02/17(日) 15:23:18.00ID:KFkN1Yft fantasticおじさん
122デフォルトの名無しさん
2019/02/17(日) 16:24:01.33ID:stWHtwS7 algol60で新しく導入された従来の構文とは直交(orthogomal)する
ブロック(block)構文内で計算した結果を保存するために
一緒に導入されたのが占有修飾子own。だけれども実装に
あたっては仕様が曖昧で動的、静的、中間解釈と三通りに
解釈があって大論争。最終的にownの解釈は静的(static)
です、でstaticになった。
Simulaとかはそもそもブロック(block)の計算結果を捨てる
からいかんのだ、であんまりプログラマーになじみのない
例を題材に並列化をといてたりするからクラスベースのOOには
staticは実は固有の用語だね。
ブロック(block)構文内で計算した結果を保存するために
一緒に導入されたのが占有修飾子own。だけれども実装に
あたっては仕様が曖昧で動的、静的、中間解釈と三通りに
解釈があって大論争。最終的にownの解釈は静的(static)
です、でstaticになった。
Simulaとかはそもそもブロック(block)の計算結果を捨てる
からいかんのだ、であんまりプログラマーになじみのない
例を題材に並列化をといてたりするからクラスベースのOOには
staticは実は固有の用語だね。
123デフォルトの名無しさん
2019/02/22(金) 13:18:21.26ID:1Zm4d6fz クラスがあればstaticなんて不要だよな。
逆にクラスが無いならstatic使うしか無い。
逆にクラスが無いならstatic使うしか無い。
124デフォルトの名無しさん
2019/02/22(金) 14:02:53.19ID:s1C4N+RU シングルトンの実装はどのようにするべき?
125デフォルトの名無しさん
2019/02/22(金) 17:23:44.59ID:p3Rb6+Rr コメントに
// これはシングルトンで使ってください
って書いてけばおk
// これはシングルトンで使ってください
って書いてけばおk
126デフォルトの名無しさん
2019/02/22(金) 19:36:01.71ID:nCLTgLRo シングルトンは使うなが正解
127デフォルトの名無しさん
2019/02/22(金) 19:54:20.58ID:1Zm4d6fz リソース競合怖いならセマフォで排他すりゃいいしな。
待たせたいなら待たせればいいし。
待たせたいなら待たせればいいし。
128デフォルトの名無しさん
2019/02/22(金) 22:48:48.51ID:Tn7dUsgu >>124
DIコンテナを使う
DIコンテナを使う
129デフォルトの名無しさん
2019/02/25(月) 23:03:39.42ID:TP8zPbuZ シングルトンってどこで使うんだ?インスタンスを直接生成させたくないならManager使えばいいじゃん
130デフォルトの名無しさん
2019/02/25(月) 23:30:02.76ID:lsusqOoA >>129
Managerとは?
Managerとは?
131デフォルトの名無しさん
2019/02/25(月) 23:38:46.23ID:g2jQN+TN トンチンカンだったらすまんけど、例えばオーディオ操作するクラスとかはシングルトンだった。オーディオAPIを複数のインスタンスから叩かれてどうなるかよくわからないし。
132デフォルトの名無しさん
2019/02/25(月) 23:40:53.63ID:g2jQN+TN >>131だけど正確にはCでシングルトン的な実装をしてた。classとか紛らわしい言葉使ってすまない。
133デフォルトの名無しさん
2019/02/26(火) 10:45:40.21ID:UuxN6/HJ Cならむしろシングルトンがデフォルトだろ。
あれで別オブジェクト同時に動かすには工夫が要るからな。
あれで別オブジェクト同時に動かすには工夫が要るからな。
134デフォルトの名無しさん
2019/02/26(火) 12:57:09.88ID:4VLeDBYT 例えばタイマー機能を持つライブラリなんかはいろんなスレッドで別々に使用したくなるから別オブジェクトで同時に動かしたりするな。別オブジェクトというか別ハンドラ構造体だが。
135デフォルトの名無しさん
2019/02/26(火) 15:41:32.58ID:e2/fBDmS シングルトンをどう作るor使うって、言語によってあまりにも違いすぎるから一般化無理だろw
136デフォルトの名無しさん
2019/02/26(火) 18:02:58.64ID:eD4jaKNG 役割は言語関係ないだろ
137デフォルトの名無しさん
2019/02/26(火) 19:58:36.33ID:tR5x62Pi 結局どこでインスタンス生成するかを決めきれてないところがシングルトンが必要になる理由で
それは設計を見直すっていうのが根本的な治療な訳だ。
それは設計を見直すっていうのが根本的な治療な訳だ。
138デフォルトの名無しさん
2019/02/26(火) 20:25:46.94ID:a57A2wmx >>137
言いたいことはわかるが、「起きてはいけないことは起こらないようにする」ということを好むプログラマーがいて、彼らが作ったのがシングルトンなんじゃないの?
だからシングルトンが必要なわけでもないし治療が必要なわけでもない。
言いたいことはわかるが、「起きてはいけないことは起こらないようにする」ということを好むプログラマーがいて、彼らが作ったのがシングルトンなんじゃないの?
だからシングルトンが必要なわけでもないし治療が必要なわけでもない。
139デフォルトの名無しさん
2019/02/26(火) 20:35:21.90ID:W0wJxBNy 一方世間では「子供部屋おじさん」が激増中
140デフォルトの名無しさん
2019/02/26(火) 20:48:30.10ID:W0wJxBNy シングルトンの話題か、はいはい。
Singleton何が悪いの?
https://qiita.com/mo12ino/items/abf2e31e34278ebea42c
Why is Singleton considered an anti-pattern?
https://stackoverflow.com/questions/12755539/why-is-singleton-considered-an-anti-pattern
When Singleton Becomes an Anti-Pattern
https://dzone.com/articles/singleton-anti-pattern
Singleton is not an anti-pattern
https://medium.com/@piotr.chmielowski/singleton-is-not-an-anti-pattern-51392c3e508e
Singleton Anti-Pattern
https://www.michaelsafyan.com/tech/design/patterns/singleton
Singleton何が悪いの?
https://qiita.com/mo12ino/items/abf2e31e34278ebea42c
Why is Singleton considered an anti-pattern?
https://stackoverflow.com/questions/12755539/why-is-singleton-considered-an-anti-pattern
When Singleton Becomes an Anti-Pattern
https://dzone.com/articles/singleton-anti-pattern
Singleton is not an anti-pattern
https://medium.com/@piotr.chmielowski/singleton-is-not-an-anti-pattern-51392c3e508e
Singleton Anti-Pattern
https://www.michaelsafyan.com/tech/design/patterns/singleton
141デフォルトの名無しさん
2019/02/26(火) 21:49:06.18ID:AvMGpFJx シングルトンの話題がここまで伸びるとは・・・
まあ実際使わんからな。
正規表現をstaticにするのは悪い考えだろうか?
更に言えばstatic constなら問題無い?
まあ実際使わんからな。
正規表現をstaticにするのは悪い考えだろうか?
更に言えばstatic constなら問題無い?
142デフォルトの名無しさん
2019/02/26(火) 23:45:48.96ID:DJEN/H2R >>140
自分の意見を言えよ!(激おこ
自分の意見を言えよ!(激おこ
143デフォルトの名無しさん
2019/02/27(水) 00:27:53.77ID:wn5rL22a シングルトンと書いて"どこでもドア"と呼ぶ
144デフォルトの名無しさん
2019/02/27(水) 08:19:37.48ID:6ZXfG+VB 読み書きできるデータがどこでもドアなのは怖いけど副作用のないメソッドがどこでもドアなのはありがたい
145デフォルトの名無しさん
2019/02/27(水) 08:36:57.25ID:yveuGv1a C言語のstatic宣言が、private宣言となっているのがいけない。
146デフォルトの名無しさん
2019/02/27(水) 17:50:25.07ID:OHGiEJmI シングルトンにしてはいけないものをシングルトンにする輩がそこそこいるからな
147デフォルトの名無しさん
2019/02/27(水) 18:43:11.68ID:6a6tMlMF readは別にスコープをそこまで気にせんでもいいがwriteはあかんな。
シングルトンの問題とstaticおじさんの問題は本質的には同じ。
シングルトンの問題とstaticおじさんの問題は本質的には同じ。
148デフォルトの名無しさん
2019/02/28(木) 18:19:05.20ID:4caMtz9v やっとstaticおじさんの記事見つけた。面白いな、これ。「本物のプログラマは...」ほどじゃないけど、よく煽れてる。
149デフォルトの名無しさん
2019/02/28(木) 18:51:23.07ID:IByT54N8 > プログラムのアルゴリズムとは無関係のものである。
これは何となくわかるな。
むかし、LALRパーサジェネレータ書いたことがあって、最初OOPで書いたんだけど、あまりにも冗長になったので、ドラゴンブックに載ってるような古典で書いたら、もの凄くわかりやすくなった。
これは何となくわかるな。
むかし、LALRパーサジェネレータ書いたことがあって、最初OOPで書いたんだけど、あまりにも冗長になったので、ドラゴンブックに載ってるような古典で書いたら、もの凄くわかりやすくなった。
150デフォルトの名無しさん
2019/02/28(木) 22:23:17.58ID:jqfgz8pY >>130
Factoryだった
Factoryだった
151デフォルトの名無しさん
2019/03/01(金) 18:22:50.40ID:w4y3c4gQ >>100
うむうむ
うむうむ
152デフォルトの名無しさん
2019/03/01(金) 20:23:46.44ID:USDimQm3 害悪はDBの正規化おじさんのが上逝ってる。
153デフォルトの名無しさん
2019/03/01(金) 20:25:22.77ID:9js6QXaa 非正規化おじさん?
154デフォルトの名無しさん
2019/03/01(金) 20:38:01.31ID:RkdjknyC 縁起の悪い呼び方やめれ
155デフォルトの名無しさん
2019/03/01(金) 20:44:23.08ID:/17UEdHn big queryとかわざわざ非正規化させられるよな
公務員なっときゃよかった
公務員なっときゃよかった
156デフォルトの名無しさん
2019/03/01(金) 20:50:19.05ID:P8UuTZRK 構造としては完全に正規化したほうがいいのに、実際には弊害が多いってことは、DBMS側の問題のような気がするのだが。
正規化しまくっても実用に耐えられるだけの速度が出せればいい。
正規化しまくっても実用に耐えられるだけの速度が出せればいい。
157デフォルトの名無しさん
2019/03/01(金) 21:28:27.41ID:Y8fj+4tW 「構造としては完全に正規化したほうがいい」これがダウトだから速度が出ないんだろうが。
joinのコストなんてどう頑張っても限界があるわ。
joinのコストなんてどう頑張っても限界があるわ。
158デフォルトの名無しさん
2019/03/02(土) 01:57:17.03ID:5dA5xfVW オブジェクト指向は宗教なので
159デフォルトの名無しさん
2019/03/02(土) 07:50:23.86ID:66qf4QbX160デフォルトの名無しさん
2019/03/02(土) 08:55:41.65ID:bakyLAA5161デフォルトの名無しさん
2019/03/02(土) 09:32:08.88ID:1SfH4HCR いやマテリアライズドビュー使えや
162デフォルトの名無しさん
2019/03/02(土) 10:16:35.03ID:GZ5C2Het 下手に正規化しすぎると例えば3年前のデータを見たら現在の名称が表示されて大混乱、とかよくある
163デフォルトの名無しさん
2019/03/02(土) 10:40:50.67ID:Ebyn5USS 正規化おじさんはoracleのオプティマイザに100%の信頼置いてんのか?
いちいちヒント書くの非効率なんだが
いちいちヒント書くの非効率なんだが
164デフォルトの名無しさん
2019/03/02(土) 11:46:40.24ID:PSsyx6Qo だからマテリアライズドビュー使え
165デフォルトの名無しさん
2019/03/02(土) 11:49:44.37ID:egGs6Y+K そうだマテリアライズドビュー使え
166デフォルトの名無しさん
2019/03/02(土) 12:58:56.32ID:HQU7x3/f もしマテリアライズドビュー使ったら?
167デフォルトの名無しさん
2019/03/02(土) 14:32:26.26ID:391w8W0a 待てリアライズビューが始まる
168デフォルトの名無しさん
2019/03/02(土) 18:49:39.39ID:y8OJKCt/ >>129
loggerとかはシングルトンがいいんじゃねーの?
loggerとかはシングルトンがいいんじゃねーの?
169デフォルトの名無しさん
2019/03/02(土) 19:00:27.27ID:bakyLAA5170デフォルトの名無しさん
2019/03/02(土) 20:29:04.43ID:y8OJKCt/ >>169
俺はアンチシングルトンおじさんなんだけど、loggerだけはいいパターン見つかんなくて妥協して使ってるんだよねぇ
あとはシステム内で共有するパラメータとかも妥協的に
なんかいい手法あるかね?
俺はアンチシングルトンおじさんなんだけど、loggerだけはいいパターン見つかんなくて妥協して使ってるんだよねぇ
あとはシステム内で共有するパラメータとかも妥協的に
なんかいい手法あるかね?
171デフォルトの名無しさん
2019/03/02(土) 20:53:27.86ID:bakyLAA5 >>170
パラメータについては引数なりクラスメンバなりで渡した方が良いとは思う(システム内で変更があるなら)
loggerについて言い訳を用意するならば、基本的な動作は追記であって変更でないから
致命的な問題になりにくいというものはあるかも。
パラメータについては引数なりクラスメンバなりで渡した方が良いとは思う(システム内で変更があるなら)
loggerについて言い訳を用意するならば、基本的な動作は追記であって変更でないから
致命的な問題になりにくいというものはあるかも。
172デフォルトの名無しさん
2019/03/02(土) 21:03:35.11ID:GZ5C2Het ただ追記するだけのロガーなら確かにシングルトンである必要はあんまないわな
わざわざ別インスタンスを生成する理由も同様にないから、つまりそんなに悩むほど重要な問題じゃない
わざわざ別インスタンスを生成する理由も同様にないから、つまりそんなに悩むほど重要な問題じゃない
173デフォルトの名無しさん
2019/03/02(土) 21:09:02.07ID:KImDZwuV >>48
非同期処理を繰り返すとき
非同期処理を繰り返すとき
174デフォルトの名無しさん
2019/03/02(土) 21:29:24.61ID:hY2yNhzf 自分、ないしは自社で使うだけならシングルトンである必要はないんだろうけど、ライブラリとして公開するようなものなら間違った使い方をされることもありうるからシングルトンにしておきたくなったりしない?
175デフォルトの名無しさん
2019/03/02(土) 22:56:52.47ID:y8OJKCt/176デフォルトの名無しさん
2019/03/02(土) 23:42:02.50ID:KQCFitL1 目的は?
177デフォルトの名無しさん
2019/03/02(土) 23:44:27.56ID:iJkEnlOJ どんなアプリもシングル起動なんだから、そこに書けばいいだけだよな。
178デフォルトの名無しさん
2019/03/02(土) 23:48:01.36ID:KQCFitL1179デフォルトの名無しさん
2019/03/02(土) 23:51:49.69ID:KQCFitL1 今日は2019年3月2日だ。
DBによって日付が違うと動作不良を起こすがありゃなんでだ?
DBによって日付が違うと動作不良を起こすがありゃなんでだ?
180デフォルトの名無しさん
2019/03/03(日) 09:43:36.98ID:O68a6HXv そこまでは進んでない?
181デフォルトの名無しさん
2019/03/03(日) 11:25:14.70ID:BbxzBxVK >>175
ある程度の大きさのクラスを用意するとかかね。
それを継承して使いまわすとか。。
あんま大きすぎるとstatic変数やglobal変数と変わらんしあんまり良くないかな。
後はそれでも引数で渡しまくる。
実際cのプロジェクトで全ての関数はロガーを引数にするってなところもあった。
これはこれで確かにモジュラリティーは高くはなる。が面倒でもある。
ある程度の大きさのクラスを用意するとかかね。
それを継承して使いまわすとか。。
あんま大きすぎるとstatic変数やglobal変数と変わらんしあんまり良くないかな。
後はそれでも引数で渡しまくる。
実際cのプロジェクトで全ての関数はロガーを引数にするってなところもあった。
これはこれで確かにモジュラリティーは高くはなる。が面倒でもある。
182デフォルトの名無しさん
2019/03/03(日) 12:46:53.97ID:ITZTHuIP よくわからないし想像できないが炭におけないな。そんなプロジェクト
183デフォルトの名無しさん
2019/03/03(日) 16:17:33.81ID:YuQgiS/h 炎上ののち炭になるということ?
184デフォルトの名無しさん
2019/03/03(日) 16:56:29.71ID:E4UxtVYi ネタ
https://detail.chiebukuro.yahoo.co.jp/qa/question_detail.php;_ylt=A7YWPRXdr3FTZxMA39vl_PN7?qid=11118107201
https://detail.chiebukuro.yahoo.co.jp/qa/question_detail.php;_ylt=A7YWPRXdr3FTZxMA39vl_PN7?qid=11118107201
185デフォルトの名無しさん
2019/03/03(日) 20:04:38.79ID:miTn84+l 炭になってくれればいいんだけど、生焼けのままゾンビとして何年も残り続けるからタチが悪い
186デフォルトの名無しさん
2019/03/03(日) 20:56:46.98ID:eTCEJ2kQ187デフォルトの名無しさん
2019/03/05(火) 02:04:13.63ID:l2KGaBcJ >>39
早期リターン禁止してネスト深くするのは耐え難いわ
早期リターン禁止してネスト深くするのは耐え難いわ
188デフォルトの名無しさん
2019/03/05(火) 03:44:36.46ID:VDry4yCP 嫌ならgoto使え
189デフォルトの名無しさん
2019/03/05(火) 09:37:57.33ID:7BmVgGDk 動きゃいいんだよ。
ろくに動かないもんいつまでもデバッグしてるよりマシ
ろくに動かないもんいつまでもデバッグしてるよりマシ
190デフォルトの名無しさん
2019/03/05(火) 10:52:58.78ID:uHvCHwSS アーリーリターンがダメだからgoto使うとか、アホやかと
gotoこそ有無を言わさず全面禁止にするべきようなものなのに
gotoこそ有無を言わさず全面禁止にするべきようなものなのに
191デフォルトの名無しさん
2019/03/05(火) 11:29:06.76ID:HwCl8Q1J 馬鹿には無理
192デフォルトの名無しさん
2019/03/05(火) 12:34:15.96ID:590R4Sym returnは関数の最後に集約して、帰る時はgotoで飛ばすのが正しいスタイル
アーリーreturnが悪いわけじゃなくて、アーリーgotoラストreturnがより良いってだけの事
アーリーreturnが悪いわけじゃなくて、アーリーgotoラストreturnがより良いってだけの事
193デフォルトの名無しさん
2019/03/05(火) 12:49:30.50ID:uHvCHwSS その使い方なら確かにgoto使うのが一番スッキリするな
アホがむやみに使うせいで悪者扱いされるgotoさんは本当に気の毒だ
つっても最近の言語だとそもそもgotoが存在しない言語も多いけど
アホがむやみに使うせいで悪者扱いされるgotoさんは本当に気の毒だ
つっても最近の言語だとそもそもgotoが存在しない言語も多いけど
194デフォルトの名無しさん
2019/03/05(火) 14:00:42.08ID:7BmVgGDk 行き先不明のgotoより、明確に行き先が分かるreturnの方が遥かに安全だろ。
195デフォルトの名無しさん
2019/03/05(火) 14:46:08.15ID:uHvCHwSS phpにgotoがあることを今知ったわ
一律禁止しておかないと地獄のようなコードが量産されそうだなw
一律禁止しておかないと地獄のようなコードが量産されそうだなw
196デフォルトの名無しさん
2019/03/05(火) 22:05:45.65ID:0hQsMhrx 大域脱出をググっているんだが
英語でなんていうのか出てこない
英語でなんていうのか出てこない
197デフォルトの名無しさん
2019/03/05(火) 22:38:10.58ID:EBikh2IV staticでいいよ
オブジェクト指向が綺麗にハマるパターンなんてほとんどない
オブジェクト指向が綺麗にハマるパターンなんてほとんどない
198デフォルトの名無しさん
2019/03/05(火) 22:48:09.33ID:pOIJCY+L >>196
C言語のsetjumpとlongjump?
C言語のsetjumpとlongjump?
199デフォルトの名無しさん
2019/03/06(水) 17:31:56.59ID:/lIbHJ9o GOTO禁止という余計な知識は知っていても
そのGOTOがどの言語のものを指し、なぜ言われていたのかを理解していない者は少なくない
理由も経緯も理解せず、ただそれが正しいものだと信じるのであれば、それは単なる信仰にすぎない
間違っている例
「昔の8bitマイコンで動いてたようなBASICは構造化されてないからGOTOでスパゲッティになる」
「構造化されているC言語ではGOTOを使うべきではない」
GOTOを使うべきではないと”有名な論文”で言われていたのは
論理IF文(IF〜ELSE〜THEN)すらなく、何をするにもGOTOで溢れかえっていた
古い規格のFORTANがほぼ前提になっている事を理解しなければならない
そのGOTOがどの言語のものを指し、なぜ言われていたのかを理解していない者は少なくない
理由も経緯も理解せず、ただそれが正しいものだと信じるのであれば、それは単なる信仰にすぎない
間違っている例
「昔の8bitマイコンで動いてたようなBASICは構造化されてないからGOTOでスパゲッティになる」
「構造化されているC言語ではGOTOを使うべきではない」
GOTOを使うべきではないと”有名な論文”で言われていたのは
論理IF文(IF〜ELSE〜THEN)すらなく、何をするにもGOTOで溢れかえっていた
古い規格のFORTANがほぼ前提になっている事を理解しなければならない
200デフォルトの名無しさん
2019/03/06(水) 17:38:09.02ID:nP+qIuYQ FORTRANのGOTO禁止なんてFOR-NEXT外から中への突入だけだろ
それ以外は禁止なんてされてない
それ以外は禁止なんてされてない
201デフォルトの名無しさん
2019/03/06(水) 17:42:00.64ID:aGeQ5QQv まあ今時の言語なら大抵のケースにおいてgotoより良いやり方が用意されてるからな
一つ間違えたら大惨事を引き起こしかねないような代物をあえて使う理由もない
一つ間違えたら大惨事を引き起こしかねないような代物をあえて使う理由もない
203デフォルトの名無しさん
2019/03/06(水) 18:39:59.24ID:T925dhjI try〜catchとか後藤さんが嫌われて活躍してるじゃん。
>>203
try〜catch=SetJumpLongJmp ですか…たしかに一本とられました
try〜catch=SetJumpLongJmp ですか…たしかに一本とられました
205デフォルトの名無しさん
2019/03/06(水) 19:25:13.11ID:/lIbHJ9o 「GOTOを地上から消し去れ!とにかくGOTO表記を消し去れ!聖典にそう書いてあるというのを聞いたことがある!!」
置き換え可能な全ての機能をGOTOで置き直せ、と強制されているわけでもないのに
GOTOの4文字を目にした途端に発狂して「GOTOは悪魔の文字だ!使うな!」とわめき始める
GOTO否定教の信者さんは大変だな
置き換え可能な全ての機能をGOTOで置き直せ、と強制されているわけでもないのに
GOTOの4文字を目にした途端に発狂して「GOTOは悪魔の文字だ!使うな!」とわめき始める
GOTO否定教の信者さんは大変だな
206デフォルトの名無しさん
2019/03/06(水) 19:42:48.36ID:L0cGL7i+ ラベル付きの break, continue が現れたことで goto 文は息の根を止められたのでは?
207デフォルトの名無しさん
2019/03/06(水) 20:03:07.63ID:SgTtMyqz 下向きgotoはそこまで悪いとは思わない
gotoと並行してフラグ変数作りまくるのを勘弁して欲しい
gotoと並行してフラグ変数作りまくるのを勘弁して欲しい
208デフォルトの名無しさん
2019/03/06(水) 20:17:08.11ID:RlXQ9XDp 後藤「差別やめれ」
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【サッカー】Jリーグ観客動員が歴代最多を更新 初の「1300万人超え」達成…平均入場者数も史上最高に [尺アジ★]
- サナエノミクスについて力説 積極的な財政出動で「所得増える 消費マインド上がる 税収増える」片山さつき財務大臣 ★3 [少考さん★]
- 日中対立「着地点」見えず 中国、他国にも圧力の過去―関係悪化から1カ月 [蚤の市★]
- 日本の英語力96位から動かず AI評価で可視化された「読めるが話せない」の正体 (EF EPI 2025) ★2 [少考さん★]
- 【芸能】粗品、日本テレビに苦言 客のレベルが「かなり低い。あいつら分かってない」「拍手したいだけやねん」 [冬月記者★]
- 【静岡】伊東市長選、前市議の杉本氏初当選 学歴詐称疑惑の田久保氏は及ばず 市長選3700万円、市議選6300万円の計1億円費やされる [ぐれ★]
- 【朗報】イーロン・マスク「AIとロボットで誰も働かなくて良くなる。全員ニートで金銭も税金もないパラダイスみてぇな国を作りてえ」 [347751896]
- 結局白米にかけるベストパートナーは「ごはんですよ」と「なめ茸」どっちなんや?
- うまトマ食って「うまトマ〜」って言って滑ったんだが!?
- なんでネトウヨが勃起してるの? [377482965]
- 今これで全力シコってる
- 千反田えるってうんこするの?
