関数呼出しはgoto文である
関数fがあったからfを読んでみたらfのなかに関数gがあった。
gを読んでみたら関数hがあった。
これはgoto文だと思った。
しかし、関数に切り出すのは構造化プログラミングだと言われている。
gotoがダメだから構造化プログラミングにパラダイムシフトしたのに
所詮はgotoなのである。 >>200
そういう事は、銃が伝来する前に日本人は火縄銃を作り上げたというような史実が確認できてから言え
歴史を見る限り日本人は発明がひどく苦手で、得意としているのは応用だ 発明という言葉を一体どう解釈しているのか……
プログラマは日本語できないという事実を再発明してしまった 既に発明されてるものを再び一から作ることよね再発明って 細かいようだけど、一から作るのとゼロから作るのはまったく違うからな
一から作る場合は車輪が出来る事は決まっているけど、ゼロから作る場合は出来上がるものが車輪と同等とは限らない 説明が足りないか
同等と限らないというのは、最終的に果たせる仕事が異なるという事ではなくて、実装方法なり使用方法なりが違うものが出来る余地があるという事
それだけなら、より優れたものが出来る可能性もあるから一概に否定できないんだが、問題は
「何が悪い」派の人間に、それが達成できそうだと思える要素が皆無であるという事だ
一から作るというのは本当にただの猿真似で、真似である限りは発明と呼べるものじゃない
>>200がそれに該当する 0オリジンでなく、1オリジンで言ったつもりだったんだが… >>210
オリジンなどどうでもいいが、一という言葉に無という意味はあるか? >>211
作り始めたら、もうその時点で無ではないよ
始めた時点で1だろ? >>212
作り始める瞬間までが無ではないと主張するなら、それはお前が発明とはどういう事なのか理解していないという事だ これまで存在しないものを創ったと思っていたら
既にあるものだったと皮肉られてるのが"再発明"だろ >>213
まあどっちでもいいや、最初からってことでいいじゃん
君は0オリジン、俺は1オリジンで言ったまで
何故そこにこだわる? まぁツリーとかグラフ関係は殆ど未開なんじゃないの
オブジェクト指向のほうは99%以上終わってる コンパイル後のニモニックでPush Pop jumpで構成する場合があるから
>>1は間違いとも言えないだろう 俺と同じ考えなんだからあんたはアスペって奴だ
わざわざ俺を評価しに来たのがその証拠だ 関数にはブロックが付いてくるけど、ラベルにはついてこないから
そこをどうするかだな。
ラベルはエクスポートできないし。 関数呼び出しは継続を引数としたgoto、って何年も前に結論が出てるんだが 関数の呼び出しはgoto文の一種だよ。
goto文はノイマン型コンピュータの必須条件の一つな。
従いgoto文がないとノイマン型は成立しない。
嘘だと思うならば、アセンブラ/機械語を見れば判る。goto文のない機械語は存在しない。 ダイクストラが提唱した構造化プログラミングの延長線上にカーニハン&リッチーが提唱したgoto文追放がる。
これを理解しないと勘違いして、goto文のかわりにreturn文を書く馬鹿が出現する。
C言語はgoto文を{}というマクロで自動生成し、プログラマがgoto文を記述しなくてよいよう自動化した。
つまり、カーニハン&リッチーの本当の主張はC言語がかわりにgoto文を生成するから意図的に使う
必要がない。というのが本当の意味な。
それを馬鹿の一つ覚えみたいに、goto文を使わないと先に進まない。じゃあreturn文を関数の
ドンケツにjumpすればgoto文を使った事にならない。ってのが現在の惨状な。 まずFORTRANの時代のプログラミングを見せよう。良くわかる。C言語にしたがい記述する。
--------------------------------
if( hoge==moge ) goto L1;
goto L2;
L1:
printf( "hoge==moge !!" );
func();
L2:
-------------------------------
これを{}を使って書くとこうなる。
if( hoge==moge ) {
printf( "hoge==moge !!" );
func();
}
これがカーニハンとリッチーの言いたかったことさ。
goto文とラベルの関係を抽象化して大幅に整理した。
構造化プログラミングをきっちり検討した香具師ならばこのあたりの事を理解している。
おきらくにCOBOL、フォートラン、当時のBASICを使っていた香具師は構造化が判らないから
漫然と都合が悪くなるとreturn文を書いている。 分裂症かよ。
関数呼び出しをアセンブラ/機械語でgotoだのjmpだのbranchにしたところで、戻り先の管理とかは自前でやるのか。割り込みはどうすんだ。
それにgoto一般の話は別のスレでやれ。 日本のコーダって質が低いんだな
まるで工場労働者みてえだ ってか、コーダーはプログラマじゃない。言われたとおり、書くだけな。
どっちかというとキーパンチャーに近い。
ってか、コーダーにgoto文もへったくれもないだろう。
>>230
をいをい、割り込みなんて高級言語に存在しない概念を言ってもしょうがないべさ。
厨坊のスキルを考慮して発言しな。
割り込みなんてのはアセンブラか組み込みでしか出てこない。組み込みだって、
高級言語で書くんだったらアドレステーブルを定義するだけで割り込みなんて言葉さえ
でてくるか怪しいもんだ。 自前で処理してretで戻るのはわりとよくやったが…… JavaScriptには、exit()がない。えらいことです そういや割り込みハンドラからの復帰をretiでなくretで済ませようとしてたバカ元請けがいたな
あれで給料はこっちの3倍だってんだからw 直観主義は型付きλ計算に対応するわけだけど、排中律に対応するのがgotoなわけだよ。 古典論理から排中律を無くしたのが直観主義だからな。 型付きλ計算がわからない人は普通の関数言語だと思っておけばいい。 やれやれ…
そのretを使った香具師はきっとスタックの概念を明確に理解していなかったんだろうな。
いや、CPUには割り込みレベルがあるかな?
うろ覚えだがretiは、戻りのアドレス+割り込みレベルじゃなかったっけな。
callが使用したスタックをret/retiで戻すという概念を把握していなかったんだろう。
正直、CPUの自作を最初にさせるべきだよ。アセンブラ/C言語の拾得者にはね。
いやCPUエミュレータで内部レジスタの動きを見せてやれば理解できるか。 私が道民の家でお茶をご馳走になったときのこと
その家の42歳の息子がむずかりだした。
母親がその子を椅子の上に立たせてパンツを降ろし
牛乳の空きパックを男性器にあてがうと小便をした。
しかも、あろうことか空きパックに入ったものを
キッチンの流しに捨てたのです。
その慣れた様子からも日常的にしているのでしょう。 自分の置かれている現状の状況を改善しようとしないで
5ちゃんねるを荒らして自己満足に浸っているのはアホなんだろうなとは思う 僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』
05OYY 今は投機実行とかの関係で分岐を多用すると遅くなるから
可能な限りGOTO(無条件ジャンプ)を使ったほうがいいよ。 関数呼び出しはgotoである
そしてgotoはcall/ccである