今年は社用にて1日目だけ且つパーティーにも出られない感じでした。
キーノートは正直あまり面白くなかったのでまとめはパス。まぁCTPなども充実しているし、リアルタイムでbuildやigniteのキーノートを見られる時代なので、昔のTechEdのときのような、「実際動いているのが見られた」という感じは少なくなってしまうので仕方が無いですね。ホロレンズの実物が出てくればかなり盛り上がったはずなんですけど。
午後はスペシャルセッションからチョークトークという流れで、ほぼ今ではなく将来の話を中心に回りました。
スペシャルセッション~萩原さんのチョークトーク~荒井さんのチョークトークの流れで、マイクロサービスとSOA、分散オブジェクトと比較した場合の違いが、規模や実装方法の違いの話だけではなく、マイクロサービスがイミュータブルであるというところがもっとも違うという事が理解できたのが一番大きな収穫だったと思います。
その中で萩原さんのチョークトークの中で大規模な分散処理でもバッチが重要になってくる点、その為のセッションのキューイングなど話も興味深く、それはそのあとの荒井さんのチョークトークのメインテーマである、宣言的なパラダイム(プログラミング)にも続きます。また現実的な問題としてはマイクロサービスが実際にこれからの技術であって、実際に実装し、運用するに当たって解決するべき技術的課題は未知数だし、工学的にも確立していない点の注意も必要だと思いました。簡単に言ってギャンブルに出るのではない限り、まだプロダクションとして採用するには時期尚早なのかもしれません。
荒井さんのチョークトークですが、まず過去を振り返り、OOA, OODからOOPは上手くいっているのかという振り返りからです。オブジェクト指向言語(OOPL)が事実上UMLのクラス図から言語実装上クラスへの変換機能しかもたず、パッケージ図からの変換すら言語機能敵に備えていない点を踏まえて、現状のOOPLのモジュレーション機能の限界やそれ故の属人性に関する議論から始まりました。また、属人性故に教育が大変だし、個人の才能に依存しやすいし、それ故にみなさんの現場で上手くいっていますかと言う問い。つまりオブジェクト指向はモジュレーションという視点から見ても失敗していると。それ受け、モジュレーションにおけるモジュールの単位を考え直してみる。モジュールが状態を持つ必要性は全くないのではないかと。そう考えていくと、オブジェクトが状態を持ち。それ故に状態変化によって何かの処理を実行するイベント処理という考え方も変わってくるのではないかと。宣言型のパラダイムとそれを実現する言語機能によって、再利用可能なモジュールとその組合せを検証可能とし、モジュールを本当に意味のあるものにする。モジュールの実行結果がイミュータブルになることにより状態の保持を行わなくする。また、状態の保持するものが無いことから、一つのオブジェクトの状態が変化してゆくのではなく、状態変化ごとに別のオブジェクトが有り、それが連続(ストリーム)となっていると考えることができ、イベントもストリームとして処理すれば良いという、リアクティブプログラミングに議論がつながります。
将来を見渡したときに重要になってくるのが「イミュータブル」というキーワードです。それは、ソフトウェアシステムのアーキテクチャとしても、ソフトウェア実装としても、ITシステムとしても、それを構築するためのハードウェアのボックスとしても重要となってきます。作ったものを改良する、性能を上げていく時代から、作り直して入れ替えていく、それがあらゆるレイヤーで行われているのが近い将来となる。というのが、1日目の私の纏め。
大型新人のセッションは。。。。まぁいいや。当たり前のことに名前を付けるのは大事。
コメント