どれだけやっても、プログラミングの奥深さを感じてしまう、ユゲタです。
物事に対して、偏った見方をしなくてもいいように、ミクロとマクロの視点が必要と言われていますね。
ミクロの視点は、ピンポイントな詳細で、マクロな視点は、全体を俯瞰するような広い視点。
どちらに偏っても、ダメなので、必ず両方必要というのが、ミクロとマクロの視点なのだそうです。
プログラミングでも、やっぱりこのミクロとマクロの思考が重要なのではないかと、フと考えてしまった。
ミクマク・プログラミング
略した言葉にしてしまって、ひとつで言ったほうがわかりやすいと思うんですが、聞いたことがない言葉なんで、新しい単語にしてしまいましょう。
そして、肝心なプログラミングのミクロとマクロについて、解説します。
まず、プログラミング初心者の人の、ミクマク・プログラミングについてですが、
ミクロのプログラミングというのは、ソフトウェアの中で言うと、1つの機能や処理を作るfunctionだと考えてください。
そして、ソフトウェアの中におけるマクロとは、そのfunctionをまとめるclassの概念で、ソフトウェアのプログラミング構成がソレに当たります。
次に、中級プログラマーの人におけるミクロは、会社などのチーム開発をする際に自分の領域のプログラミング作業で、
マクロは、チーム全体におけるプログラミングでしょう。
最後に、上級プログラマーの人のミクロは、自分の作ったソフトウェアで、
マクロは、社会に対しての自分のソフトウェアの位置付けができるという視点ですね。
ミクマクを意識すると見えてくる世界
何故ミクロとマクロが必要なのかと言うと、前述したように「偏った意見を持ち続けないため」という事もありますが、
「自分の立ち位置の客観視」だったり「物事の改善視点を持つ事」など、いわゆる成長視点を持つことが目的のようにも思えます。
時代の変化についていけなくなると、廃れてしまうというのは、世の常です。
しっかりと今の時代に合った視点で、ミクロとマクロを見据えないと、プログラマーであれば、「老害」なんて言われ方をされてしまうようですね。
単に年を取った人に対する揶揄かと思っていてはダメです。
書いているコードが古臭かったり、単純に作ったプログラムが陳腐化したそのソースコードに対しても、害の扱いをされてしまうケースをこれまで何度も見てきました。
常に新しくする必要は無いんですが、その新しいモノと比べて何が良いのか?という回答を持ち続けていく必要はあるんですね。
プログラミング学習への活用
プログラミングのミクマクは、functionとclassという言い方をしましたが、
自分がプログラミングを覚えていく過程で、functionばかり書いていた時期から、classを書くようになり、より大きなソフトウェアを作れるようになったという経験を思い出しました。
その先にオブジェクト指向などの構成理論などを覚えて、作ったソフトウェアが世の中でどのように使われるかという、お金だけではない「マーケティング視点」にも気にするようになりました。
そして、使ってくれる人がどんな人で、どういうシチュエーションで、どんな用途で使うかという事を考え始めると、
「もっとこうすればいいソフトウェアになる」というユーザー視点からのアイデアなどが次から次へと浮かんできます。
それで、またイチからソフトウェアを作り直すという事もしばしばあることを考えると、こうしたミクマクの循環が、エンジニア自体を成長させるという事につながるのではないかと、
このブログを書いて改めて気がついてしまいました。
今後、マクロを拡大するには、日本国内ではなく、世界全体で使われるソフトウェアというような視点に発展させたいですね。
ちなみに、ユゲタは、ミクロのプログラミングの事を「ミクログラム」、マクロのプログラミングの事を「マクログラム」と呼ぶことに勝手に決めました。
頑張れ、俺!
0 件のコメント:
コメントを投稿