トイレットペーパーでプログラミングの変数を理解する模型(🧻0Null…)【ねとらぼ】

picture

1:5ch名無し民2022/01/11(火) 06:47:34.47ID: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)

4:5ch名無し民2022/01/11(火) 06:48:56.81ID:44g4v+dO0

>>1
嘗糞文化ならでは
やっぱジャップはスカトロジスト民族だわw

40:5ch名無し民2022/01/11(火) 07:36:56.51ID:GNPzsEeP0

>>1以外の定義の言語ってなんだ?

58:5ch名無し民2022/01/11(火) 07:52:46.90ID:upNgmY3s0

>>1
トイレットペーパーの芯にチンコ入れてシコシコ

77:5ch名無し民2022/01/11(火) 07:58:36.17ID:euPgIIfa0

>>1
ぬるぽはトイレットペーパーをセットする棒がない状態だな。

96:5ch名無し民2022/01/11(火) 08:04:04.54ID:O9zQ26Af0

>>58
入るの?

125:5ch名無し民2022/01/11(火) 08:22:08.30ID:0/C1/q/w0

>>4
スカトロトンスラーが何か言ってる

2:5ch名無し民2022/01/11(火) 06:48:18.47ID:iXBWpE8V0

クソ記事

3:5ch名無し民2022/01/11(火) 06:48:27.02ID:aKYL5cCP0

Nullぽ

5:5ch名無し民2022/01/11(火) 06:50:16.10ID:ls5Xp8YP0

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

6:5ch名無し民2022/01/11(火) 06:51:06.12ID:P+4lwXnQ0

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

7:5ch名無し民2022/01/11(火) 06:55:20.58ID:d/WtIMKy0

間違ってね?

8:5ch名無し民2022/01/11(火) 06:57:11.88ID:bqzrcbBf0

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

10:5ch名無し民2022/01/11(火) 06:59:13.49ID:VJUftyxn0

オナニーはトイレットペーパーにした方がトイレに流せるので俺はトイレットペーパー専門だな

95:5ch名無し民2022/01/11(火) 08:03:59.20ID:9cAZ3aG00

>>10
すぐ拭き取ればいいが乾くと悲惨だけどな

11:5ch名無し民2022/01/11(火) 07:00:25.81ID:vhLvlHiS0

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

12:5ch名無し民2022/01/11(火) 07:00:57.59ID:NaI3BJ+S0

そんなデクリメントしか使えない変数で大丈夫か?

13:5ch名無し民2022/01/11(火) 07:02:18.40ID:ATztym/h0

ガムテだとケツ毛持ってかれるぞ!

15:5ch名無し民2022/01/11(火) 07:03:13.83ID:cdheVzUR0

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

16:5ch名無し民2022/01/11(火) 07:08:36.79ID:loI+vi8m0

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

23:5ch名無し民2022/01/11(火) 07:24:03.22ID:pSsC2tNH0

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

37:5ch名無し民2022/01/11(火) 07:34:04.31ID:GLI/00jG0

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

28:5ch名無し民2022/01/11(火) 07:30:28.18ID:QKJRAe5G0

.Netしか分からないおっさんだけど、Newする場合としない場合の理解に1ヶ月かかったわ

29:5ch名無し民2022/01/11(火) 07:30:40.73ID:sMpWhngM0

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

30:5ch名無し民2022/01/11(火) 07:30:57.01ID:oJ2yDCZY0

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

33:5ch名無し民2022/01/11(火) 07:31:36.61ID:sMpWhngM0

*が穴に見えるのだろう

34:5ch名無し民2022/01/11(火) 07:32:31.99ID:sMpWhngM0

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

53:5ch名無し民2022/01/11(火) 07:51:23.32ID:sMpWhngM0

IDコロコロしてて唐突に表れる
よく透明にしたと気が付いたなゴミ
なかなか慣れてるじゃないかハゲ

57:5ch名無し民2022/01/11(火) 07:52:33.82ID:sMpWhngM0

しかし理解してる側からするとなんでそこで詰まるんだ?ってのを眺めるのは楽しいたまらん

60:5ch名無し民2022/01/11(火) 07:53:09.16ID:TyN3RiCU0

>>57
お前、何ひとつ理解してないだろ馬鹿

62:5ch名無し民2022/01/11(火) 07:53:54.44ID:GNPzsEeP0

今時ポインターなんて使う場面ある?
for文でさえ見なくなったのに。

64:5ch名無し民2022/01/11(火) 07:54:08.22ID:/8o+O5930

よほど常日頃いじめられてるんだろうな
この無限ループっぷりはポインタおじさんじゃないわ

ポインタだめだめおじさん元気してるかな?

67:5ch名無し民2022/01/11(火) 07:55:02.78ID:/8o+O5930

コアな実装してない上辺だけの末端PGだったらポインターなんて見る機会すらないでーすと自己紹介してるようなもの

71:5ch名無し民2022/01/11(火) 07:56:53.45ID:Y72fpIRy0

ゼロとnullの差がイマイチだよな
nullをうまく表現できてない

74:5ch名無し民2022/01/11(火) 07:57:30.78ID:jlt0+8hq0

>>71
奈良の意味と同じだよ

82:5ch名無し民2022/01/11(火) 08:00:08.44ID:08tACjVW0

初めて代入文 y:=x を見て、この後 x は値が消えてなくなっちゃうと思い込む人は一定数居るんだよな

101:5ch名無し民2022/01/11(火) 08:05:45.52ID:TZX1f/Kp0

グローバルなの?

113:5ch名無し民2022/01/11(火) 08:13:41.56ID:GowDn3Fv0

こんなの素人にはそっこうで意味不明だろ

115:5ch名無し民2022/01/11(火) 08:14:42.09ID:BA8LqEUv0

トイレットペーパーで説明しなきゃわからないのが問題

117:5ch名無し民2022/01/11(火) 08:15:12.42ID:2qoHugOB0

なんでnullにトイレットペーパーの芯が代入されてるの?

119:5ch名無し民2022/01/11(火) 08:17:34.73ID:GUTVHvk90

>>117
芯じゃない
ホルダーだけ
トイペというオブジェクトがないのでnull

124:5ch名無し民2022/01/11(火) 08:21:21.86ID:9iQLD/sv0

++1は?