Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Elixirのライバルを紹介する(仮) / Shibuya.ex #1 LT by moccos
Search
moccos
August 25, 2015
Technology
0
1.7k
Elixirのライバルを 紹介する (仮) / Shibuya.ex #1 LT by moccos
2015-08-25 Shibuya.ex #1 LT
発表に使ったバージョンに、喋った概要と一部補足のテキストをのせたもの
moccos
August 25, 2015
Tweet
Share
Other Decks in Technology
See All in Technology
データ分析エージェント Socrates の育て方
na0
6
2.2k
roppongirb_20250911
igaiga
1
250
これでもう迷わない!Jetpack Composeの書き方実践ガイド
zozotech
PRO
0
1.1k
Android Audio: Beyond Winning On It
atsushieno
0
2.4k
Platform開発が先行する Platform Engineeringの違和感
kintotechdev
4
590
スマートファクトリーの第一歩 〜AWSマネージドサービスで 実現する予知保全と生成AI活用まで
ganota
2
310
RSCの時代にReactとフレームワークの境界を探る
uhyo
10
3.5k
職種の壁を溶かして開発サイクルを高速に回す~情報透明性と職種越境から考えるAIフレンドリーな職種間連携~
daitasu
0
170
Evolución del razonamiento matemático de GPT-4.1 a GPT-5 - Data Aventura Summit 2025 & VSCode DevDays
lauchacarro
0
210
JTCにおける内製×スクラム開発への挑戦〜内製化率95%達成の舞台裏/JTC's challenge of in-house development with Scrum
aeonpeople
0
260
ブロックテーマ時代における、テーマの CSS について考える Toro_Unit / 2025.09.13 @ Shinshu WordPress Meetup
torounit
0
130
未経験者・初心者に贈る!40分でわかるAndroidアプリ開発の今と大事なポイント
operando
5
750
Featured
See All Featured
How to train your dragon (web standard)
notwaldorf
96
6.2k
Visualization
eitanlees
148
16k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
30
9.7k
Why Our Code Smells
bkeepers
PRO
339
57k
The Language of Interfaces
destraynor
161
25k
The World Runs on Bad Software
bkeepers
PRO
70
11k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
113
20k
Building Adaptive Systems
keathley
43
2.7k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
252
21k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
127
53k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Optimising Largest Contentful Paint
csswizardry
37
3.4k
Transcript
Elixirのライバルを 紹介する (仮) 2015-08-25 Shibuya.ex #1 LT もっこす(@moccos[twitter|GitHub])
ライバル? 適用分野が似ているという意味のライバル(Rails等)ではなく 姿形の似たアクターモデルのライバルを紹介
VS Erlangとの比較も話題としてはあるけれど、今回は無しで
VS この4つを紹介 (一番右はロゴがなかった)
Akka • http://akka.io/ • 2.3.12 (current stable release) • JVM
• Java / Scala 既にメジャーバージョン2、だいぶ充実してきている
Akkaといえば… Play Frameworkが一番有名かも Akkaの上に実装されている
公式を見ると、何やらあちこちで採用されている おそらくErlangと同様にバックエンドなので、見た目にはわからない
ドキュメントも充実
いろいろな機能が実装されている Erlang/OTPの売りであるSupervisorも ある
Akka vs Elixir Akka Elixir Scala / Java 言語 Elixir
/ Erlang JVM 処理系 Erlang VM メッセージ スケジュール単位 簡約 全体 GC Processごと 静的 型 動的 速い 演算速度 遅い そんな強力なライバルAkkaとの比較 かなりの部分がJVM と Erlang VMの比較
Akka vs Elixir Akka Elixir Scala / Java 言語 Elixir
/ Erlang JVM 処理系 Erlang VM メッセージ スケジュール単位 簡約 全体 GC Processごと 静的 型 動的 速い 演算速度 遅い Erlang VMの強みは • Actorのスケジュール → 長く演算しているErlangプロセスが占有しない • グローバルに同期しないGC → Stop the worldの危険性が低い という、Actor model専用機ならではの部分かと
Orleans • http://dotnet.github.io/orleans/ • 1.0.9 (NuGet) • .NET • C#
/ F# / VB Microsoft謹製 超大型FPS Halo4 のサーバーサイド (https://channel9.msdn.com/Events/Build/2014/3-641 このスライドの説明がとてもわかりやすい)
Orleansの思想 Virtual Actor
Virtual Actor instances always exist, virtually
Virtual Actor • あるActorが常時存在する (ように見える) • 落ちたら勝手にどこかで復活する • Let it
crash! の単純化 Erlang等だと、再起動ポリシーをこまごまと設定できるけども とりあえず再起動してくれればいいよ、とまで単純化できるのであれば 楽が出来そうなしくみ
Orbit • http://orbit.bioware.com/ • 0.4.5 (Maven central) • JVM •
Java / Scala
heavily inspired by the Orleans project
Orbitの雑な説明 • OrleansのJVM版クローン ほとんど同じ機能が実装されている でも、.NETではなくJVMで動くというだけで価値がある
Pony • http://www.ponylang.org/ • 0.1.7 (on 18 Jun) • ネイティブバイナリにコンパイル
最後に色物、まだ出来たての言語
でも既にCommercial Supportがある。謎の気合
要素は全てActor。これはErlang VMと同じといえる (喋る時間がなかったけども、GCがActor単位で可能な利点をPonyも持つ)
他の文法を雰囲気だけ見てみると… 変数宣言、これはわかる
なんだこれは → Objectの参照権で細かく分類されている
Pony • ドキュメントがなくてつらい • そもそも言語機能が多くて難しい • 理想が高いのはわかる • 演算性能が高くなるはずなのもわかる (ドキュメントについて補足)
一切全く無いのでなくチュートリアルはあるが、網羅的でない Exampleやソースコードが頼り
(とても大雑把な) まとめ • Akka • 機能豊富 • 実績あり • Orleans
/ Orbit • Actorの死活管理がシンプルでよければ • 分散システム前提 • Pony • 現状は人柱 • たぶん動けば速い
(とても大雑把な) まとめ •Elixir • Erlang VMの応答性が最強