見出し画像

抽象化と具体化

2年前、私が大学生就活前の頃、あるバーのマスターに言われた。「やっぱり賢いヤツは抽象化と具体化がうまい。」例えば、リンゴの抽象化は「赤」、「甘い」「果物」などだろう。具体化は「一昨日、アップルバイを食べた」、「フジゴールド」、「日本では青森県が生産量が一番」などだろう。簡単に言うと、具体化はもっと細かくそのことについて話す。抽象化はもっと広くそのことについて話すと言うこと。良く聞く使い方は具体化は「例え話」、抽象化は「話を広げる」などだ。

具体化と抽象化ができれば、さまざまなことに役に立つ。例えば、人とのコミュニケーションだ。内容をうまく説明できたり、相手との共通点を見つけたりなどができるようになる。

また、問題の細分化もできるようになる。基本的に問題はさまざまな要素が重なって発生することが多い。したがって、要素分けをして、一つ一つの問題にアタックするわけだ。

抽象化と具体化の練習1

英語を喋る。特に初学者にとって、英語を喋るとは具体抽象化の反復練習である。例えば、ラクダについて話したい時にラクダが出てこない。だからラクダを抽象化して考える。茶色で、砂漠に住んでいて、コブがあって、まつ毛が長くて、、、、などだ。これは単語の例に過ぎない。言語にはいろいろな言い換えができる。in my opinion = personally speaking、possibility = probability、esay = a peice of cake、this is my pen = i own this penなど

抽象化と具体化の練習2

協力型対戦ゲームをする。私はpubg mobileというゲームをしていた。合計100人のプレイヤーが一斉に同じマップ内に入り、銃を使ってお互いを倒しながら生き残るゲームだ。チームには四人いた。プレイ中は常に視界を四人で共有しなければさまざまな場所から常に敵の目があるのかで、背中を見せると死に至る。したがって、銃声が聞こえた場所、目視した車の特徴、敵との距離をなど、必要な情報を言語化し取捨選択して仲間と共有しなければならない。弾の速度はコンマ数秒以下であり、一瞬のタイムロスも許されない。

抽象化と具体化の練習3

Information technologyである。特にプログラミンのことを指す。

馴染みがない人は仕事やテストはある程度のインプットをして、作業やテストをするだろうと思う。

プログラミングは異なる。歴史が浅いので理論や方法が確立しておらず、調べながら進めるなので、作りたいものがあれは作りたいものをネットで調べて進めることになる。今までの仕事や勉強とは話が全く違う。お客さんの前で調べながら接客したり、テスト中にスマホを開いて調べながらコードを書く感覚だ。

また、頻繁なアップデートや新しい技術が導入される。ハードウェアと違いバージョンアップしやすにのだ。なので、常に先端をいくプログラマーは新しい技術を学びながら進めることになる。

ベテランだけでなくプログラミングの初学者も一緒である。ネットには他の仕事や勉強のマニュアルや教科書のようなものが転がっている。それをgoogleで検索しながら調べるわけだ。なので例えばアプリ上に赤い丸🔴を表示させたい、しかし、現状は青の四角🟦が表示されているとする。そのためにアプリ上で〇〇というプログラミング言語で〇〇を〇〇したいと検索するわけだ。簡単そうに見えるが内容が難しくなればなるほどネット上の教科書が少なくなり、調べ方も限定的になる。また、全インンターネット上の情報は8割英語である。というと、必然的に1番の練習も一緒にしないといけないというわけだ。

こんな練習はやってられない

そんなあなたができるのはマジカルバナナとワードウルフだ。

いいなと思ったら応援しよう!