【画像】 プログラミング初心者がつまづきやすい「0とNULL」の違いを表した画像がわかりやすいと評判

    24
    コメント

    1: キチンシンク(宮城県)@\(^o^)/ [US]: 2017/02/26(日) 12:06:47.29ID:4o5UqqM70
    プログラミング初心者がつまづきやすい0とnullの違いを「トイレットペーパーで」解説した画像が見事

    ホルダーが写っています。左側は「トイレットペーパーがなくなり芯が残っている状態」、
    右側は「芯も何も存在していない状態」です。



    左が0、右がnullを表している

    http://nlab.itmedia.co.jp/nl/articles/1702/22/news143.html




    9: 閃光妖術(岐阜県)@\(^o^)/ [US]: 2017/02/26(日) 12:09:10.22ID:CrH4t0E20.net
    確かに言われれば


    12: エルボーバット(やわらか銀行)@\(^o^)/ [CN]: 2017/02/26(日) 12:10:20.63ID:hwuiX5rq0.net
    全然わかんない
    なんなら余計にわかんない



    185: 魔神風車固め(庭)@\(^o^)/ [ニダ]: 2017/02/26(日) 13:10:18.59ID:8LwTT+W+0.net
    >>12
    パソコンはプログラムを動かす為には
    プログラムコードをメモリに読み込む
    必要がある。
    広大なメモリ領域のある部分からある
    部分までに読み込むように作ったプログラム
    がバグっていて領域だけ確保はしたものの、
    何も読み込まれていない未使用な状態がNULL
    そこに数字専用って設定して何も入れてないなら0、
    文字を入れるって設定して何も入れないなら
    文字の長さが0の文字列になる。




    3: 足4の字固め(東京都)@\(^o^)/ [KR]: 2017/02/26(日) 12:07:45.37ID:I+zS+gs30.net
    nilとかいう気持ち悪い記述


    337: ラ ケブラーダ(やわらか銀行)@\(^o^)/ [CN]: 2017/02/26(日) 16:00:30.17ID:kTM8HO0N0.net
    >>3
    トンツーの時代には送信する電文が無くなったときにNILと打った


    nil (ニル):
    プログラミング言語で、なにもない、といった意味のものの名前。Nullも参照。

    https://ja.wikipedia.org/wiki/Nil


    15: トペ コンヒーロ(東日本)@\(^o^)/ [US]: 2017/02/26(日) 12:11:47.11ID:+puMyGoq0.net
    余計にわからん


    32: ダイビングヘッドバット(茸)@\(^o^)/ [US]: 2017/02/26(日) 12:17:01.97ID:zdbS6G2K0.net
    >>15
    0=箱の中身が空
    null=箱自体がない



    59: フェイスクラッシャー(やわらか銀行)@\(^o^)/ [ニダ]: 2017/02/26(日) 12:21:15.20ID:WI4Q/6Nf0.net
    >>32
    おめーの方が分かりやすいじゃねーか



    68: ニールキック(福島県)@\(^o^)/ [US]: 2017/02/26(日) 12:24:21.39ID:VjaNo3sI0.net
    >>32
    なるほど



    230: 毒霧(埼玉県)@\(^o^)/ [US]: 2017/02/26(日) 13:42:23.05ID:X/DxmBrQ0.net
    >>32
    これは的確



    292: ファイヤーバードスプラッシュ(やわらか銀行)@\(^o^)/ [ニダ]: 2017/02/26(日) 14:36:49.67ID:p4bzXKdm0.net
    >>32
    箱の中身が空なのがnullだよなあ



    298: アトミックドロップ(東日本)@\(^o^)/ [US]: 2017/02/26(日) 14:43:47.25ID:kXtcKN5k0.net
    >>32
    0は0が「有る」
    nullはなにも「無い」
    ってこととは違うのか?



    307: アイアンクロー(庭)@\(^o^)/ [US]: 2017/02/26(日) 14:54:46.50ID:fCDidlWn0.net
    >>298
    >1のトイレ紙でいうと
    0はトイレ紙が設置されている状態の結果、紙がないから0
    nullはトイレ紙が設置されていない状態なので数値化できないからnull

    あと表に数値記入するとして100とか0とか以外に-みたいな場合かね



    17: 足4の字固め(千葉県)@\(^o^)/ [RU]: 2017/02/26(日) 12:12:26.45ID:iGrjETJl0.net
    0.0003くらい残ってるじゃん


    29: ジャンピングエルボーアタック(神奈川県)@\(^o^)/ [PL]: 2017/02/26(日) 12:16:19.32ID:tXvki/eP0.net
    >>17
    切り捨てだから・・・



    287: 河津掛け(SB-iPhone)@\(^o^)/ [EU]: 2017/02/26(日) 14:33:48.58ID:yZmSy7+L0.net
    >>17
    おめえめんどくさいって言われるだろ



    248: 16文キック(大阪府)@\(^o^)/ [DE]: 2017/02/26(日) 13:58:43.86ID:dLfzdcya0.net
    >>17
    そういうイチャモンのつけかた嫌いじゃない



    21: スパイダージャーマン(空)@\(^o^)/ [CN]: 2017/02/26(日) 12:13:06.29ID:xMqMRcDE0.net
    上の絵をみてピン来なかったけど

    int型の容器が用意されているけど
    その中身がないのが0

    容器すら用意されていないのがnull

    っていいたいのかな



    37: アキレス腱固め(宮城県)@\(^o^)/ [ニダ]: 2017/02/26(日) 12:17:28.97ID:QPl7/Rg+0.net
    >>21
    Variant型に「何も入ってない」のがNullで「整数の0が入っている」のが0



    43: 河津掛け(福岡県)@\(^o^)/ [CH]: 2017/02/26(日) 12:18:32.64ID:2xeJUaqo0.net
    Tableで組んであったのが分かりやすかったけどな。
    セルに0と書いてある、何も書いてない(空文字列)、セルすら無い(null)の違い。



    52: ときめきメモリアル(石川県)@\(^o^)/ [UA]: 2017/02/26(日) 12:19:52.70ID:ZY3WKH2i0.net
    オブジェクト指向とは何か調べたら車とか動物とか余計なものが出てきてかえってわからなく
    なったことならある



    56: ボ ラギノール(福岡県)@\(^o^)/ [US]: 2017/02/26(日) 12:20:21.84ID:B6LvxdZs0.net
    存在する無と存在しない無か


    65: ローリングソバット(家)@\(^o^)/ [RU]: 2017/02/26(日) 12:23:47.45ID:vjtWj41k0.net
    これは分かりやすいと思うわ


    69: ミラノ作 どどんスズスロウン(庭)@\(^o^)/ [US]: 2017/02/26(日) 12:24:21.44ID:gAOnKIFq0.net
    昔は 00h をnullと呼んだのだが


    77: トペ コンヒーロ(庭)@\(^o^)/ [US]: 2017/02/26(日) 12:26:19.26ID:WX1qOZXy0.net
    僕のあたまがシンタックスエラー


    95: アキレス腱固め(宮城県)@\(^o^)/ [ニダ]: 2017/02/26(日) 12:30:33.56ID:QPl7/Rg+0.net
    「ゼロかNullならTrue」って構文が欲しいよなぁisNullとかマンドクセ


    106: ダイビングフットスタンプ(広島県)@\(^o^)/ [ニダ]: 2017/02/26(日) 12:35:40.26ID:Fc/fFtqo0.net
    そりゃあ試験の点数が0なのと、
    受けてすらいないのは扱いが違うだろ。



    116: ダイビングヘッドバット(オーストラリア)@\(^o^)/ [ES]: 2017/02/26(日) 12:38:37.43ID:hH/gAZla0.net
    >>106
    それが一番しっくりくる



    168: ラ ケブラーダ(庭)@\(^o^)/ [FR]: 2017/02/26(日) 13:00:45.44ID:ip6/Ladt0.net
    >>106
    それを言うならnullは受ける前だな



    133: スパイダージャーマン(空)@\(^o^)/ [CN]: 2017/02/26(日) 12:43:03.45ID:xMqMRcDE0.net
    >>106
    ぼくらの女性経験の数は?
    正確にはnullなの?



    137: ハーフネルソンスープレックス(北海道)@\(^o^)/ [ヌコ]: 2017/02/26(日) 12:43:50.54ID:/F7A1CS70.net
    >>133
    お前が存在してるから0だろ



    145: スパイダージャーマン(空)@\(^o^)/ [CN]: 2017/02/26(日) 12:47:44.28ID:xMqMRcDE0.net
    >>133
    試験を受けていたらゼロ以上
    試験を受けていなければヌル



    140: ファイナルカット(空)@\(^o^)/ [CA]: 2017/02/26(日) 12:45:18.72ID:GxfLzyuh0.net
    >>133
    イケメン→0、1、2…
    俺やお前→Null



    156: フェイスロック(神奈川県)@\(^o^)/ [FR]: 2017/02/26(日) 12:53:31.22ID:NUIYPLUS0.net
    >>140
    こんな夢も希望もないレス見るのは久しぶりだわ



    160: 河津掛け(兵庫県)@\(^o^)/ [US]: 2017/02/26(日) 12:54:16.38ID:Tn3VUeud0.net
    >>133
    0は女とやりたいけどやれない状態
    nullは女とやりたいという気持ちから解放された状態、いわば悟りを開いた高僧のような状態
    つまり、俺たちはnullだ



    162: ラダームーンサルト(大阪府)@\(^o^)/ [DE]: 2017/02/26(日) 12:55:49.76ID:SWsbkzhe0.net
    >>160
    あってる



    166: アイアンフィンガーフロムヘル(庭)@\(^o^)/ [KR]: 2017/02/26(日) 12:59:10.44ID:PHu5JqU60.net
    >>160
    女自体が居ない状態では?

    アー!



    191: ブラディサンデー(神奈川県)@\(^o^)/ [ニダ]: 2017/02/26(日) 13:12:31.80ID:uEuOkXCU0.net
    >>160
    nullとは、ヤッた回数=0が情報として存在し得ない世界。つまり性別そのものがなくなって単性生殖ということだな。



    109: リキラリアット(東京都)@\(^o^)/ [ニダ]: 2017/02/26(日) 12:37:29.59ID:PESEVOKU0.net
    よく分からんからドラゴンボールで例えてくれ!


    113: ニールキック(福島県)@\(^o^)/ [US]: 2017/02/26(日) 12:38:03.26ID:VjaNo3sI0.net
    >>109
    ドラゴンボールが一つも無いのとそもそも世の中にそんなものない



    112: フロントネックロック(dion軍)@\(^o^)/ [GB]: 2017/02/26(日) 12:37:49.58ID:guUja60B0.net
    なるほど


    132: リバースネックブリーカー(北海道)@\(^o^)/ [CA]: 2017/02/26(日) 12:42:36.90ID:eqUdJphM0.net
    Cのポインタは、何かに喩えるとかえってわかりづらい


    138: アキレス腱固め(宮城県)@\(^o^)/ [ニダ]: 2017/02/26(日) 12:43:59.36ID:QPl7/Rg+0.net
    >>132
    と言うかなんで理解できないのかが理解できない



    148: リバースネックブリーカー(北海道)@\(^o^)/ [CA]: 2017/02/26(日) 12:48:58.00ID:eqUdJphM0.net
    >>138
    メモリ空間を視覚的に認識できてないからだと思う



    144: オリンピック予選スラム(庭)@\(^o^)/ [ニダ]: 2017/02/26(日) 12:47:14.13ID:vuyayHqt0.net
    oracle「長さ0の文字列とか意味わかんねーし」


    174: 河津掛け(福岡県)@\(^o^)/ [US]: 2017/02/26(日) 13:04:10.55ID:3773tLTD0.net
    コップとコップの水で表したほうが分かりやすいわ


    233: 頭突き(奈良県)@\(^o^)/ [US]: 2017/02/26(日) 13:44:44.58ID:0pHwChP60.net
    > null=箱自体がない

    アドレス型(箱)はあるんじゃね?



    235: シャイニングウィザード(catv?)@\(^o^)/ [MX]: 2017/02/26(日) 13:46:31.31ID:LawPDKPX0.net
    >>233
    箱を作る設計書はあるけど
    箱はない



    236: ジャンピングDDT(神奈川県)@\(^o^)/ [IT]: 2017/02/26(日) 13:47:22.84ID:DIv+U1eU0.net
    >>233
    箱は型
    アドレスは箱を置く場所そのもの



    239: 頭突き(奈良県)@\(^o^)/ [US]: 2017/02/26(日) 13:51:53.66ID:0pHwChP60.net
    >>235-236
    言語による解釈の違いの気がしてきた。



    247: バズソーキック(広西チワン族自治区)@\(^o^)/ [DE]: 2017/02/26(日) 13:58:33.07ID:icl9o2jlO.net
    >>236
    あーそうだな
    箱はあるけと中は空
    箱の置き場はあるけど 箱はない
    かな
    だと
    ペーパーホルダが空
    ペーパーホルダも無い
    だな



    249: ファイナルカット(愛知県)@\(^o^)/ [JP]: 2017/02/26(日) 14:00:57.43ID:nNCkgodP0.net
    わかった!


    250: ジャンピングDDT(神奈川県)@\(^o^)/ [IT]: 2017/02/26(日) 14:01:43.92ID:DIv+U1eU0.net
    肛門にトイレットペーパー突っ込もうとしたら怒られるのが
    保護違反エラーってやつか?



    251: トペ コンヒーロ(庭)@\(^o^)/ [PE]: 2017/02/26(日) 14:03:15.86ID:4ZL6+w2q0.net
    >>250
    カレー食ってる席にトイレットペーパー持ち込むのがアクセスバイオレーション



    265: アキレス腱固め(宮城県)@\(^o^)/ [ニダ]: 2017/02/26(日) 14:15:04.51ID:QPl7/Rg+0.net
    >>250
    トイレットペーパーを取ろうとして女子トイレのを取ってこようとするのがアクセスバイオレーション



    268:(東京都)@\(^o^)/ [JP]: 2017/02/26(日) 14:16:52.52ID:.net
    >>265
    もしそのエラーをきちんと例外処理せずにOSに処理を返した場合、人生プロセスが強制終了されたり頭蓋骨の中身がコアダンプされる羽目になる



    275: フランケンシュタイナー(秋田県)@\(^o^)/ [MY]: 2017/02/26(日) 14:21:49.31ID:vCJ33Ve+0.net
    どういう場合に使うの?


    279: トペ コンヒーロ(庭)@\(^o^)/ [PE]: 2017/02/26(日) 14:25:50.49ID:4ZL6+w2q0.net
    >>275
    ポインタ変数の初期化



    290: スターダストプレス(catv?)@\(^o^)/ [CN]: 2017/02/26(日) 14:36:06.73ID:7M6CYTtX0.net
    >>275
    プログラムって、何か処理したいからプログラムがあるわけやん?
    例えば家計簿のプログラムがあれば、家計簿を記憶して集計して今月赤字やでと見せる為にある。
    その、プログラムの存在目的に入らない状態を示すのがnullや。
    例えば、2月10日に入力した家計簿が、
    品目がほうれん草と入ってて、値段が0円やったら、そのほうれん草はタダで貰ったもの。
    でも、nullやったら、品目までは入れたものの、値段までは何らかの理由で入れなかったものとして計算には取り込まない。
    家計簿というプログラムは、日々入力して、後から色々集計して俯瞰し、自分の買い方について客観的に理解して改善のヒントになる為に存在する。
    だから、nullの入ったデータは、分析計算には入れない。
    ほうれん草が0円だろうがnullだろうが、合計計算では値は変わらんが、
    ほうれん草の購買平均価格を計算してみる際には、分母にはnullのデータは個数に入れずに計算する。じゃあ値は変わるわな。



    296: フランケンシュタイナー(秋田県)@\(^o^)/ [MY]: 2017/02/26(日) 14:41:40.89ID:vCJ33Ve+0.net
    >>290
    ありがとうなんとなく分かった



    289: クロスヒールホールド(やわらか銀行)@\(^o^)/ [US]: 2017/02/26(日) 14:34:43.57ID:Qv6azdIG0.net



    301: 頭突き(奈良県)@\(^o^)/ [US]: 2017/02/26(日) 14:46:50.91ID:0pHwChP60.net
    >>289
    毛がないのが0で、毛根がないのがNULL
    ってことね。



    305: リキラリアット(東京都)@\(^o^)/ [ニダ]: 2017/02/26(日) 14:51:45.48ID:PESEVOKU0.net
    >>301
    本来生える場所に生えてない場合はつるっハゲでも頭髪本数はただ0だよ
    若い女性の尻毛とか本来存在しない筈のものを数えようとしたときにnullになる



    291: バーニングハンマー(庭)@\(^o^)/ [GB]: 2017/02/26(日) 14:36:40.20ID:MiIA2aor0.net
    ふーむわからん


    318: 16文キック(庭)@\(^o^)/ [US]: 2017/02/26(日) 15:07:06.15ID:vbjXNrd00.net
    理解してる奴だけがピンとくる画像


    330: 頭突き(奈良県)@\(^o^)/ [US]: 2017/02/26(日) 15:31:41.43ID:0pHwChP60.net
    NaNは、こんな感じ?




    334: 栓抜き攻撃(大阪府)@\(^o^)/ [PR]: 2017/02/26(日) 15:36:25.95ID:i0591xXl0.net
    >>330
    キャスト不能で例外発生じゃね?
    トイレットペーパーが水でべちょべちょになってるのがNaNに近い気がする。
    紙に間違いはないが使えないという感じ。



    35: 雪崩式ブレーンバスター(愛知県)@\(^o^)/ [ニダ]: 2017/02/26(日) 12:17:27.31ID:p0iOUHlj0.net
    初心者はこれでわかるの?


    38: チキンウィングフェースロック(福岡県)@\(^o^)/ [MX]: 2017/02/26(日) 12:17:34.08ID:NjNk5HA40.net
    この画像からわかるのは絶望と焦り


    ※関連記事
    【謎の技術】ついにプログラミングで線画の自動色塗りが可能に

    スマフォアプリプログラミングの職業訓練行ったけど質問ありますか?


    【GIF画像】このgifぐう興奮する

    【画像】福岡県警のポスターのレベルがスゴい!!いくらなんでも治安悪すぎだろ・・・

    【画像】プリキュアがセ●クスしてる時にゴムが破れた時の表情

    【ネタバレ注意】仮面ライダーエグゼイドの最終フォームwwwww



    キニ速の全記事一覧

    この記事を読んだ方はこんな記事も読んでいます

    人気記事ランキング

      おすすめサイト最新記事一覧

      コメント

      1.気になる名無しさん2017年02月27日 02:33  ▽このコメントに返信

      nullは設計として間違っている
      option型を使うべき

      2.気になる名無しさん2017年02月27日 02:58  ▽このコメントに返信

      わかるやろ

      3.気になる名無しさん2017年02月27日 03:00  ▽このコメントに返信

      ぬるぽ

      4.気になる名無しさん2017年02月27日 03:18  ▽このコメントに返信

      0とNULLはそんなにつまずかないと思うけどな
      構造体配列のポインタが入れ子構造になってたりすると何が割り当てられてるのか把握しづらくなってきて嫌になったけど

      5.気になる名無しさん2017年02月27日 03:28  ▽このコメントに返信

      何故分かりやすいとこをこんな風に分かりづらくするのか

      6.気になる名無しさん2017年02月27日 04:57  ▽このコメントに返信

      身近なものに例える人って基本他人を下に見てるよね。
      普通に定義を教えたほうが簡素でわかりやすいのに。

      7.気になる名無しさん2017年02月27日 05:44  ▽このコメントに返信

      nullで躓くって・・・
      もうその時点でプログラミングやめろやセンスないから

      8.気になる名無しさん2017年02月27日 05:46  ▽このコメントに返信

      米6
      メタファーで理解しようとすると、混乱を招くのは誰でも知ってる。
      でも基礎知識の無い奴に、なにか理解したような気分にさせるには、たとえ話を使うしかないやろ

      9.気になる名無しさん2017年02月27日 06:12  ▽このコメントに返信

      Javaだと
      Integer i = 0;
      Integer j = null;
      このシンタックスだと、nullも箱はできてるイメージがする(jという名前の箱を準備してnullを入れるというイメージ)。
      「箱がない」「箱さえない」は
      Integer k;
      だと思う。

      10.気になる名無しさん2017年02月27日 06:20  ▽このコメントに返信

      プログラミングとか知らんけどプログラミング関係なくカウントとしての「0」と存在しない「無」の違いもわからん奴いるの?
      そんなんでつまづくとかなんでプログラミングに手だそうと思ったんだよ

      医者になろうとして男女の違いがわからんといか、細かい差の理解は深い部分もあって難しいだろうが性別の概念が理解できないとか医学目指してなくてもないだろ?
      この画像は上半身出下半身引っ込んでるのが女、下半身出て上半身引っ込んでるのが男みたいななんの役にも立たない説明、しがも厳密にはそうとも限らない説明だし話題になる意味分からん
      高度なジョークなの?おれアスペ??

      11.気になる名無しさん2017年02月27日 06:41  ▽このコメントに返信

      このスレから得られる教訓
      理系は人にものを教えるのヘタクソ

      例えていうなら、日本語得意だと自分で思い込んでる、日本語ヘタクソな在日と話してる感覚

      割とマジで中高くらいの理系授業は理系も得意な文系学部出身教師が教えた方が良い

      12.気になる名無しさん2017年02月27日 06:51  ▽このコメントに返信

      C言語だとnullは0だったと思ったけど

      13.気になる名無しさん2017年02月27日 07:27  ▽このコメントに返信

      これでわからんと言ってる人は「俺にとって」区別がつかない、「俺にとって何が違うのか」わからん、「俺にとって尻が拭けないことには」変わらないじゃないかと言ってるんだろう
      そうじゃない、コンピューターはこれを区別するんだと言ってるんだ
      そこが分かんないんじゃ何もわからん

      14.気になる名無しさん2017年02月27日 07:30  ▽このコメントに返信

      わかっている人にとってわかりやすい例

      15.気になる名無しさん2017年02月27日 08:00  ▽このコメントに返信

      便乗したやつがクソ滑ってるな

      16.気になる名無しさん2017年02月27日 08:18  ▽このコメントに返信

      プリミティブ型としてのintにはnullはない。
      インスタンス型のIntegerにはnullがある。

      17.気になる名無しさん2017年02月27日 08:28  ▽このコメントに返信

      つまずきやすいか?
      ヌルッと頭に入ったで

      18.気になる名無しさん2017年02月27日 09:30  ▽このコメントに返信

      普通に分かりやすいやろ

      トイレの紙はどのくらい残ってる?という問いに対して
      左は紙が残ってないので答えは「0」→0
      右は紙自体がないので答えは「なし」→NULL

      19.気になる名無しさん2017年02月27日 09:55  ▽このコメントに返信

      ドイツ人はどう感じてるんだろう

      20.気になる名無しさん2017年02月27日 10:31  ▽このコメントに返信

      ※10 アスペかどうかと言うと、かなりアスペ寄りだと思う。
      トイレットペーパーの例え話は、なにも厳密に理解や証明しようとするためにあるのではなくて、「あーそうかも」ぐらいの緩い感じで楽しむものなんだよ。 多くの場合はね。

      21.気になる名無しさん2017年02月27日 12:08  ▽このコメントに返信

      これおもしろいジョークだと思うw

      22.気になる名無しさん2017年02月27日 13:38  ▽このコメントに返信

      (とりあえずそれっぽいしプログラミングのこと言っててかっこいいからRTしとこう)
      30000越えRT ツイカスくさすぎんよ~

      23.気になる名無しさん2017年02月27日 20:42  ▽このコメントに返信

      開発してると初期値の定義が人によってバラバラなのなんとかしてほしい
      挙げ句の果てにint?とかいう邪道を許す始末

      24.気になる名無しさん2017年02月27日 22:39  ▽このコメントに返信

      いい見本やね、0はあくまで値だから未定義のnullとは違うってことよ

      キニ速の全記事一覧

      週間ページランキング

      過去記事ピックアップ
      最新記事
      記事検索
      カテゴリ別アーカイブ
      月別アーカイブ
      はてなブックマーク
      3日間集計逆アクセス
      Copyright (C) 2011 キニ速 -気になる速報-. All rights reserved. ブログパーツ