見出し画像

ボキャブラリーをスタックで管理してるのかよ【インテリ悪口本_期間限定公開④】

対象

憶えた言葉をすぐ使う人


解説

コンピュータ・サイエンスを専攻していた大学生の時、必修科目の教科書として『アルゴリズムとデータ構造』という分厚い本を買わされた。実に4500円・486ページの本である。僕はその分厚さを見て、「聖書じゃないんだから」と思った。

しかし、この後に僕は己のツッコミを反省することになる。この本は聖書だった


「コンピュータの世界における本質は何か?」と問われたら、答えは2つだ。ずばり、アルゴリズムとデータ構造である。

アルゴリズムとは、「どのように計算するか?」であり、データ構造とは、「どのように記録するか?」である。

つまるところ、我々がコンピュータに求めることはこの2つしかない。コンピュータのやっている作業は計算と記録の繰り返しであって、それ以上でもそれ以下でもない。

だからこそ、アルゴリズムとデータ構造はコンピュータ・サイエンスの全てであると言えるだろう。

そして、本書『アルゴリズムとデータ構造』は、タイトルから分かるように、その全てが詰まっている。これはコンピュータ・サイエンスにおける聖書なのだ。

……ごめん、それはサスガに言い過ぎかもしれない。

でもいずれにせよ、素晴らしい本である。僕は特別に勉強熱心な大学生ではなかったが、それでもこの本の魅力に取り憑かれたし、コンピュータ・サイエンスの楽しさはこの本に教えてもらった。専門書というのは必要に駆られて仕方なく読むものだと思っていたが、この本だけは普通に面白かったから全部読んだ。後にも先にも、そんな経験は人生で一度だけだ。

アルゴリズムやらデータ構造やらについて考えることは、パズル的な面白さがありつつ、身近で使われている技術の勉強にもなるという一石二鳥っぷりだった。


そこで、この面白さを皆さんにも簡単に伝えてみようと思う。

最も基本的なデータ構造は何かと言われたら、2つ挙げることができる「スタック」と「キュー」だ。

「スタック」は、その名の通り、積み重ね(stack)である。あなたの家の食器棚の皿をイメージしてもらいたい。皿をしまう時は一番上に重ねるだろうし、使う時は一番上から取るだろう。

つまり、「最後に入れたものを、まず使う」というデータ構造だ。

一方、「キュー」は、待ち行列(queue)である。ラーメン屋の行列をイメージしてもらいたい。次にお店に入る人は誰かというと、最初に並んだ人である。

つまり、「最初に入れたものを、まず使う」というデータ構造だ。

この2つは状況に応じて使い分けていくべきものなのだが、コンピュータを使って問題解決をする時に使いこなさないといけないのは、どちらかというとスタックの方である。


コンピュータの中身は、めちゃくちゃ忙しいベンチャー企業に似ている。そこでは常に大量の仕事が舞い込んできて、皆パニックになりながら何とか仕事をこなしている。

このあまり好ましくない職場で働いてることを想像して欲しい。

あなたは、経理の書類を書く仕事をしている。一ヶ月後の決算日までに処理しなければいけない書類を、一生懸命書いている。

しかし、ここであなたの上司から緊急の司令がやってきた。「明日使う契約書をチェックしなきゃいけなくなった! お前頼むわ! 至急ね!」と。より優先度の高い仕事がやってきたのだ。

ここであなたはどうするだろうか。さっきまでやっていた経理の書類はそのままにして、その上に契約書を積み重ねる。より優先度が高いのは契約書の方だから、まずはこれを片付けなければならない。

さて、契約書を一生懸命読み始めたあなたに、すぐにまた上司が話しかけてきた。「ヤベー!! 今日中に役所に持っていかないといけない書類、書いてないわ! お前書いてくれ! 今すぐ!!」と。

そして上司にまた、役所に提出するべき書類を渡される。あなたはさっきまで読んでいた契約書の上に、その書類を積み重ねる。とにかくまずは役所の書類を片付けないと……。


……どうだろう。考えているだけで頭が痛くなってくるような労働環境だが、とにかくコンピュータが仕事をする時のイメージは掴んでもらえたのではないかと思う。

要するに、「より優先度の高いものが舞い込んでくるので、それを一番上に積む」ということをしょっちゅう行うのである。

そのために使うデータ構造がスタックなのだ。「一番最後に積んだものを一番最初に処理する」のが、スタックの本懐である。

これを理解しておくと、色々な場面でインテリ悪口に応用できる。

たとえば、先ほどの例で挙げたような激務の職場に勤務している方は、「この職場、めちゃくちゃスタックに積ませてくるじゃん」などと言うことができる。

「スタックに積みすぎて限界に達して処理が不可能になる」ことは「スタック・オーバーフロー」と呼ぶので、めちゃくちゃ積んでくる上司に対して「もうスタック・オーバーフローです!!」などと言うこともできるだろう。


しかし、今回推奨したいのは、職場での利用ではなく、「憶えた言葉をすぐ使おうとする人」に対する利用である。

以前、友人と飲んでいる時に、会話の中で「それって確証バイアスじゃない?」と言われた。確証バイアスというのは「自分の信念に合う情報だけを集めてしまう」みたいな現象である。

最初はあまり気にならなかったのだが、その後も彼は「まあそこは確証バイアスだと思うんだけど……」とか「これ、確証バイアスの可能性が高いよね」とか言っていた。2時間の飲み会で3回「確証バイアス」を使っていた。

僕は「こいつ、確証バイアスって言葉を最近憶えたから、使いたくてしょうがないんだな」と思った。

最初はスルーしていたものの、途中で我慢の限界に達してしまい、「お前、確証バイアスを憶えたことによって何でも確証バイアスだと思ってしまう確証バイアスがかかっているぞ」とめちゃくちゃややこしいツッコミをしてしまった。僕の人生で一番ややこしいツッコミだったと思う。

こういうややこしいツッコミに陥らないようにするために、もう少しシンプルなインテリ悪口を持っておこう。

それこそが、「ボキャブラリーをスタックで管理してるのかよ」だ。

確証バイアスの友人のように、「一番最近憶えた言葉がすぐ出てくる」という状態は、まさにスタックだからだ。最後に入れたものを、まず使う、である。

このインテリ悪口の優れている点は、含意として「お前のボキャブラリー貧弱すぎない?」があるところだ。

スタックというのは一般に、大量のものを保管するための場所ではない。ごく少量のものを保管する場所だ。

激務の職場の例を思い出すと分かりやすいだろう。積み上げられていく書類はあくまで現在進行中のものだけである。

処理が終わって用済みになった膨大な書類は、に入れるべきだ。

そう、スタックはあくまで一時的な場所であり、大量の書類をしまうのは別の場所があるべきだ。この別の場所(棚)のことをデータベースと呼ぶ。

我々は普通、ボキャブラリーをデータベースで管理している。憶えている大量の単語の中から、適切なものをその都度選んできているのだ。

一方、「最近憶えた言葉ばっかり出てきちゃう人」は、ボキャブラリーをスタックで管理している。つまり棚ではなく机の上で管理しているのだ。

当然、彼らは机の上に重ねられる程度のごく少量の書類しか保管できない

つまり、「ボキャブラリーをスタックで管理してるのかよ」は「最近憶えた言葉ばかり使いやがって!」のみならず、「お前のボキャブラリー貧弱すぎん?」というメッセージも同時に伝えられるのである。実に重厚で、深みのあるインテリ悪口であると言えるだろう。


使用例

「それ確証バイアスじゃない?」
ボキャブラリーをスタックで管理してるのかよ


参考文献

・ 石畑清『アルゴリズムとデータ構造』(岩波書店)


「インテリ悪口本」予約受付中!

本記事は、2021年12月22日発売の書籍『教養(インテリ)悪口本』の草稿を抜粋したものです。インテリ悪口を補足情報込みでたっぷり楽しめる書籍となっておりますので、ぜひ書籍の購入もご検討ください。本記事を気に入っていただけた方は、きっと書籍も気に入ってもらえると思います。

現在、Amazonにて予約を承っております。

予約者限定の特典として、以下をご用意しております。

インテリ悪口をどうやって使ったらいいの?実例集-「ぼくはインフルエンサーになる!僕は天才なのでフォロワー10万人は1ヶ月以内にイケるはず!」と会社を辞めて3年半経過したのにまだフォロワー1300人の無職を相手にインテリ悪口を使ってみた対談レポート。

②レポートのおまけ、対談動画(3時間)

③書籍に入り切らなかったボツ原稿のPDF


非常に充実した予約特典になっておりますので、ぜひこの機会にご予約ください。


予約特典の受け取り方法

Amazonで予約ができたら、予約完了画面のスクリーンショットをお撮りください。

その後、スクリーンショット画像を添付して、以下のメールアドレスにお送りください。(※画像以外は、空メールで結構です)

horimoto.dis@gmail.com

※1週間以内に受信確認メールをお送りします。1週間経っても受付完了のメールがこない場合は、Gmailからのメールを受信できる設定になっているかを確認してから再度メールを送ってください。


すると、書籍の発売日に予約特典が送られてきます。


以上です。お忘れないように、ぜひお早めにご予約くださいませ。


この記事が気に入ったらサポートをしてみませんか?