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
スピンアウト講座02_ファイル管理
overflowinc
0
750
SLI/SLO 導入で 避けるべきこと3選
yagikota
0
140
ガバメントクラウドにおけるAWSの長期継続割引について
takeda_h
2
5.4k
Tebiki Engineering Team Deck
tebiki
0
27k
建設DXを支えるANDPAD: 2025年のセキュリティの取り組みと卒業したいセキュリティ
andpad
0
140
Zero Data Loss Autonomous Recovery Service サービス概要
oracle4engineer
PRO
3
13k
DDD×仕様駆動で回す高品質開発のプロセス設計
littlehands
4
1.9k
TypeScript 7.0の現在地と備え方
uhyo
7
2k
AWS CDK「読めるけど書けない」を脱却するファーストステップ
smt7174
3
210
モジュラモノリス導入から4年間の総括:アーキテクチャと組織の相互作用について / Architecture and Organizational Interaction
nazonohito51
3
1.4k
Phase02_AI座学_応用
overflowinc
0
1.7k
1GB RAMのラズピッピで何ができるのか試してみよう / 20260319-rpijam-1gb-rpi-whats-possible
akkiesoft
0
740
Featured
See All Featured
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
310
AI: The stuff that nobody shows you
jnunemaker
PRO
3
460
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
200
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
0
800
Being A Developer After 40
akosma
91
590k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.3k
What does AI have to do with Human Rights?
axbom
PRO
1
2k
Building Adaptive Systems
keathley
44
3k
Information Architects: The Missing Link in Design Systems
soysaucechin
0
840
Test your architecture with Archunit
thirion
1
2.2k
Fashionably flexible responsive web design (full day workshop)
malarkey
408
66k
Making the Leap to Tech Lead
cromwellryan
135
9.8k
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の応答性が最強