More Related Content
PPTX
C#や.NET Frameworkがやっていること PDF
Dockerfileを改善するためのBest Practice 2019年版 PDF
Java EE から Quarkus による開発への移行について PDF
PPL 2022 招待講演: 静的型つき函数型組版処理システムSATySFiの紹介 PDF
PDF
今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 - PDF
PDF
Nervesが開拓する「ElixirでIoT」の新世界 What's hot
PDF
PDF
PPTX
PDF
PDF
PDF
PDF
AngularとSpring Bootで作るSPA + RESTful Web Serviceアプリケーション PDF
PDF
PlaySQLAlchemy: SQLAlchemy入門 PDF
「GraphDB徹底入門」〜構造や仕組み理解から使いどころ・種々のGraphDBの比較まで幅広く〜 PDF
PDF
PDF
マイクロサービスバックエンドAPIのためのRESTとgRPC PDF
PDF
AWS LambdaとDynamoDBがこんなにツライはずがない #ssmjp PDF
Linuxカーネルを読んで改めて知るプロセスとスレッドの違い PDF
PDF
Dockerfile を書くためのベストプラクティス解説編 PDF
PDF
Viewers also liked
PPTX
PDF
Joe Emison - 10X Product Development PDF
ネットワーク ゲームにおけるTCPとUDPの使い分け PDF
プロダクトに 1 から Vue.js を導入した話 PDF
とにかく楽してVue.jsでTypeScriptを使いたい PDF
Similar to Elixirと他言語の比較的紹介ver.2
PPTX
PDF
PPTX
PPTX
PPTX
Elixir-Conf-Japan-2017-session-ohr486 PPTX
やや関数型を意識した風Elixir/Phoenixご紹介 PPTX
PPTX
PPTX
Elixir入門「第1回:パターンマッチ&パイプでJSONパースアプリをサクっと書いてみる」 PDF
160911 handson elixir_phoenix PPTX
PPTX
Elixir入門「第1回:パターンマッチ&パイプでJSONパースアプリをサクっと書いてみる」【旧版】※新版あります PPTX
Shibuya.ex #1 Elixirを本番環境で使ってみたという事例紹介 PDF
PPTX
PDF
PPTX
PPTX
PPTX
PPTX
More from Tsunenori Oohara
PPTX
PPTX
PDF
PPTX
PPTX
PPTX
PPTX
running-elixir-in-production PPTX
PPTX
PPTX
running web app on elixir PPTX
PDF
Elixirと他言語の比較的紹介ver.2
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
自己紹介
• おーはら(@ohrdev)
• 好きなBehaviours:GenEvent
•FF14(光の戦士: Lv60白魔)
– 中2っぽい名前のライブラリがElixirには多い
• 普段やってる事
– 寺社仏閣巡り/写経/仏像彫り/丸太収集
– RedBull / ダイエット
• その他
– 株式会社ドリコム 技術基盤部
– 広告システムの開発/メンテ/etc
• Elixir/Phoenix, Erlang/OTP, Lisp, Ruby/Rails
• プロダクションで実際にElixirを使ってます(1年程)
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
Elixirの良い/悪い点
• 悪い点
– Erlangの悪い所全部
–ドラスティックに言語仕様が変わる
• 開発スピード/言語仕様更新が早い
• 開発スピード/言語仕様更新がとても早い
– Erlang知らないとdebug辛い(中身はErlang)
– ErlangVMはそんなに速く無い
– Erlangのバージョン縛りがわりと強い
– エコシステムがまだ十分に成熟してない
– 静的型付けではない
- 16.
- 17.
Elixirの仕組み
• コンパイラはErlang実装
– Leex(Lexicalanalyzer generator for Erlang)
• 現在は使われていない(elixir_tokenizerモジュールを
JoseValimがElixir用に作成)
– Yecc(LALR-1 Parser Generator for Erlang)
• カーネルはElixir実装
• 周辺ツール
– eex/ex_unit/iex/logger/mix
• サブ/関連プロジェクト
– plug/ecto/hexpm
- 18.
- 19.
- 20.
- 21.
- 22.
他言語比較
• Elixir vsScala vs Ruby
– エコシステム,コミュニティ規模,ユーザー数
• Ruby > Scala > Elixir
– 採用事例/仕事
• Ruby >> Scala >>> Elixir
– 主要WAF
• Elixir: Phoenix
• Ruby: Rails
• Scala: Play
- 23.
Elixir vs Ruby
•関数型 vs 手続き型/OOP
– Elixir: 関数型、メタプログラミング、マクロ
– Ruby: 手続き型、OOP、メタプログラミング
• ElixirコミュニティにはRubyクラスタの人達が
多い
- 24.
Elixir vs Scala
•アクターモデルのアーキテクチャ
– Elixir:言語(ErlangVM)レベルで実装
– Scala:ライブラリ(Akka)レベルで実装
– 自由度:Elixir < Scala
• ex) メールボックスの処理アルゴリズム(自前実装も可
能)
– 処理性能:Elixir > Scala ※そこまで気にならない?
• ElixirはGCによるStopTheWorldがない
• 同時処理数/プロセス起動時間/プロセスマイグレー
ション性能/プロセスの使用メモリ/スケーリング/etc
- 25.
- 26.
- 27.
- 28.
- 29.
- 30.
コミュニティの紹介
• meguro.ex
– 4/19(火)に#1を予定しています
–会場はアカツキさんのオフィスの予定
http://aktsk.jp/recruit/category/new_service_engin
eer.html
• sapporo beam
http://sapporo-beam.github.io
- 31.
おまけ
• トラッキングしておくと良いかもしれない言語
– Pony
•http://www.ponylang.org/
• http://www.slideshare.net/matsu_chara/pony-
concurrency-built-into-the-type-system-59778750
• OOP
• アクターモデル
• HighPerformance
• ErlangのOTP相当のものもある
• Post Erlang?
- 32.