ニュース速報

【朗報】トイレットペーパーでプログラミングの変数を理解する模型、爆誕www

1:名無しさん@2ろぐちゃんねる : 2022/01/11(火) 06:47:34.47 ID:Jo/nnQVM9

トイレットペーパーでプログラミングの変数を理解する模型が分かりやすい 「絶妙」「秀逸」と話題に

ただしガムテでお尻は拭けないものとする。
https://nlab.itmedia.co.jp/nl/articles/2201/10/news048.html

2022年01月10日 19時50分 公開

https://image.itmedia.co.jp/nl/articles/2201/10/l_ah00_null1.jpg

プログラマーが変数を理解するため、トイレットペーパーに例えてみた模型が「分かりやすい」「秀逸」と注目を集めています。



製作したのはTwitterユーザーのぱんかれ(@pcb)さん。木箱の中に、小さなトイレットペーパーホルダーが入っており、それぞれ「Non Zero Value(トイレットペーパーがついてる)」「0(芯だけついてる)」「Null(何もついてない)」「Undefined(ホルダーすらない)」「NaN(ホルダーにガムテープがついてる)」とラベルがついています。

 ぱんかれさんの説明によると、トイレットペーパーを数値(signed integer)だとすると、

Non Zero Value:0ではない長さのトイレットペーパー(残量≒数値)
0:長さ0のトイレットペーパー(残量がちょうど0:棒には芯だけになってる)
Null(無):トイレットペーパー自体がセットされてない(ので芯すらない)
Undefined(未定義):トイレットペーパーが入るための器(データ型)がない(未定義なので、そこにトイレットペーパーを入れる先がない)
NaN(Not a Number:数字ではない):トイレットペーパー(≒数値)ではない

 なおNaNは1+NaNのように数字を足しても全てNaNになるので、「(ガムテが入ったホルダーにトイレットペーパーを入れても)トイレットペーパーにガムテープがくっついて使えなくなるので数字にならない」とのこと(※ただしガムテでお尻は拭けないものとする)。

(略)

※省略していますので全文はソース元を参照して下さい。
https://twitter.com/5chan_nel (5ch newer account)



元スレ https://asahi.5ch.net/test/read.cgi/newsplus/1641851254/

3:名無しさん@2ろぐちゃんねる : 2022/01/11(火) 06:48:27.02 ID:aKYL5cCP0

Nullぽ


9:名無しさん@2ろぐちゃんねる : 2022/01/11(火) 06:57:40.80 ID:C4ayrCEE0

>>3
GAッ



5:名無しさん@2ろぐちゃんねる : 2022/01/11(火) 06:50:16.10 ID:ls5Xp8YP0

言語やDBによって取り扱いが異なるのでちゃんと確認するように


6:名無しさん@2ろぐちゃんねる : 2022/01/11(火) 06:51:06.12 ID:P+4lwXnQ0

芯があるのとないのは使い古された表現だな


7:名無しさん@2ろぐちゃんねる : 2022/01/11(火) 06:55:20.58 ID:d/WtIMKy0

間違ってね?


19:名無しさん@2ろぐちゃんねる : 2022/01/11(火) 07:17:19.76 ID:GNPzsEeP0

>>7
kwsk



8:名無しさん@2ろぐちゃんねる : 2022/01/11(火) 06:57:11.88 ID:bqzrcbBf0

意味不明w
そんなんでわかった気になってんじゃねえやw



22:名無しさん@2ろぐちゃんねる : 2022/01/11(火) 07:23:40.85 ID:sMpWhngM0

>>8
意味不明と言えばいいと思ってるだろ?
そうじゃなくて理解しようとしてないからだ
お前にはがっかりだ



11:名無しさん@2ろぐちゃんねる : 2022/01/11(火) 07:00:25.81 ID:vhLvlHiS0

トイレットペーパーの構造に前提が多すぎるだろw普通に箱とミカンでいい


14:名無しさん@2ろぐちゃんねる : 2022/01/11(火) 07:02:35.72 ID:vnoI7b440

分かってる人には当たり前
分からない人には白人の出身国を当てるくらい困難



15:名無しさん@2ろぐちゃんねる : 2022/01/11(火) 07:03:13.83 ID:cdheVzUR0

このレベルの理解で模型まで必要なら
プログラミングは向いてない気がする…



207:名無しさん@2ろぐちゃんねる : 2022/01/11(火) 11:23:11.43 ID:TsoGumzg0

>>15
これ
プログラミングというより算数の □ を使った方程式で学ぶ範囲がほとんど



16:名無しさん@2ろぐちゃんねる : 2022/01/11(火) 07:08:36.79 ID:loI+vi8m0

よくある「箱(変数)を用意(定義)してそこにもの(値)を入れる」で理解できない人がいるのか


55:名無しさん@2ろぐちゃんねる : 2022/01/11(火) 07:51:49.92 ID:NaI3BJ+S0

>>16
nullの話だと箱の名前だけあって箱



210:名無しさん@2ろぐちゃんねる : 2022/01/11(火) 11:26:44.02 ID:TsoGumzg0

>>55
CだとNULLは0だからな
変数のアドレスが0とは限らない



199:名無しさん@2ろぐちゃんねる : 2022/01/11(火) 11:03:19.29 ID:9jmSUm0p0

>>16
お前が理解できてない説



206:名無しさん@2ろぐちゃんねる : 2022/01/11(火) 11:20:34.09 ID:5K/9BXKc0

>>16
0とNullとNaNをどうやって表現する?



17:名無しさん@2ろぐちゃんねる : 2022/01/11(火) 07:11:19.43 ID:kD7rePdB0

ツッコミだしたら色々言いたくなるけど
面白いからまあよし



18:名無しさん@2ろぐちゃんねる : 2022/01/11(火) 07:15:13.38 ID:29Cdy6s20

定義域以外の値を入れたい
ロール10個分とかマイナスとか



20:名無しさん@2ろぐちゃんねる : 2022/01/11(火) 07:21:04.25 ID:z0zqZUDF0

プログラミングがわかってる人にはこの模型がわかる
わかってない人にはわからない
学習用にはならなそう。ジョークとしておもしろい



23:名無しさん@2ろぐちゃんねる : 2022/01/11(火) 07:24:03.22 ID:pSsC2tNH0

空文字””はどういう扱い?


37:名無しさん@2ろぐちゃんねる : 2022/01/11(火) 07:34:04.31 ID:GLI/00jG0

>>23
芯のないトイレットペーパーが後1周しかない状態かなぁ



209:名無しさん@2ろぐちゃんねる : 2022/01/11(火) 11:25:17.17 ID:I7xI+c9o0

>>23
ただの0じゃん



232:名無しさん@2ろぐちゃんねる : 2022/01/11(火) 12:36:09.15 ID:4AenXzMo0

>>23
ガムテープの芯だけ



25:名無しさん@2ろぐちゃんねる : 2022/01/11(火) 07:28:15.88 ID:sMpWhngM0

空文字は文字列型のサイズのない状態か
あるいは、中身のない空っぽなやつ



26:名無しさん@2ろぐちゃんねる : 2022/01/11(火) 07:28:58.42 ID:sMpWhngM0

無と空の違いを中身が無い者には理解するのは難しい


29:名無しさん@2ろぐちゃんねる : 2022/01/11(火) 07:30:40.73 ID:sMpWhngM0

ポインタを知っていても理解できずに敗れ去ったJava屋が哀れ


30:名無しさん@2ろぐちゃんねる : 2022/01/11(火) 07:30:57.01 ID:oJ2yDCZY0

これを理解に一助としてちゃんと調べてくれれば良いが


31:名無しさん@2ろぐちゃんねる : 2022/01/11(火) 07:31:03.19 ID:upJp2/100

1回30センチとか使っていい長さが決められてそうだな
あんまり使いたくない



33:名無しさん@2ろぐちゃんねる : 2022/01/11(火) 07:31:36.61 ID:sMpWhngM0

*が穴に見えるのだろう


34:名無しさん@2ろぐちゃんねる : 2022/01/11(火) 07:32:31.99 ID:sMpWhngM0

だがしかし、nullポインターが~などと得体のしれない化け物のように扱うことだけは上手だったな


35:名無しさん@2ろぐちゃんねる : 2022/01/11(火) 07:32:47.35 ID:QElloTIe0

言語によって違うから


41:名無しさん@2ろぐちゃんねる : 2022/01/11(火) 07:37:31.77 ID:sMpWhngM0

ごちゃごちゃうるせえくそ野郎って言いたいだけなんだろうな
追い詰められてるのだろうニチャァ



44:名無しさん@2ろぐちゃんねる : 2022/01/11(火) 07:40:45.50 ID:jYwie3ZP0

そんな小手先のことより自分で簡易プロセッサーを設計した方が早いよ
ハードとソフト、まぁこの場合はRTLシミュレーションとアセンブラがどう動くか分かれば、高級言語の動きなんて自然の摂理の如く理解可能



46:名無しさん@2ろぐちゃんねる : 2022/01/11(火) 07:42:51.02 ID:sMpWhngM0

論理回路を自分で実装してみれば確かにおのずと理解できるだろ
低みからのマウンティング行為



49:名無しさん@2ろぐちゃんねる : 2022/01/11(火) 07:46:23.84 ID:+b+gbVdm0

ソフトウェアは仮想じゃなくて
実際に回路を使って実装されるもの。
といえばだいたい理解してくれるもんだ。



52:名無しさん@2ろぐちゃんねる : 2022/01/11(火) 07:50:28.19 ID:sMpWhngM0

モグラたきげーむみたいになっててワロタ


56:名無しさん@2ろぐちゃんねる : 2022/01/11(火) 07:51:57.16 ID:zDqoMZ750

日本もインドみたいに16×16まで暗記するとかしたらいいんじゃね
インド式数学もいいよね



コメント

メールアドレスが公開されることはありません。