カレンダー

2019/06
      
      

広告

Twitter

記事検索

ランダムボタン

ネタスタック

by 唐草 [2019/06/23]



 プログラムの勉強は、どの言語を選んでも基本的な流れは変わらない。変数から始まり、制御構造、配列ときてデータ構造に至る流れが多い。データ構造の基礎がキューとスタックである。プログラムとかデータ構造とか書いているので、キューもスタックも縁遠い存在に感じられてしまうかもしれない。そんなことはない。むしろ身の回りにあるものをプログラムで再現しているに過ぎないのだ。
 キューなんてきわめて身近な存在だ。日本語にすれば待ち行列。文字通りの行列である。人気の飲食店やテーマパークのアトラクションに並ぶ人の列を想像すればいい。先に並んだ人から順番に対応してもらえる単純な構造に名前を付けただけのこと。同じようにスタックも英語そのままの意味だ。干し草の山ように積み上げて、上から順に使っていく。新しいものがどんどん循環する構造である。食器戸棚の中の重ねられた皿を想像すればいい。
 このような身近なものや構造をプログラムで表現できるように訓練するのが、プログラミングのお勉強である。
 さて、ぼくのタブレットの中にはスタック構造のファイルが1つだけ存在している。それが、この日記のネタ帳だ。思いついたことをドンドン書き込んでいって、新しいものから記事にしていく。少ないながらも時事ネタがあるので、新しいものを優先していかないとネタを書くタイミングを逸してしまう。だから、スタック構造で管理するのが理にかなっている。
 しかし、スタック構造にも問題がある。それは、一度埋もれてしまうとなかなか掘り出せないということである。一番下のものを取り出したかったら、一度すべてを取り除く必要がある。
 ぼくのネタ帳でも同じ問題が起きている。もっともぼくのネタ帳は、ただのテキストエディタである。厳密なスタック構造を有しているわけではないので、途中の行を間引いたって特に問題はない。でも、書きやすい思いついたばかりのネタを差し置いて、いつメモをしたのかさえ思い出せない古いネタで記事を書く気にはなれない。
 メモ帳のスタックの底には、3つのネタが鍋の焦げ付きのように固着している。もう年単位でキープされている。その内の2つは何を書こうとしたか覚えているので、一応記事にできる。でも、1つだけは何を書こうとしてメモを残したのかすら覚えていない。もう消してしまっていいのかもしれない。それが合理的な判断だと分かっているのだけれども、なんだか消したらぼくが自分自身に負けるような気がしている。そんな訳で、当面の間スタックの底の3本柱としてメモ帳に残り続けるのだろう。