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.6k
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
AMLD 2024 - Build Your Own GPT
donlelef
1
260
KubeCon EU: Unlocking new Platform Experiences with Open Interfaces
salaboy
1
380
私のRSpecの書き方 / How I write RSpec
tmtms
4
840
VSCode上からSlackにメッセージを送る拡張機能を作っている話
ebarakazuhiro
0
120
データ化エンジニアとしての1年を振り返る
sansantech
PRO
3
260
Azureコストは水道代/The_47th_Tokyo_Jazug
aeonpeople
3
380
やっていきテスト
k6s4i53rx
0
160
Challenges - Open Farming Hackdays 2024
loleg
0
570
Tohoku.Tech #1 「Cursorを使ったRaspberry Piの開発」by ねこまた
jun2882
0
250
社内共通ルールを値オブジェクトにして社内ライブラリとして運用してみた話
leveragestech
2
1.2k
家族アルバム みてねで直面してきた技術的負債 / MIXI KAG 2024
isaoshimizu
17
7.7k
MongoDB Atlas Vectorsearchではじめる生成AIアプリ開発
chie8842
3
510
Featured
See All Featured
Writing Fast Ruby
sferik
619
59k
The Mythical Team-Month
searls
214
42k
Building an army of robots
kneath
300
41k
Fireside Chat
paigeccino
19
2.6k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
272
12k
The World Runs on Bad Software
bkeepers
PRO
60
6.6k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
58
14k
Imperfection Machines: The Place of Print at Facebook
scottboms
257
12k
YesSQL, Process and Tooling at Scale
rocio
160
13k
Producing Creativity
orderedlist
PRO
335
39k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
185
15k
A designer walks into a library…
pauljervisheath
199
23k
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の応答性が最強