Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Erlang and Elixir

3,297 views

Published on

NLNagoya にて話してきた内容と
tokyo.ex にて話す予定だった内容です

Published in: Technology
  • Follow the link, new dating source: ❶❶❶ http://bit.ly/39sFWPG ❶❶❶
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Dating for everyone is here: ❶❶❶ http://bit.ly/39sFWPG ❶❶❶
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

Erlang and Elixir

  1. 1. erlaNg and eLixir 2016/04/16 NLNagoya 2016/04/19 tokyo.ex
  2. 2. 自己紹介 name = ハヤブサ |> TwitterID = hayabusa333 |> heart = [カーネル, GC, Erlang, Elixir] |> jobs = 派遣ウェッブプログラマ |> position = [Joel教, 翔鶴瑞鶴仲良し姉妹同盟, 社畜系 Alchemist]
  3. 3. ElixirとPhoenixの薄い本を出しました(ページ数:240) 電子書籍版をBOOTHで販売中 https://hayabusa333.booth.pm/items/186705 自己紹介(宣伝)
  4. 4. Elixirとは ErlangVM(BEAM)にて動くプログ ラム言語 Erlangを今風の言語っぽくかける ようにした言語
  5. 5. Erlangとは 小さな子プロセスを大量に作成し 、管理することによって平行性・ 耐障害性に強い関数型言語
  6. 6. Elixirをやりたいなら Elixirは(それなりに)ドキュメン トが(たぶん)しっかりしている ので、ドキュメント読めばよい
  7. 7. なのでElixirの ドキュメントに書いて ない箇所を話します。
  8. 8. なにを話せば良いかなっと考 えて(ElixirにはNの文字がない し)
  9. 9. ElixirはErlangVM上で動くし、 Erlangに近い部分を話せば 良いかと考えた
  10. 10. 過去にElixirの起動時の話をし て内部実装について話してい て http://www.slideshare.net/hayabusa333/iex
  11. 11. その時気づいたこと http://d.hatena.ne.jp/hayabusa333/20160113/1452686320
  12. 12. Elixirには4つのコマンドがある elixir elixirc iex mix
  13. 13. Elixirのコマンド自体を 確認してみる https://github.com/elixir-lang/elixir/blob/master/bin/elixir
  14. 14. あっ、これ シェルスクリプトだ
  15. 15. elixirコマンドの 最終行を確認
  16. 16. 最終的にコードを Erlang側に渡しているだけでしたー
  17. 17. ま、まあElixirをやっていたら Erlangをやるのは当たり前だし(震 え声
  18. 18. /lib/*/ebin のファイルは どうやってできるのか
  19. 19. ElixirのビルドはMakefile でビルドするので Makefileを見ていけばわ かる
  20. 20. make したらデフォルトは compileのため Erlangで書かれたElixirの コードをcompileしているだけ
  21. 21. rebarは Erlangのcompileや テストやリリースを行うた めの統合ビルドツール
  22. 22. elixir.app.src では Erlangでビルドするため の情報が記載されている
  23. 23. make install で compileでできたbeamファイル を指定のディレクトリに配置!
  24. 24. Erlang以外の何物でもないな!
  25. 25. Elixirが作られた理由は Erlangの文法でアプリケーショ ンを書くのが苦痛だったため (出典不明)
  26. 26. しかしElixirの内部はErlang
  27. 27. ElixirはErlangを抽象化できる ほどには育っていない (そもそも全て抽象化しきる つもりもない…はず?)
  28. 28. 漏れのある抽象化の法則 抽象化は失敗する。 あるときは小さく、あるときは大きく 、漏れがあるのだ。 物事は悪くなるものだ。 この漏れは抽象化が行われているあら ゆる場所で起こる。
  29. 29. そもそもElixirを書くと きの考え方はErlangの 思想が必要
  30. 30. ElixirをやるならErlangは 切っても切れない関係
  31. 31. ご静聴ありがとうございました

×