new()とかインスタンスのことがわかった! 〜すべてのプロセスはつながっている〜

僕はアセンブラと呼ばれる低級言語の出身者。人間より機械(CPU)が理解できる側の言語。大学の研究室〜社会人8年目までアセンブラですごしてきました。

そんな僕が高級言語(Javaに触れるのが普通の時代)に関わることになったとき、全く理解できなかったのが「new()」というもの。「クラスからインスタンスを作る」ということが全くイメージできませんでした。

アセンブラは手続き型言語でコードの上から下に向かってだーっと処理されていくだけ。なのに高級言語ときたらコードの途中でnew()してインスタンスにアレコレさせる。意味がわからない(笑)

 

DP1M1125

 

という時期がしばらくあって、いよいよ「高級言語なんか嫌い」が決定的になるかな〜ってとき突然インスタンスがわかりました。あくまで僕の脳内イメージなので、正しいことかはわからないけど「こういうことだ」ということが理解できました。

 

僕は社会人8年目まで某鶴のマークの空飛ぶアレのシステム屋さんしてました。

そこの開発言語はそっちの世界専用のOSとアセンブラ。業務上、全世界365日24時間フル稼働が必須の汎用機。その上でコードを書くにはその汎用機(のOS)の仕組みもある程度知っておく必要があります。

例えば「3月7日の401便の空き状況を教えて」というコマンドを入力したとき、汎用機(のOS)ではその処理に必要なメモリ空間を確保します。「空き状況を教えて」の結果が表示されるまでめちゃくちゃたくさんのプログラムを経由します。

その間、確保されたメモリ空間はあって、そのメモリ空間上でアレコレしてる。

 

「あ、これか」と思いました。

 

  • クラスからインスタンスを生成してアレコレさせる
  • 「空き状況教えて」からメモリ空間を確保してアレコレさせる

厳密には違うかもしれないけど、僕のイメージではこれがぴったりフィット。インスタンスが生成されることの理解が急激に進みました。イメージできるからプログラムの流れも理解できる。

もっというとmacOSなども根本は同じ仕組みなんだろうな、ということから、どんなOSもアプリも内部的にこう動いているんだろうなぁというイメージまでできるようになりました。

 

DP1M1122_FOV

 

おわりに

社会人8年目で転職し、低級言語から高級言語を使う会社へ。15年目でフォトグラファーへ転身。でも、プログラミングは好きだし、つくりたい。そのための勉強も始めています。

►参考:PythonでWebサービスをつくりたいからUdemyでコツコツ勉強中

 

Pythonは高級言語に位置するものでクラスやインスタンスのある言語。実際にクラスを作ることの利点は(まだつくり慣れていないから)わからないけど、これまで経験してきたことはつながっているので、なんとなくわかるし、わかっていけるし、どんどんわかりたいと思ってる。

こういうことが腑に落ちていると、過去を「結局はよかった」と解釈できるようになります。

これからもたくさんのプロセスはあるでしょう。プロセス真っ只中にいるときは苦しく感じることでも、しばらくして振り返ると「結局はよかった」って思えることもたくさんあると思う。

だから、今やりたいこと、今好きなことをどんどんやっていこう。

 

DP1M1124a

【出張撮影のご依頼、承ってます】

あなたの行きたい場所に出張してポートレイトやプロフィール写真を撮影します。出張エリアは関西エリア(神戸・大阪・京都など)、関東エリア(神奈川、東京など)です。

★詳細:ポートレイト/プロフィール撮影(Photo Session)
★詳細:Photo Shooting

撮影予約可能日

【関西エリア】
・当面の間は関西にいます。ご依頼お待ちしています。

【関東エリア】
・7月上旬、8月上旬に関東予定です。

まずはお気軽にご相談ください

この記事を書いた人

花村貴史|Takashi Q. Hanamura

人物や風景、街並み、小物を好んで撮っている空気感フォトグラファー。本職であるPhotographerのかたわら、Engineer、Creatorとしても活動中。
その人・その場の「空気感をそっとすくい撮る」写真が好評。「自分の素敵に気づける写真」を撮る。数年間の心のお稽古によるカウンセラーマインドによって、撮影は「心のセッション」になることも。
オシゴトについては「撮影サービス」からどうぞ。

撮影|Photo Session

お話しながらのポートレイト撮影です。「今」そして「これから」のあなたにフォーカスして撮影します。SNSやサイト用のプロフィール写真に。

撮影|Photo Shooting

「友達と楽しんでいる」「セミナーで講演している」「パーティーを主催している」など、皆さんが大切な時間を過ごしている瞬間をスナップします。

写真術|Photo Lecture

カメラの使い方、撮影術、Lightroomの使い方などの「マンツーマンレクチャ」や「少人数制のワークショップ」について。写真に関する疑問の解決に。

販売:Photo Sales

A3ノビ〜A4程度のサイズの額装販売および、壁紙などの写真データの販売。ご自宅やコミニュティスペースに飾り、癒しになれば嬉しい。