Skip to main content More Related Content
ODP
PDF
PDF
PDF
Intro to SVE 富岳のA64FXを触ってみた PPTX
PDF
PDF
PDF
UnboundとNSDの紹介 BIND9との比較編 What's hot
PDF
PDF
PDF
マネージドPostgreSQLの実現に向けたPostgreSQL機能向上(PostgreSQL Conference Japan 2023 発表資料) PPTX
DevOpsにおけるAnsibleの立ち位置と使い所 PDF
PDF
PDF
ARM CPUにおけるSIMDを用いた高速計算入門 PPTX
PDF
PDF
PDF
PDF
PDF
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】 PPTX
BuildKitによる高速でセキュアなイメージビルド PPTX
PDF
使ってみて気づいた AGPL ライセンスの メリット・デメリット PPTX
PPTX
PDF
PDF
【CEDEC2013】20対20リアルタイム通信対戦オンラインゲームのサーバ開発&運営技法 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パースアプリをサクっと書いてみる」 PPTX
PPTX
Elixir入門「第1回:パターンマッチ&パイプでJSONパースアプリをサクっと書いてみる」【旧版】※新版あります PPTX
Shibuya.ex #1 Elixirを本番環境で使ってみたという事例紹介 PDF
PPTX
PDF
PPTX
PPTX
PPTX
PPTX
PPTX
More from Tsunenori Oohara
PPTX
PPTX
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.
- 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.