X



【Erlang】プログラム言語 Elixir 【BEAM】 [転載禁止]©2ch.net
0001 ◆9Zst2CqO/Y
垢版 |
2015/06/03(水) 21:58:20.67ID:ZW2Eui3i
Erlangの仮想環境(BEAM)上で動作するプログラミング言語 Elixirを語りましょう。

公式
http://elixir-lang.org
0004デフォルトの名無しさん
垢版 |
2015/06/07(日) 15:38:04.61ID:SBNGGSIz
そう、それ。英語版買ってみたんだけど読むのに時間がかかるので、誰か日本語訳してくれないかしら。
0006デフォルトの名無しさん
垢版 |
2015/06/08(月) 09:04:20.17ID:JpHZs1fK
あ、ごめん
書籍購入済みだったのね
言い回しとか細かい意味は気にせず
コード例を試しながらガンガン先に進むのがお奨め
どうしても意味不明なら、ここに書き込めば誰かが答えてくれる
0008デフォルトの名無しさん
垢版 |
2015/06/08(月) 20:56:13.49ID:LPLzULgH
いまいち流行ってないの?
0010デフォルトの名無しさん
垢版 |
2015/06/08(月) 23:49:46.35ID:JodU/eML
>>9
githubには約2,000くらいリポジトリがあるな。
websocketサーバとか作ってるのか?
0012デフォルトの名無しさん
垢版 |
2015/06/09(火) 21:41:27.75ID:2qrqiFKE
>>11
キタ━━━━(゚∀゚)━━━━!!
0016デフォルトの名無しさん
垢版 |
2015/06/29(月) 15:52:33.58ID:uo6R+/rX
これいいね、Erlangは文字列が扱い辛かったんで使うの止めたんだけどVMとプロセスは好みだったんで凄いたすかるわ
ここしばらくClojure使って仕事してたけどこれに移行してもいいわ

#また社内ですったもんだしそう
0020デフォルトの名無しさん
垢版 |
2015/06/30(火) 04:52:35.81ID:Z08Kij/U
これエリクシールって読むべきなの?
日本語話者同士だとエリクサーでいいの?
0021デフォルトの名無しさん
垢版 |
2015/06/30(火) 21:33:59.91ID:cjiuh2rm
Dave Thomas本の紹介ビデオでは「エリクサー」だった。
ttp://pragprog.com/book/elixir/programming-elixir
イギリス発音だからなのか、「えりくすぉぁ」ぽい。
0023デフォルトの名無しさん
垢版 |
2015/07/21(火) 11:21:52.69ID:cDZFCGvg
>>21
Kindle版読了した
Earlang触ったときは銀の弾かと思ったが弾込めがめんどくさくて厭になったけどElixirは良い感じ
プロダクトで使っても良い感じだけど日本語書籍が出ないとちょっと辛いかも

Shiroさんとかが訳してくれないかと節に希望
0024デフォルトの名無しさん
垢版 |
2015/07/22(水) 19:11:57.52ID:H1eLeOxW
>>23
Lisp Flavored ErlangならともかくElixirはないだろ
0025デフォルトの名無しさん
垢版 |
2015/07/22(水) 20:07:22.86ID:hGpWQd9q
>>24
LFEの開発は活発なんでライブラリが増えてきたら楽しい事になりそうだけど、まだ実用するのはちょっと難ある感じじゃないの?
0030デフォルトの名無しさん
垢版 |
2015/07/26(日) 11:11:17.80ID:xjW/bXCO
>>29
LFEはエコシステムがまだだからライブラリが少ない
Elixirはエコシステム作成環境のMixがある
って事なんじゃないの?

jvmだとMavenレベル(Earlangの資産)はどっちも使えるけどClojure(Elixir)にはleiningen(Mix)があるみたいな(LFEはコレがまだ)
0032デフォルトの名無しさん
垢版 |
2015/08/02(日) 21:12:01.45ID:B6EgX8SI
QiitaにElixirネタが急に増えだしたけどなんかあったのか?
0033デフォルトの名無しさん
垢版 |
2015/08/02(日) 21:34:42.56ID:Atl5igGn
Qiitaで熱心な人のアンテナに引っかかり始めたってだけじゃね?

それと、Elixirに関する記事翻訳してる人とかいたし、その影響かも?
翻訳されたの読んで興味もって、触ってから記事あげたとか。
0034デフォルトの名無しさん
垢版 |
2015/08/02(日) 22:24:20.04ID:13FPdMsD
ほんとだ、えらく増えたな
個人的にはにゃんぱすの中の人がどうするか興味あるな
0035デフォルトの名無しさん
垢版 |
2015/08/03(月) 07:47:24.43ID:OeFx8Fqx
でもこのスレの盛り上がりはイマイチだな
0036デフォルトの名無しさん
垢版 |
2015/08/06(木) 02:25:12.62ID:p9RCu84a
Elixir触ってたらErlangのコードが読めるようになってたw
これが抽象化の威力か
嬉しい副作用
0040デフォルトの名無しさん
垢版 |
2015/08/27(木) 19:54:27.91ID:Gju8HQxV
最近ブクマにこれ関係増えてるんだけど
ブーム来てる?
0042デフォルトの名無しさん
垢版 |
2015/08/27(木) 21:12:38.22ID:MizK7f/3
Railsでフルスタックやってみたひとが、RESTサービスとかバックエンドをやるのに、手を出してる感じかな?

JVMやgoほど速くないけど動的寄り
そこそこはやいnodeと比べて、分散の仕組みがしっかりしてるのでnodeほどはまらない
素のpytonやrubyよりは単純にはやいし、仕組みはnodeの比較と同じ
そして、erlangよりはrubyの構文に似ている
0043デフォルトの名無しさん
垢版 |
2015/08/27(木) 21:21:37.37ID:MizK7f/3
あとは、mixというビルドツールが、なかなか優秀なので他のLLと同じように、ライブラリが見つけやすい&なければ作って共有のループにはまるかも。
erlang向けのライブラリも使えるし、今流行りの分野だけでも移植されていけば、比較優位かもという話。

> MixはElixirにおける作成、コンパイル、アプリケーションのテスト、依存関係の管理を扱うためのビルドツールです。
http://elixir-ja.sena-net.works/getting_started/mix_otp/1.html


人が増えるかは、初心者も乗ってくるキラーフレームワークが出来るかと、ユーザーグループとかの活動にかかってくるかも。
0044デフォルトの名無しさん
垢版 |
2015/08/27(木) 22:40:45.44ID:9VTD1V6F
単なるAPIサーバー用途でこんな特殊な言語使うかな
ジョブスケジューラとかには良いかなと思ってるけど
0045デフォルトの名無しさん
垢版 |
2015/08/28(金) 03:06:16.39ID:4YyjDPod
>>44
RoR好きだった連中が集ればclojureより流行ると思う
とClojure使いの自分は思ったりするし、移行とか併用ありだとおもってる。
ClojureはMany Coreなマシン単体だと効率が良いけどBEAMだとMany Machineで行けるのが凄い魅力なんだわ
0046デフォルトの名無しさん
垢版 |
2015/08/28(金) 05:30:39.60ID:Kh1NxF8R
>>45
実際使われ出してるのかね
今更Railsやる気も起きないし
選択肢にGoやScalaなんかもあって迷ってる
どれも並列性は強力だけどかなり使い方に違いがあるし
一度使い出すとメンテしなきゃいけないから
0047デフォルトの名無しさん
垢版 |
2015/08/29(土) 12:53:13.02ID:SMtJJj7r
https://speakerdeck.com/naoya/web-api-sabatositefalse-elixir-falseke-neng-xing

node vs erlang
http://kuenishi.hatenadiary.jp/entry/20101013/1286973687

取っ付き易ければいいんじゃないかなと。

ツイッターのTLで一台100万接続(維持?)が上限ってツイートがあって、
リアルタイムなチャットサービスなど考えると、一台でここまではスケールできるらしい。

アメリカみても、いろんなサービスが、どんどん安く、接続が多くシフトしてはいるので、
cruby以外とOTP自体は知っといたほうが良いと思う。
0048デフォルトの名無しさん
垢版 |
2015/08/29(土) 13:38:46.84ID:vrZb3qx4
なんだこのスレ住人居るじゃんw
0050デフォルトの名無しさん
垢版 |
2015/08/29(土) 22:42:45.45ID:ntBKh+t5
>>49
落ち込んだりするけれど、
私達は元気です
0051デフォルトの名無しさん
垢版 |
2015/08/30(日) 19:37:18.55ID:AhVEQ4iG
>>47
nodeとか、そもそもjavascriptってなんで流行ってるのか独りで不思議に思ってた。
erlangの作者と意見いっちしてたよ。自信になった。
0053デフォルトの名無しさん
垢版 |
2015/09/04(金) 23:28:45.24ID:7cp+uOxt
言語仕様においては禿同すぎるけど
Webにおいて唯一無二の存在だから流行るのは自然やろ
0054デフォルトの名無しさん
垢版 |
2015/09/05(土) 00:32:16.97ID:JV4gsemE
Phoenixって第一引数にconnって引き回さないといけないの?
関数型だから仕方ないのか
やはりオブジェクト欲しい
0055デフォルトの名無しさん
垢版 |
2015/09/08(火) 20:06:09.99ID:FdaSRh76
関数がカリー化されてないのが辛すぎる
全部適用時には普通にやればいいんだから実行時コストは変わらないはずなのに
これでは折角のパイプライン演算子が役に立たないではないか……
0056デフォルトの名無しさん
垢版 |
2015/09/08(火) 20:09:05.93ID:FdaSRh76
LFEは余りに薄いし、ErlangのVM上に静的型付けでML系の文法な言語とかあればいいのに……
0057デフォルトの名無しさん
垢版 |
2015/09/09(水) 10:48:15.65ID:hMauFfgT
>>54
定義はしゃーないけど、使うときはパイプラインつかえばええんちゃうの
引き釣り回してる感はないし。
0058デフォルトの名無しさん
垢版 |
2015/09/09(水) 13:34:56.72ID:pORKeFgH
エラーリカバリがめちゃ楽だ、なんで皆コレつかわんのか不思議
こんな事ならElixir出るまえからErlangもっとマジ目にやっときゃよかったorz
ただ数値計算が多いとちょっと遅いのは仕方ないのかとオモタ
0059デフォルトの名無しさん
垢版 |
2015/09/11(金) 00:55:39.95ID:2FuYRHxl
>>58
>ただ数値計算が多いとちょっと遅いのは仕方ないのかとオモタ

そういう言語じゃないからねえ
FORTRANも過去のコード資産もさることながら理由があって存続しているわけで
0061デフォルトの名無しさん
垢版 |
2015/09/14(月) 19:46:52.83ID:nW8KHDe7
本当にErlangなりElixirが必要なサービスを運用している人って
どれくらいいるのかね

電話会社とかHerokuとかニコ動とか、そういう超ヘビー(いろんな意味で)
な運用してるところが必要とするのはわかるが、
一般ピープルに縁があるとは思えん・・・
naoyaにアジられてるだけじゃないのか?という疑念が抜けない
0062デフォルトの名無しさん
垢版 |
2015/09/14(月) 21:16:57.98ID:Z8p5nXLT
>>61
ゲームのサーバでも使うのよ(マッチングとかチャットとか)
ソーシャルつなぎだけだとDeNAが実践したみたいにmemcachedとMySQLスレーブ一杯でもいけるんだけどさ
でもちゃんと負荷を分散するとErlangの魅力がすごいあるのだけど、Erlangは学習コスト高いのでチーム全体で使うには敷居が高くなるのだね
0063デフォルトの名無しさん
垢版 |
2015/09/14(月) 22:19:17.55ID:wzWpcKbK
OTPはそんなに気負わずに小規模でも使う価値のあるプラットフォーム

LispやHaskellみたいな関数型言語が何かできればErlangもElixirも
難しくないので、いうほど敷居は高くない(少なくとも私の周囲では)
0064デフォルトの名無しさん
垢版 |
2015/09/17(木) 14:52:13.74ID:wB7JQsO3
静的型付けの価値が周知されてきた今にあって
Elixirは動的型付けってあたりがちょっと時代遅れな感あるけどどう?
0065デフォルトの名無しさん
垢版 |
2015/09/18(金) 21:52:10.32ID:Os/NANam
>>64
ホットコードローディングには動的型付けによる実行時型検査が必須
ダウンタイムの極小化を目指すOTPの目的から、動的型付け以外は無理
ホットローディングが必要な業務系で昔からCommonLispが使われてきたのと同じ
0066デフォルトの名無しさん
垢版 |
2015/09/19(土) 02:12:02.60ID:dAhm0AlU
複数VMを立ち上げて再起動すれば可能だけどね
VM間でバイトコード共有できてが軽くないと難しいけど
0067デフォルトの名無しさん
垢版 |
2015/09/19(土) 03:20:20.91ID:dgpmJE92
なんか勘違いしてるだろ
006864
垢版 |
2015/09/19(土) 17:43:18.04ID:q5LVhQun
>>65
ありがとう
この辺(型付けとホットスワップの関連)よく知らないのでweb上に参考になる文書とかありませんか?
0069デフォルトの名無しさん
垢版 |
2015/09/19(土) 18:37:59.93ID:I9CWDfzW
>>68
静的型付けだとコンパイル時に決まるから堅いコードが書けるという事は周知の事だよね。
でもその場合実行コードにバグがあったり、想定外の事態がおきたときに現場でプロセスを生かしたまま差し替えとかできないでしょ。
動的型付けな言語だと実行時でもコードの差し替えが効くって事だと思っておいてよいよ(動的言語でも開発環境ごととかVM制御コンソールもってない言語だとできないのだけど)
たとえば、想定外のデータが来てエラー状態で保留になったスレッドに対して他のスレッドに影響を与えずに実行時スタックトレースの途中から型に修正を入れたコードを実行とかするってこと。

それがよいことかどうかっていう議論は静的型付け言語と動的型付け言語の論争の一つではあるけど動的型付け言語の一部はこの機能があるから好まれているってのは事実(CommonLispとかSmalltalkね)
0070デフォルトの名無しさん
垢版 |
2015/09/19(土) 21:17:23.29ID:dgpmJE92
>>68
ごく大雑把に言うと、静的型付けの言語は基本的に実行時には型情報を捨ててしまっているので、
メモリ破壊を引き起こさずに実行時にある関数の型を差し替えるとかいうことが難しい
動的型付けの言語は実行時に型情報を持ってるので、
データのシェイプが実行時に変動してもなんとかなる。

# まあ、コード内で実行時型検査システムをまるまる作れば静的型付けでもできるけどな
0071デフォルトの名無しさん
垢版 |
2015/09/19(土) 23:41:41.23ID:l+3aWSVB
>>70
># まあ、コード内で実行時型検査システムをまるまる作れば静的型付けでもできるけどな

動的のインタープリター再発明になっちゃうけどな。
0072デフォルトの名無しさん
垢版 |
2015/09/20(日) 00:22:53.89ID:63o2xbpc
>>71
型検査だけなんでインタープリタ再発明では全然ない
動的にしたいところの型情報を文字列でもHashTableでもいいから持たせて
実行時検査するだけだ
0074デフォルトの名無しさん
垢版 |
2015/09/20(日) 08:04:24.57ID:63o2xbpc
>>73
動的にしたいところ「だけ」の型情報を持たせるのは
フルスタックだろうがなかろうが、インタープリタとは言わん
0075デフォルトの名無しさん
垢版 |
2015/09/20(日) 15:51:00.47ID:fz1XKPEn
jarや.netアセンブリのリロードと違いはどんなところ?
リロードで、インターフェースの型が変わるとダメそうだけど、c#のdynamic型やjvmのinvokedynamicみたいな作りだといける?

> 72
何と無く、型変更なければ大丈夫という話のような?
型変更しても検査だけで大丈夫?
0077デフォルトの名無しさん
垢版 |
2015/09/26(土) 17:07:11.23ID:Med/2dDN
誰が変更点の解説頼む
0080デフォルトの名無しさん
垢版 |
2015/09/26(土) 19:02:49.59ID:HQIi9wNx
>>78
Enhancementがすげぇ
これでもう常備言語入り確定@うちの事務所
Clojureとの棲み分けは変わらないからcljとelixirだけで仕事できそうでうれしい
0081デフォルトの名無しさん
垢版 |
2015/09/26(土) 21:23:13.79ID:Med/2dDN
>>78
英語はだめ
日本語で要約して
0082デフォルトの名無しさん
垢版 |
2015/09/26(土) 21:24:06.84ID:Med/2dDN
>>80
elixrなんて仕事で使える段階なの?
社内用かなんか?
0083デフォルトの名無しさん
垢版 |
2015/09/28(月) 02:44:21.62ID:zeW+fSKN
>>81
この程度の英語も読めんならドキュメントも
マトモに読めないんだしElixir使う能力も必要もないだろ
0085デフォルトの名無しさん
垢版 |
2015/09/29(火) 08:30:42.90ID:FfAjxenL
これブームきてる?
0086デフォルトの名無しさん
垢版 |
2015/09/29(火) 22:00:00.64ID:CaCmBpb+
>>85
来てる
0087デフォルトの名無しさん
垢版 |
2015/09/29(火) 22:24:31.85ID:QEsaWW2p
>>85
持続するかどうかは不明。
いずれにせよそもそものErlangの方が息が長いだろうとは思う。
0088デフォルトの名無しさん
垢版 |
2015/09/29(火) 22:35:24.68ID:SqFlqVze
来てねーよ雑魚
0089デフォルトの名無しさん
垢版 |
2015/09/29(火) 23:03:45.88ID:cKYtU2yZ
普通のLLで良いよね
そもそもエリクサーのアーキテクチャを活かすのはHTTPじゃ難しい
0090デフォルトの名無しさん
垢版 |
2015/09/29(火) 23:23:51.82ID:QEsaWW2p
>>89
関数型での書きやすさだけでも使う価値はあるけどな。
Erlangがもう少しML系の構文だったならよかったのに…
0091デフォルトの名無しさん
垢版 |
2015/09/30(水) 00:29:43.69ID:fAroXUXQ
>>82
ゲームのロビーとかC10Kが噛む所にErlang使う事例が激増(というかミドルウェアがErlang)
でも(ライセンス料的に)自前で用意したいって所でErlangの読み書きができる人が少ない(国内事情)
そこでRubyに似た構文のElixirに着目(それでも人がたりないんだけど)
という、もうなんかメサイア登場みたいな感じなのよ(ネットワークサービス提供な一部の人にとって)

と括弧の中が内側の事情として読んでほしかったり。
実際問題新言語導入って社内政治的にも困難が伴うんだけど切羽詰まった所にElixirが来たんで教育ちょとするだけで済んで、高負荷で鯖落ちの危機があるような貧乏会社には福音なのだ
0092デフォルトの名無しさん
垢版 |
2015/09/30(水) 01:05:16.66ID:lT2r7iEL
個人的には並列性を得意な言語へスイッチするより
データストアにRedisなんかを使って後はマルチプロセスやスレッドでごにょごにょやる方が好きかな
いわゆるデータ並列性というやつ
0093デフォルトの名無しさん
垢版 |
2015/09/30(水) 23:13:31.50ID:f+f2Zpx5
お、なんか盛り上がってきたね
0094デフォルトの名無しさん
垢版 |
2015/10/01(木) 01:39:38.19ID:HjghiT7m
言語自体のベンチマークみると特別に速くなさそうなんだけど、なんでPhoenixは速いのだろう?
0097デフォルトの名無しさん
垢版 |
2015/10/02(金) 18:20:44.03ID:msUKJ4Xb
>>91
Erlang使ってるミドルウェアってどんなの?
0100デフォルトの名無しさん
垢版 |
2015/10/03(土) 23:30:37.58ID:n4KueUqq
ブーム来てる?
0101デフォルトの名無しさん
垢版 |
2015/10/04(日) 09:57:05.88ID:z47if9Kv
マクロが使えるのがいいよね!
レスを投稿する


ニューススポーツなんでも実況