Doorkeeper

【東京】 JJUGナイトセミナー「JVM言語を作ろう! GraalVMで遊ぼう!」

Wed, 27 Feb 2019 19:00 - 21:00
Register

Registration is closed

Get invited to future events

Free admission
セッション後の懇親会は参加費2000円、Suica/Pasmoなど交通系ICカードでの当日お支払いとなります。ページ後半をご参照ください。

Description

JVM (Java VM / Java仮想マシン) は、Javaプログラムの実行基盤である以外にも、JRuby, Groovy, Scala, Kotlinなどなど、多種多様な「JVM言語」の基盤となっています。これはJVMが、言語処理系の基盤としての性能・機能・成熟度・エコシステムを兼ね備えていることの現れと言えるでしょう。

また最近では、GraalVMおよびその要素技術によって、JVM言語の新しい可能性が示されています。すでにGraal, Truffleなどを使った言語処理系の実装が登場しており、その性能や開発容易性が注目を集めています。

そこで今回のナイトセミナーでは、次の3本立てで、JVM言語の作り方・GraalVMとその要素技術の使い方について学びます。

時間 内容
19:00~19:50 JVM言語の動き方・動かし方 by 宮川 拓
19:50~20:00 休憩
20:00~20:50 GraalVMで使われている、他言語をJVM上に実装する仕組みを学ぼう by 阪田 浩一
20:50~21:00 TruffleでPHPぽい言語を実装したら爆速だった by きしだ なおき

イベント後には懇親会もあります(参加費2000円)。決済方法は今回より、交通系ICカードによる現地決済となります。参加をお考えの方は、本ページ後半をお読みください。

セッション詳細

JVM言語の動き方・動かし方

講演者: 宮川 拓 (@miyakawa_taku): JJUG幹事 / JVM言語Kinkの開発者

ひとくちにJVM言語処理系と言っても、その構成はさまざまです。これは、JVM自体が多層的な構成であり、どの構成要素をどのように使うかが、処理系の設計に委ねられているからです。結果として、実態以上に理解が難しくなっているように思われます。

そこで本セッションでは、次のような演目で、言語処理系一般の仕組みを腑分けして、JVM言語の動き方・動かし方を把握します。

  • CPU/コンピュータはどのようにプログラムを動かすのか
  • JVMはどのようにプログラムを動かすのか
  • JVM言語処理系の構成: Kinkを題材として

スライド:
https://speakerdeck.com/miyakawataku/make-jvm-lang

GraalVMで使われている、他言語をJVM上に実装する仕組みを学ぼう

講演者: 阪田 浩一 (@jyukutyo): ポノス株式会社 / 関西Javaエンジニアの会 / Javaチャンピオン

オラクル社からGraalVMというものが発表され、話題を呼んでいます。GraalVMは、HotSpot VM上に新しいJITコンパイラGraalと、言語実装用フレームワーク/ASTインタプリタであるTruffle、ネイティブイメージ作成機能とその実行に使われるSubstrateVMを併せ持ったものです。すでに、Truffleを使用したJavaScriptやRuby、R、Pythonの実装がGraalVMにあり、これらの言語とJavaは、コードから"相互に"呼び出しができます。独自の言語も、ASTにさえできれば、Truffleを使い、JVM上で実行できるよう実装できます。私も、簡単な四則演算の言語を、Truffleを使って実装したことがあります。Truffleは、Graal上で動作するものです。Graalには、こうして複数の言語を相互運用する際に、高いパフォーマンスを出せるよう、機能が実装されています。

このセッションでは、TruffleとGraalの概要と、言語を実行する際に、この2つがどのような働きをするか、を主に解説します。私もTruffleを使って、言語を実装してみようかな、と思っていただくことがゴールのセッションです。

スライド:
https://www.slideshare.net/jyukutyo/graalvmjvm

TruffleでPHPぽい言語を実装したら爆速だった

講演者: きしだ なおき (@kis): LINE Fukuoka

Truffleは動的言語作成用フレームワークで、ルールにしたがった記述をするだけで最適化を行ない高速に言語を実行してくれると言われています。

そこで、試しにPHPの文法に沿った言語を実装してみたらほんとに速く実行してくれました。

このセッションでは、Truffleで実装してみたPHP処理系とPHP7の比較、そこから見えた性能の傾向を紹介します。

スライド:
https://speakerdeck.com/kishida/truffle-php-at-jjug-night-seminar

懇親会

イベント終了後に懇親会を開催します。参加費は2000円です。

今回より、懇親会参加費のお支払いはSuica, Pasmoなどの交通系電子マネーICカードを用いた現地決済となります。モバイルSuica経由でのお支払いも可能です。

現金でのお支払いも受け付けますが、事務軽減のため、できる限り上記交通系電子マネーをご準備ください。

About this community

日本Javaユーザーグループ/Japan Java User Group

日本Javaユーザーグループ/Japan Java User Group

日本におけるJavaユーザーグループです。 公式サイト/Official site http://www.java-users.jp/

Join community