Enterprise Conference 2017に見る新たなテクノロジ - 第2日目まとめ

第12回Emerging Technologies for the Enterprise(ETE) Conferenceカンファレンスの第2日は2017年4月19日(水)に、ペンシルバニア州フィラデルフィアにあるSociety Hill Sheratonで催された。この2日間のイベントを企画したのは、ペンシルベニア州フォートワシントンのITコンサルティング会社であるChariot Solutionsだ。Scott Hanselman氏(ポッドキャスタ、Microsoftプリンシパル・プログラムマネージャ)の基調講演を始めとして、Kyle Daigle(GitHubエンジニアリングマネージャ)、Holden Karau(IBMプリンシパル・ソフトウェアエンジニア)、Karen Kinnear(Oracle JVMテクニカルリーダ)、Alex Miller(“Clojure Applied”共著者)、Mike Roberts(Symphonia共同設立者)各氏による講演が行われた。

基調講演

ポッドキャスタであり、Microsoftではプリンシパル・プログラムマネージャとしてアウトリーチとコミュニティ、オープンソースを担当するScott Hanselman氏による、“A History from Back-end to Front-end: from Mainframes to Compiled JavaScript and Beyond”と題された、ユーモアのある基調講演から2日目のアクティビティはスタートした。氏が引用したのは、コンピューティングの初期(1949-1956)にIBMの会長であったThomas J. Watson氏の、”世界にはおそらく、5台のコンピュータの市場があるだろう”という言葉だ。

氏が注目したのは、World Wide Webの初期とJavaScriptの登場だ。“昔々は”、と氏は言う。“HTMLテーブルがWebサイト上で最も先進的なものでした。”次に氏は、LiveScriptとしての初期から、JavaScriptとして知られるようになった現在まで、JavacScriptの進化の歴史を紐解いて見せた。“Secrets of a JavaScript Ninja”という本を紹介した時には、その表紙の人物が本当に忍者に見えるのか疑問だとしながらも、“まあ、JavaScriptは型付けの弱い(loosely typed)言語ですから”、とジョークを言った。

JavaScriptの普及に伴って、Stack Overflow/Stack Exchangeの共同設立者であるJeff Atwoodは2007年、それをTim Berner-Lee氏の“The Rule of Least Power”の必然的結果だと定義付けた。Atwoodの法則として知られるこの定義では、“JavaScriptで記述可能なアプリケーションは、最終的にJavaScriptで記述されることになる”、と述べている。2011年にHanselman氏は、JavaScriptがWebのアセンブリ言語であるかどうかを検証する記事を書いた。同時に氏は、“もはや誰もJavaScriptを書いていない、彼らはjQueryを使用しているのだ”、とも述べている。 さらに氏は、ブラウザで動作し、端末ウィンドウを持つオンラインJavaScript PC Emulatorのデモンストレーションも行なった。

今日のブラウザは想像以上に強力なので、開発者Webツールにもっと多くを期待するべきだ、とHanselman氏は言う。またプラグインについては、“死んだ - すべてなくなった”とも述べている。

hanselman氏は次に、クラウドの登場と、その規模や弾力性について議論した。クラウド開発に使用する言語の選択について、氏は、“クラウドは言語の選択を気にしていない”と述べている。

Web開発が何年にもわたって進化してきたにも関わらず、私たちはいまだ“冷蔵庫”に“もの”を送り続けている、と氏は主張する。“メインフレームは冷蔵庫のような形をしているから、私たちは相変わらず、理論上の’空の冷蔵庫’、すなわちクラウドを相手にしているのだ”、と氏は説明した。

注目された講演

Java Futures: Modules and More - Karen Kinnear、JVMランタイムリーダ、Oracle

Kinnear氏はJava 9の全般について、新しいモジュールシステムに重点を置いて紹介するとともに、Java 9に関するJEPのレビューを紹介した。Java 9の目標には、開発者の生産性の向上、クラウド対応の改善などが含まれている。新しいモジュールシステムは既存のアプリケーションにも統合可能だ、と主張する氏は、モジュールとパッケージ間のインタラクションとアクセシビリティのデモを通じて、モジュールパスとクラスパスの違いを説明した。さらに氏は、特に非互換の変更のある場合において、開発者が下位互換性を確保しながらJava 9に移行可能な方法についても論じていた。

Scaling with Apache Spark (or a Lesson in Unintended Consequences) - Holden Karau、プリンシパル・ソフトウェアエンジニア、IBM Spark Technology Center

Karau氏はデータフレームやデータセットなど、RDD(Resilient Distributed Datasets)の処理に関わる課題について論じた。話題の中心はパーティショニング、特に“キー・スキュー”、すなわち均等に分散されいないキーの表現だった。データパーティションの不均一化を招く恐れのあるキー・スキューについて、それを扱う上での落とし穴を避けるために、氏はいくつかの方法を紹介した。氏が特に注意したのはgroupByKey()メソッドの利用についてだ。これは、同一のキーを持つレコードを単一レコードにグループ化するもので、不均一なデータに使用すると大変なことになる。さらに氏は、Spark Python APIであるPySparkの概要も説明した。

Clojure.spec: Expressing Data Constraints without Types - Alex Miller、“Clojure Applied”共著者、Clojureコミッタ

Miller氏が紹介したのは、データと関数の構造を記述するClojureライブラリであるClojure.specだ。このライブラリの目的は、検証やエラー報告、共有セマンティクス、テストデータ生成などの自動属性を言語に提供することにある。データの重視という原則を持つことから、Clojure.specは型システムではない。Clojure.specをコア言語のさまざまな機能とともに使用する方法に関して、Miller氏は、多数のサンプルコードを提供した。

Universal React with Next.js - Guillermo RauchNext.js共同開発者

Rauch氏はNext.jsがいかにReact.jsを“ユニバーサル”に、簡単に、シンプルなものにしたかを説明した。ユニバーサルなのは、サーバとクライアント両方で動作するためであり、簡単なのは、一般的なタスクの大部分をひとつのコマンドで実行可能なためであり、シンプルなのは、境界と動作が明確に定義されている上に、一貫性のある予測可能な動作をするためだ。“ユニバーサルなプログラミングモデル(React)と言語(JS)を使って、シンプルなWebサイトからパワフルかつ動的なリアルタイムアプリまで、レンダリング可能なはずだ”と氏は主張して、その証明としてHacker NewsのWebサイトを紹介した。プレゼンテーションのスライドは氏のWebサイトで公開されている。

要約

1日目にはJava 9やHaskell、TensorFlow、Swift、Apache Spark、コンテナ、Convox、C#、F#、アジャイル、GraphQLなどが取り上げられている。

記者について

Michael Redlich氏は2008年から出席者および講演者として、2013年以降はETE運営メンバのひとりとして、ETEに積極的に参加している。