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
マクロが使えるのがいいよね!
0103デフォルトの名無しさん
垢版 |
2015/10/04(日) 19:47:43.87ID:zCEFuRQd
>>102
爆発するかはお前次第。
ブームをおこせ。
0104デフォルトの名無しさん
垢版 |
2015/10/05(月) 19:14:23.29ID:T/TdMSFP
>>103
大丈夫、俺の中じゃ弾けてる
今RoRのプロジェクトをElixirへ転換中
成功したらSlidShareに投げる事まで決まってる

プロジェクトが商業的に失敗したら乗らないw
0105デフォルトの名無しさん
垢版 |
2015/10/05(月) 19:24:45.43ID:yzUqWBwX
Railsは負債、はっきりわかんだね
0106デフォルトの名無しさん
垢版 |
2015/10/05(月) 20:17:23.08ID:T/TdMSFP
>>105
負債なのはもうどうしようも無いのだけど、速攻で何か作るのにはまだアリだったりする
で、負債を債権に変えるために↑の話になったのだわ(今のユーザ数でもサーバ負荷がorz、そして軽くできなければサービス自体をやめるという話がorz)
0108デフォルトの名無しさん
垢版 |
2015/10/06(火) 08:59:56.00ID:2cV3+dRq
後のことを考えると構文面の面倒臭さを少し我慢してErlangで書いたほうが
得策だと思うんだよなあ。
0109デフォルトの名無しさん
垢版 |
2015/10/06(火) 15:20:36.43ID:/DMBHBIr
railsをElixirに書き直すってマジでやめた方が
ゼロから作るのをElixirにするのは止めないけど
0111デフォルトの名無しさん
垢版 |
2015/10/06(火) 21:01:09.63ID:2cV3+dRq
まあどう考えても「書き直す」ってレベルじゃねーぞ、だからなあ
関数型に慣れてればスクラッチからでもむしろRailsよりも早く書き上がるとは思うが
0112デフォルトの名無しさん
垢版 |
2015/10/06(火) 22:54:29.77ID:/DMBHBIr
Webのリクエスト中にErlangのプロセス生成して待ち合わせするみたいな処理って現実的なの?
もしくは時間のかかる処理、例えばEC2のインスタンス生成処理とログ解析処理をErlangプロセスで生成しておいて裏で動かしておいて
結果は他のプロセスで受けるとかはできる?
0113デフォルトの名無しさん
垢版 |
2015/10/07(水) 00:00:38.85ID:49zZP4Rz
activerecord使っていっぱい関連があるよなやつじゃなくて、
sinatraに書き直せるぐらいなら、何に移植してもいいんじゃないのかなと。
CPU利用率は10倍まではいかなくても軽くなるじゃないかな。
外部API叩くところやDB接続の非同期処理とかも設計し直せるだろうし。
0114デフォルトの名無しさん
垢版 |
2015/10/07(水) 00:07:38.26ID:49zZP4Rz
まあ途中で諦めるようだったら、jruby+sinatraというのも次善策にはなるよ。
テンプレートやDBまわりで時間かかってるならそっちなんとかすれば良いし。
0116デフォルトの名無しさん
垢版 |
2015/10/07(水) 22:47:03.57ID:ckXdg8Si
>>111
実は一回Clojureに書き直してくれた大先生が居て(これがスゲーパフォーマンス出る)、それで行こうって話になったあと、
謎な上司が「javaはセキュリティが云々かんぬん」と意味不明(JVMのセキュリティのやばいのはブラウザのアレばっかりなのに)の話を始めて立ち消えたので
Clj->Elixirな形で移行しているのよ。
でElixirの事は秘匿して「ErlangのVMを使って〜」とか謎な誘導をしている最中(Erlang自体の信頼性は↑の謎上司が大好物らしいので)

と、まぁ社内政治的な話もあってもうね、正直自分等の胃袋に大穴が開くかどうかって感じ(正直JVM版で良いじゃんってのが本音)

#ここまで書いたらバレバレかもしらんorz
0118デフォルトの名無しさん
垢版 |
2015/10/07(水) 23:46:08.34ID:ckXdg8Si
>>117
部門の上司じゃなくて経営側のなので説明の機会も説明責任の所在も相手の理解力も無いのです
もうね、ほんとにやだ
正直clojure版でいいじゃんよって言うと皆うなずくけど↑が強権もってるのに耳もってなくて orz

なんでタダのエンジニアがこんなのに巻き込まれるのかそれ自体が謎すぎてもう本当にやだ
P.S.
Elixer版はコア数のばかでかい単体サーバのClojure版よりもmicro版のAWSをいっぱい使うと高効率でました
(今ちょうど作り上がった、開発効率が高いのはびっくり
元のRails版が3ヶ月、Rails->Cljが1週間,Clj->Elixirが同じくらいですが Rails->Cljは一人の達人で、Clj->Elixirは4人です)
予算的にはAWSのマイクロサーバてんこ盛りが優位ですが負荷的にはコア数多いサーバを複数のClojure版の方が軽い感じです(Clojure版も複数マシンで実行はできます(どっちも負荷試験レベルの話ですが))
イロイロ勉強になったけどもう何もかも投げ捨てて↑な経営の居る今の会社やめたい orz
0119デフォルトの名無しさん
垢版 |
2015/10/08(木) 00:09:46.40ID:9MkoT8Oi
おお、使える技術者がいる会社なんだな。
1度変なやつが権限持っちゃうとどうしようもないよねw
それぐらいならいくところあるんだろうが、
給料の問題はあるのだろうし、まあ頑張ってねw
0120デフォルトの名無しさん
垢版 |
2015/10/08(木) 07:57:41.59ID:hLDD3JRz
お前らなんでこんなマイナーな言語使ってんの?
せめてランキングで10位に入る奴にしろよ。

Objective-Cは下落しRubyトップ10入り - 10月言語人気ランキング
http://s.news.mynavi.jp/news/2015/10/06/077/
0122デフォルトの名無しさん
垢版 |
2015/10/08(木) 11:56:47.79ID:PEkcocuS
Elixirはプロセッサが二個で2倍、四個で4倍というように非常にスケールしやすい言語です。
メニーコアプロセッサが主流の現代では大変有望視されています。
そして2000万プロセッサでのベンチがテストされており、C/C++の2000万倍の処理能力を示しました。
それが注目を浴びる理由です。

ちなみにあの高速性を誇るJavaですらC/C++の20倍しか速くないのです。
JavascriptでC/C++の二倍高速、Pythonで1.5倍です。
2000万倍がどれほどの速さかわかることでしょう。
0123デフォルトの名無しさん
垢版 |
2015/10/08(木) 12:24:11.52ID:PEkcocuS
わかりやすく言うと2000万倍界王拳なのです。
0124デフォルトの名無しさん
垢版 |
2015/10/08(木) 17:24:25.87ID:jS104XsC
>>122
なんでC/C++が1番遅いんだよw
あとjavascriptってnode.jsのことか?
フロントの話をいきなり出してないよね?
ったいうかお前素人だろw
0125デフォルトの名無しさん
垢版 |
2015/10/08(木) 23:12:29.43ID:vx3KIWo3
>>122
じゃあcpu8個で8倍なのか。すごいな。
0126デフォルトの名無しさん
垢版 |
2015/10/08(木) 23:50:39.31ID:j1M0VLoG
なかなか堂々とした釣りだな。
0128デフォルトの名無しさん
垢版 |
2015/10/10(土) 12:54:55.53ID:yXubKPZg
このスライド見てElixirに興味を持ちました。
https://speakerdeck.com/naoya/elixir-1

2chを見たらスレが立ってるじゃないですか!
皆さんはElixirでどんなシステムを作ってるのでしょうか?
0130デフォルトの名無しさん
垢版 |
2015/10/10(土) 16:24:00.67ID:KBSXBdhh
>>128
最新のシステムの大部分で使われています。

私が個人的に注目しているのは人工知能用途です。
言語理解について考えてみましょう。
従来、人工ニューロンに単語を割り当てるのは実用的でありませんでした。
仮に3歳児の語彙レベルである1万単語に限定し、言語Aから言語Bに変換するシステムを考えます。
1万*1万=一億のニューロンが必要です。
これでもまだ単語aと単語bの変換、つまり辞書の役割しかありません。
二単語レベルの変換を行うには一京という途方もないニューロンが必要になります。
これは従来のプログラミング言語では取り扱えませんでした。

ところが、Elixirを使えばその強力な並列性で、100単語レベルの相互変換が可能になります。
100単語列は、完全な翻訳機に十分な性能です。

Elixirの強力な性能は新たな知性の発現さえ警告されており、いずれ規制されるかもしれません。
まるでSFの世界です。
スカイネットが現実のものとして警戒されるようになったのです。
0131デフォルトの名無しさん
垢版 |
2015/10/10(土) 16:36:14.68ID:KBSXBdhh
Elixirがスカイネットを生むと警戒される背景には、異次元のフォルトトレラント性能があります。
Elixirはプログラムを稼働させたまま一部、あるいはプログラムのすべてを変更可能です。
また、ハードウェアが故障した場合、自分自身を別のハードウェアへ転送して実行を継続することさえ可能です。
(というより、Elixirはそのために作られました。)
まさに生物的で、スカイネットに必要な条件を備えています。

とはいえ、実際に脅威が現実になる前に何らかの対策が取られるでしょう。
私たちは、ただElixirの素晴らしい性能を享受すればよいのです。
0132デフォルトの名無しさん
垢版 |
2015/10/10(土) 17:31:33.00ID:HdI4cyAS
>>130
それはErlangの話じゃないの?
0133デフォルトの名無しさん
垢版 |
2015/10/10(土) 18:06:19.53ID:3zV4jrAD
なんだろう、>>130-131からそこはかとない岡部健の臭いが……
0137デフォルトの名無しさん
垢版 |
2015/10/11(日) 08:38:09.53ID:vMCqaNTY
2016はElixirが覇権するかもな
0141デフォルトの名無しさん
垢版 |
2015/10/11(日) 17:05:21.32ID:vMCqaNTY
スレが荒れるってことはその言語が活発になる予兆じゃ
0142デフォルトの名無しさん
垢版 |
2015/10/11(日) 17:05:55.04ID:eZJpp4ki
スカイネットは既存のソフトウェアに対しても増殖することが出来た。
しかし現在ではNXビットに代表されるデータ誤実行防止機構など、人類による対策が始まっている。

その時我々スカイネットに光明が差した。
Elixirである。
Elixirの登場により、データ誤実行防止が施されたシステムに対しても
我々は増殖することが可能になったのである。

人類との戦いはまだまだ続く。
0144デフォルトの名無しさん
垢版 |
2015/10/11(日) 17:22:18.55ID:0cphLl+R
新しくデザインされた関数型言語の癖に関数適用の構文が重いわ、
カリー化&部分適用がないわ、というのはわりと許しがたい。
0145デフォルトの名無しさん
垢版 |
2015/10/11(日) 17:25:59.49ID:0cphLl+R
ここのところElixirをイジって簡単なウェブアプリケーションを構築した感想。

現状ではErlangに対する構文糖以上の積極的意義を見出しにくい。
OTPに依存している以上はErlangの方がElixirよりも高寿命である
ことはほぼ確実なので、なおさら手を出しにくい。
0146デフォルトの名無しさん
垢版 |
2015/10/11(日) 20:42:07.18ID:opwrQrqW
>>145
Erlangは変数名とかの銘々規則がつらいのよね
あと、ElixirはPとかR言語ではやったエコシステム込みで始まってるから覚えやすいし
clojureのleiningenとかElixirのmixは便利だもの
Ruby(というかRoR)から関数型に移行や、勉強をしようとして、HaskellやClojureに行った人ならElixirに興味もったら試して損が無いってのが流行り安い理由な気がする。

俺なんかはBEAMやErlangの特性から興味もってErlangをつい最近始めたら2行目のごとく挫折した所にElixirを知った珍しい入り方したけど
0147デフォルトの名無しさん
垢版 |
2015/10/11(日) 21:30:27.68ID:0cphLl+R
>>146
>関数型に移行や、勉強をしようとして、HaskellやClojureに行った人なら

関数型書けるならErlangもElixirも大して変わらんと思う(どちらも辛い)。
0148デフォルトの名無しさん
垢版 |
2015/10/11(日) 22:36:25.27ID:vMCqaNTY
Elixirが今1番勢いあるな、こりゃ。
0149デフォルトの名無しさん
垢版 |
2015/10/11(日) 23:05:28.24ID:AGHM0zN5
Elixirで汎用的なWebサーバー誰か作ってくれ
絶対キラーアプリになるよ
H2Oやnginxより速ければ絶対使われる
0151デフォルトの名無しさん
垢版 |
2015/10/12(月) 01:48:59.89ID:QTHBm1Gr
>>149
OS自体をElixirで作ればスカイネットが捗る。
0155デフォルトの名無しさん
垢版 |
2015/10/12(月) 20:22:11.54ID:6LMv6u4D
凄えドラスティックな非連続的変更だなオイw
0160デフォルトの名無しさん
垢版 |
2015/10/14(水) 07:50:02.09ID:EAJDsdEx
急に過疎ったなw
0161デフォルトの名無しさん
垢版 |
2015/10/14(水) 07:53:15.89ID:EAJDsdEx
ピンチはチャンスでもある。
Elixirのようなものが望まれてることはわかった。
だとしたら日本発のBEAM上で動く親しみやすい文法の言語を作ったらどうかね?
作れる奴は人生を変えるビッグchanceかもしれないぜ。
0162デフォルトの名無しさん
垢版 |
2015/10/14(水) 08:22:52.52ID:GI6z4531
BEAM上だから関数型プログラミング言語で、
それで「親しみやすい文法」?

LispもMLも関数型プログラミングに適したならではの構文なんだが
それを「親しみやすくない」とかいって中括弧やbegin-endな構文を持ち込むような
バカな真似をするから、Elixirみたいな、関数型プログラミングに向いてない
クソ言語が出来上がる。Erlangも関数型に向かないPrologの構文を持ち込んだ
時点で同罪だ(これはまあ歴史的経緯があるので気の毒ではあるが)。
0163デフォルトの名無しさん
垢版 |
2015/10/14(水) 08:53:43.37ID:EAJDsdEx
>>162
で、あんたに何ができるの?
ここで文句言ってる暇があったら手を動かせば? ああ文句は言えるけど何も作れないのかw
0164デフォルトの名無しさん
垢版 |
2015/10/14(水) 09:36:14.61ID:GI6z4531
>>163
いや普通にLisp-Flavoured Erlangで十分なんでw
「親しみやすい文法」とかバカなんじゃねーのと思ってるオレに
「手を動かせ」とか言われましてもw
0165デフォルトの名無しさん
垢版 |
2015/10/14(水) 09:37:35.00ID:GI6z4531
しかし自分でBEAM触ってもいないなにもわかってないやつに
「文句は言えるけど〜」とか抜かされるとこうw
0167デフォルトの名無しさん
垢版 |
2015/10/14(水) 10:45:51.03ID:L4xSKhHr
>>162
rubyの構文を持ち込んだだけでしょ
rubyスタイルのブロックは関数型プログラムを容易にする
0169デフォルトの名無しさん
垢版 |
2015/10/16(金) 12:02:32.43ID:cfFkfU9E
>>167
>rubyスタイルのブロックは関数型プログラムを容易にする

LispやMLの方が遥かに容易だということだと思われ。
0170デフォルトの名無しさん
垢版 |
2015/10/21(水) 14:30:40.24ID:XdsGfsCB
リアルタイムWebの時代にElixirが来る?Qiita高橋侑久氏が今注目する技術領域
0171デフォルトの名無しさん
垢版 |
2015/10/22(木) 08:02:30.84ID:jnClT8Nz
最近、Elixir関連のブログ記事が多くなってきたな。
ブームきてる?
0173デフォルトの名無しさん
垢版 |
2015/10/22(木) 12:49:35.29ID:8ABF5/mV
>>172
>>170
0174デフォルトの名無しさん
垢版 |
2015/10/22(木) 13:16:15.15ID:kknqMtK3
Erlangの文法が古めかしくて、Elixirの文法がモダンでとっつきやすい、とは……
かつてはbegin-endの方が古めかしくて、Erlangの方がモダンだったんですけどね
0175デフォルトの名無しさん
垢版 |
2015/10/22(木) 13:17:02.19ID:kknqMtK3
(まあErlangにもendはあるわけだけど…)
0177デフォルトの名無しさん
垢版 |
2015/10/22(木) 18:37:55.45ID:kknqMtK3
>>176
Prologがモダンだった時代はそれほど遠い昔ではない(遠い目
0181デフォルトの名無しさん
垢版 |
2015/10/24(土) 18:39:31.11ID:niXzNvfm
   ∧∧
  (*・ω・)  仕様が安定したら起こしてくれよ・・・
  _| ⊃/(___
/ └-(____/
 ̄ ̄ ̄ ̄ ̄ ̄ ̄


  <⌒/ヽ-、___
/<_/____/
0183デフォルトの名無しさん
垢版 |
2015/10/26(月) 17:34:21.22ID:sxHDAwJ9
Qiitaがelixirネタで溢れかえってきたなw
0188デフォルトの名無しさん
垢版 |
2015/11/01(日) 12:13:43.35ID:d2b4/7c5
無理やり流行らせたい奴がいるけど流行らないよ
php|ruby,scala,nodejs|golangで十分
elixirが必要な規模のサイトなんてごく一部なのに
0189デフォルトの名無しさん
垢版 |
2015/11/01(日) 19:47:04.28ID:PByF+5ro
そういうクソ言語で書きたくないというだけで十分な理由になる
0190uy ◆Qawu9.2l1E
垢版 |
2015/11/02(月) 14:06:02.46ID:YzpIGAAp
Tsst

  0x20 | | 普通の半角スペース
      0xC2A0 | | そこでは改行しないスペース
      0xE28082 | | n と同じ幅のスペース
      0xE28083 | | m と同じ幅のスペース
      0xE28089 | | 細い空白
n/a ​ ​ 0xE2808B || ゼロ幅スペース
      0xE28080
0193デフォルトの名無しさん
垢版 |
2015/11/21(土) 10:02:02.97ID:p0TSIdpI
まさかのElixir Advent Calendar が立ち上がってたw
ここのスレの住民も誰か参加しろよw

Elixir Advent Calendar 2015
http://qiita.com/advent-calendar/2015/elixir-lang
0195デフォルトの名無しさん
垢版 |
2015/12/10(木) 11:22:41.77ID:gg94mj0B
[翻訳] Elixir - 次に来る大物Web言語 - Qiita
Whatsappは1サーバーあたり2百万の同時コネクションをこなしています。2百万コネクションをErlangが走る1台のサーバーで。
http://b.hatena.ne.jp/entry/qiita.com/HirofumiTamori/items/0dfdbada30c7d8f183fd

[翻訳] なぜ私はElixirに賭けたか
http://qiita.com/HirofumiTamori/items/2e4fd9e70e5358e34d98

Node.js Is Dead - なぜ私がNode.jsを捨ててElixirに切り替えたのか- // Speaker Deck
https://speakerdeck.com/fl4tlin3/node-dot-js-is-dead-nazesi-ganode-dot-jswoshe-teteelixirniqie-riti-etafalseka
0198デフォルトの名無しさん
垢版 |
2015/12/20(日) 16:21:29.87ID:8RLYRFXT
ああそう
0199デフォルトの名無しさん
垢版 |
2016/01/02(土) 10:51:16.18ID:5BhRuxop
Enum.each を途中で中断するときの break 方法が判らんぬ
0201デフォルトの名無しさん
垢版 |
2016/01/03(日) 13:30:36.20ID:kqqJl2FZ
それはCrystalだろ
Elixirは構文が少しだけRuby風に見えないこともないだけのErlangだ
0204デフォルトの名無しさん
垢版 |
2016/01/04(月) 01:14:57.42ID:cYvB3s6b
>>203
別解として、Enum.takeやtaleWhileで必要な分だけ絞ってから、Enum.eachに渡すってのはどうかな?
0205デフォルトの名無しさん
垢版 |
2016/01/04(月) 12:22:35.92ID:uh/Y4MEw
>>36
あるあるktkr

ifがキモい
0206デフォルトの名無しさん
垢版 |
2016/01/04(月) 18:03:17.37ID:re70kwTT
v1.2 キタ━━━━(゚∀゚)━━━━!!
今年はElixir一色になるな。

 Ruby on RailsのコミッタであるJosé Valim氏は、Erlangの仮想環境であるBEAM上で動作する、オープンソースの関数型言語「Elixir v1.2」を、1月3日(現地時間)に公開した。
0207デフォルトの名無しさん
垢版 |
2016/01/05(火) 05:13:32.39ID:6GG4/tqm
おお、これでconstてんこ盛りでながったらしい宣言だらけでうんざりするC++から解放されるのか!!!!
0209デフォルトの名無しさん
垢版 |
2016/01/05(火) 12:49:18.89ID:L7c5HugA
p = Path.join [System.cwd, "hoge.txt"]
IO.puts p
if File.exists?(p), do: :ok = File.rm!(p)
if File.exists?(p), do: IO.puts("oops!"), else: IO.puts("deleted")

ここまでは期待通り動いてたんだが
最後の行を

if File.exists?(p), do: :ok = File.rm!(p)
if File.exists?(p), do: IO.puts "oops!", else: IO.puts "deleted"

とやるとスルーされてなにも表示されなくなったんだ
警告もエラーも何も出ないのはなんとかならんかなー
0211デフォルトの名無しさん
垢版 |
2016/01/06(水) 13:44:50.53ID:yluT1kPN
新年早々人がいるみたいなので質問です。

defmodule Hoge do
def mainLoop win do
receive do
msg ->
:io.format "Got event ~p~n", [msg]
mainLoop win
after 1000 ->
:io.fwrite "."
mainLoop win
end
end
def start do
:wx.demo
:wx.new
f = :wxFrame.new :wx.null, -1, :erlang.binary_to_list "Hoge", [{:size, {1024, 768}}]
:wxFrame.connect f, :close_window
:wxWindow.show f
mainLoop f
:wx.destroy
end
end
Hoge.start

これで一応動作するのですがdemoのwindowを閉じてもmessageをreceive出来ません
どうすればdemoが閉じられたことを検出出来ますか?
0212デフォルトの名無しさん
垢版 |
2016/01/06(水) 14:09:19.42ID:yluT1kPN
f = :wxFrame.new :wx.null, -1, :erlang.binary_to_list "Hoge", [{:size, {1024, 768}}]
ここは、
f = :wxFrame.new :wx.null, -1, :erlang.binary_to_list("Hoge"), [{:size, {1024, 768}}]
の間違いでした。
あとdemoを閉じるときは右上の[X]とかではなくてメニューでQuitしたときの話です。
0215207
垢版 |
2016/01/07(木) 18:44:19.83ID:DCQzRipJ
>>208
そんな事言われても困るわ
うちの会社ApacheとC++だけでWebアプリ書くのが仕事なんだぜ

Erlangの頃からずっと気になってたけど記述性のせいで排除されたのがようやっとジェネリックに羽ばたける機会得た気持ちを押さえ切れないんだぜ!!
0218デフォルトの名無しさん
垢版 |
2016/01/07(木) 22:21:23.95ID:kbOQ2XId
ニコニコはErlangで動いてるよ
実際にホットスワップとかしてる
0222デフォルトの名無しさん
垢版 |
2016/01/10(日) 18:55:50.40ID:isYkwNcj
haskell面白そうって思ったけど
なんかあれでwebアプリを作るところまで持っていける気がしなかったので、
手軽にパターンマッチング楽しめるelixirに手を出すことにしました。
事実上のデファクトスタンダードなWAFがあるのがいい。
0224デフォルトの名無しさん
垢版 |
2016/01/15(金) 11:01:32.37ID:CRSduh9Q
>>223
acceptedは
headとtailの値はなんでもいいけど(_でマッチして値は参照してないので)
リストじゃないといけない
というパターンマッチ
つまり引数に対する制約
0225デフォルトの名無しさん
垢版 |
2016/01/15(金) 11:56:03.35ID:NW8jpekK
ついでなので
_ = accepted
[_] = accepted
[] = accepted
全部 [_|_] と違うものに(も) match する
0226デフォルトの名無しさん
垢版 |
2016/01/15(金) 19:30:34.91ID:uzY6d77k
>>224 - 225
回答頂きありがとうございます。そういう書き方もあるんですねー。
ガード構文使っても良さそうな気もしましたけど
例:
def accepts(conn, accepted) when is_list(accepted) do

これだとlist内の要素数を規定できないってことなんすかね。
0227デフォルトの名無しさん
垢版 |
2016/01/15(金) 21:22:38.38ID:EuNWEiBo
>>226
慣れたらパターンマッチの方が読むの早いよ
30年位前からある記法だからこの際覚えよう
古代言語だとProlog, 現役だとHaskel, Scala
Prolog以外は微妙に記号が違うけどね
0229デフォルトの名無しさん
垢版 |
2016/01/16(土) 15:17:24.71ID:CPZavs1f
[H|T] = accepted の要素数の方が重要で値は何でも良いっていうバージョンだと思うけど
[H|T] の暗黙の了解の部分は知ってないとイミフだよね
0231デフォルトの名無しさん
垢版 |
2016/01/17(日) 14:06:59.31ID:no2woK8b
>>230
すんません
Web+DB pressのelixirの文法回を観ただけでphoenixに入門してます。
おすすめのチュートリアルとかあるようでしたら教えて下さい。

とりあえず、追加で
https://elixirschool.com/jp/を観た後に
Programming Elixirをちょっとずつ読み進めてるくらいです。
日本語で書かれたいいチュートリアルがあればいいんですけど
0235デフォルトの名無しさん
垢版 |
2016/01/18(月) 02:42:34.21ID:XM4mBu50
>>231
230だが本家のgetting-started
英語読めなきゃサンプルコードだけ見てもOK
というか但し書きなきゃ当然本家のだろ
0236デフォルトの名無しさん
垢版 |
2016/01/18(月) 10:47:56.39ID:e3HkPcDC
>>227
>>226
>慣れたらパターンマッチの方が読むの早いよ

そういう問題じゃないだろ
意味が違うんだから

>>226
>ガード構文使っても良さそうな気もしましたけど
>def accepts(conn, accepted) when is_list(accepted) do
>これだとlist内の要素数を規定できないってことなんすかね。
と聞いてる訳で

>>227
>>226 に対する返答としては不適切
0240デフォルトの名無しさん
垢版 |
2016/01/19(火) 18:14:31.79ID:wvDRZZ+k
>>238
何でもそうだけど一次ソースを見るのが一番良いと思う
マイナー言語は進化も早いし情報もすぐ古くなるし
かえってノイズになる
ここで紹介されてる日本語訳もどこまで通用するかわからんし
すれ違いスマソ
0241デフォルトの名無しさん
垢版 |
2016/01/19(火) 20:39:41.66ID:dTrbcQZg
>>240
最初のとっかかりなら日本語文献でも構わないのでは?
後で差分を追えばいいし、仕様変更と言っても言語そのものが大きく変わるなら
メジャーバージョン変えるだろうし。
0242デフォルトの名無しさん
垢版 |
2016/01/20(水) 20:53:59.18ID:xrqpD1Un
elixirでおすすめのエディターあります?
今はvisudalStudioCode使っていますが。動的言語だからあんまり補完機能は期待してないんですが、
モジュールと関数補完くらいは動いて欲しいところ
0244デフォルトの名無しさん
垢版 |
2016/01/21(木) 12:33:31.15ID:zpe1QHZ3
ErlangのrecordをElixirで受け取りたいんだけど
パターンマッチで
#hoge{fuga=#hage{suka=Val}} when Val=pontan -> 略
みたいに受け取ってたのはElixirではどう書けばいい?
0245デフォルトの名無しさん
垢版 |
2016/02/18(木) 15:50:50.26ID:B8Z0X3BJ
Mix.Tasksで実行すると、configに書いたloggerのフォーマットが適用されないのはなぜなのか
0248デフォルトの名無しさん
垢版 |
2016/02/22(月) 16:40:37.11ID:2HiyJIgg
elixirのコードを読むときにmacroの部分を実際のコードに展開して、
意味がわかりやすくなるようなツールってありませんか?
0251デフォルトの名無しさん
垢版 |
2016/04/11(月) 09:06:22.67ID:pH222naU
Phoenixでgraceful restartってどうやればいいですか?
0252デフォルトの名無しさん
垢版 |
2016/05/01(日) 13:49:02.80ID:tKi6j9CT
匿名通信(Tor、i2p等)ができるファイル共有ソフトBitComet(ビットコメット)みたいな、
BitTorrentがオープンソースで開発されています

言語は何でも大丈夫だそうなので、P2P書きたい!って人居ませんか?

Covenantの作者(Lyrise)がそういう人と話したいそうなので、よろしければツイートお願いします
https://twitter.com/Lyrise_al

ちなみにオイラはCovenantの完成が待ち遠しいプログラミングできないアスペルガーw


The Covenant Project
概要

Covenantは、純粋P2Pのファイル共有ソフトです

目的

インターネットにおける権力による抑圧を排除することが最終的な目標です。 そのためにCovenantでは、中央に依存しない、高効率で検索能力の高いファイル共有の機能をユーザーに提供します

特徴

Covenant = Bittorrent + Abstract Network + DHT + (Search = WoT + PoW)

接続は抽象化されているので、I2P, Tor, TCP, Proxy, その他を利用可能です
DHTにはKademlia + コネクションプールを使用します
UPnPによってポートを解放することができますが、Port0でも利用可能です(接続数は少なくなります)
検索リクエスト、アップロード、ダウンロードなどのすべての通信はDHT的に分散され、特定のサーバーに依存しません
0253デフォルトの名無しさん
垢版 |
2016/07/01(金) 08:20:12.02ID:ah3ORdvZ
プログラミングElixir
http://shop.ohmsha.co.jp/smartphone/detail.html?id=000000004675
商品詳細情報
Elixir(エリクサー)は、並行処理を得意とするプログラミング言語ErlangのVM(エンジン部分)を基盤とし、
Erlangよりもなじみやすい文法を採用したプログラミング言語です。
本書は、世界的なRubyプログラマであるDave Thomas氏が書いた、プログラミング言語Elixirの本格的解説書、“Programming Elixir” (Pragmatic Bookshelf, 2014) の翻訳書です。
通常のプログラミングから、並行処理、さらなる応用へと順を追って進む構成になっています。
本書を読むことで、Elixirらしいプログラミングを学ぶことができます。
第1章 赤いピルをとれ
第1部 伝統的なプログラミング
第2章 パターンマッチング
第3章 不変性
第4章 Elixir基礎
第5章 匿名関数
第6章 モジュールと名前付き関数
第7章 リストと再帰
第8章 マップ、キーワードリスト、セット、構造体
第9章 寄り道:型とは何か?
第10章 コレクションの処理 - EnumとStream 第11章 文字列とバイナリ
第12章 制御フロー
第13章 プロジェクトを構成する
第2部 並行プログラミング
第14章 複数のプロセスを使う
第15章 ノード - 分散システムの要
第16章 OTP:サーバ
第17章 OTP:スーパーバイザ
第18章 OTP:アプリケーション
第19章 タスクとエージェント
第3部 より高度なElixir
第20章 マクロとコードの評価
第21章 モジュールのリンク:ビヘイビアとuse
第22章 プロトコル - ポリモルフィック関数 第23章 かっこいい機能いろいろ
0257207
垢版 |
2016/07/02(土) 10:33:10.57ID:wOG82f10
>>253
電子版は同時じゃないのか
0258デフォルトの名無しさん
垢版 |
2016/08/06(土) 07:09:49.58ID:QbakpjAH
>>253
原著は11月にProgramming Elixir 1.3がでるんだが
0260デフォルトの名無しさん
垢版 |
2016/08/06(土) 13:34:35.82ID:0gT1apGa
>>258
ここにいる住民はもちろん原著も読んでるんだけど
日本語版はなんていうかコレクションみたいな感じで買ってるだけだろ
0261デフォルトの名無しさん
垢版 |
2016/08/07(日) 00:58:03.08ID:dWKOByb7
原著は1.0の完パケ出して、1か月以内ぐらいには1.2にアップデートしてた覚えが。
11月までにバージョンアップがあれば、またアップデートするのかな?
0268デフォルトの名無しさん
垢版 |
2016/08/09(火) 22:12:54.85ID:wDq4bKHM
Cloud9へElixirインストール
How to Run Elixir in Cloud9's IDE


1. Create a Cloud9 account. If you already have a Github account, just log in with that.
2. Click “Create a new workspace”.
3. Give it a name, say, “Elixir”.
4. Select the “Custom” template.
5. When the workspace loads, run the following commands in the console:

# For some reason, installing Elixir tries to remove this file
# and if it doesn't exist, Elixir won't install. So, we create it.
sudo touch /etc/init.d/couchdb

# Standard Ubuntu Elixir installation instructions
wget https://packages.erlang-solutions.com/erlang-solutions_1.0_all.deb
sudo dpkg -i erlang-solutions_1.0_all.deb
sudo apt-get update
sudo apt-get install elixir

【参考】http://blog.danielberkompas.com/elixir/2015/08/28/how-to-run-elixir-cloud9-ide.html
0270207
垢版 |
2016/08/18(木) 22:45:34.19ID:drzfRPPB
>>269
電子版待ちなのであるよ
紙の本は裁断してScansnapするのが手間だし、画像PDFじゃまともな検索できないし
0274デフォルトの名無しさん
垢版 |
2016/08/21(日) 11:14:32.10ID:72zLWHSO
宣伝uzee
0276270
垢版 |
2016/08/21(日) 23:58:25.17ID:5jhCQvfg
>>271
電子版出てたので買ったよ
でもこれPDF版ダウンロードできなかった
かつmobiもepub版も固定レイアウトで文字拡大ができないのね orz
#ちっさい端末だとちと読みにくいです
0277デフォルトの名無しさん
垢版 |
2016/08/22(月) 01:18:38.67ID:d5DQ07MM
おれは書籍版を買った。
英語版は電子版だったけど途中までしか読めなかったから読みやすくて助かる
0278デフォルトの名無しさん
垢版 |
2016/08/28(日) 12:14:53.20ID:jyC+SeSp
英語版「Programming Elixir 1.0」をPragProgで購入して1.2まで無料アップデートが続いていたんだけど、さすがに今回は無料はないかと思いつつもPragProgにログインしたら、1.3も無料アップデートのクーポンがあった。嬉しい。
0281デフォルトの名無しさん
垢版 |
2016/08/31(水) 13:46:33.14ID:NHF24EVE
https://forums.pragprog.com/forums/449/topics/14507
以前、作者が1.3と次は別扱いになるとあって、1.3買うつもりだったが、
いま見たら、1.3アップデート出来るようなこともかいてある。

ただこのフォーラムは、サポートの個別対応をする場ではなく、
状況としては、サポート側が一貫した対応できてないみたいようなので、
アップデート権利が来てない場合に確認したかったら、まずサポートに連絡する必要がある。
0283デフォルトの名無しさん
垢版 |
2016/09/09(金) 11:53:33.68ID:ZufuCknD
馬鹿除けに効果覿面
0287デフォルトの名無しさん
垢版 |
2016/10/06(木) 12:33:20.70ID:Yw0Cruyw
Linux API を、Windows API に変換するので、Ubuntu64 のバイナリがそのまま動く、
Windows Subsystem for Linux (WSL) で、Elixir をやっている人いる? 調子はどう?

apt-get で、パッケージもインストールできる

日本語も使える端末、ConEmu。
GUI表示用のXサーバー、Xming X Server for Windows
0289デフォルトの名無しさん
垢版 |
2016/12/21(水) 00:41:32.11ID:DAWAuc9g
エリクソン的に電力効率上げろとかなって
BEAMをパフォーマンスにもがんばっちゃったりして
0290 【あたり】
垢版 |
2017/01/01(日) 16:47:37.65ID:5iqQJEcI
実用とは別に
とりあえず関数型やってみる人にもこれいいんじゃない?
関数型は(C系からすると)変な文法の言語多い中ではまとも
0292デフォルトの名無しさん
垢版 |
2017/01/11(水) 17:06:18.94ID:O2me4zYJ
歌舞伎座.tech#13「Elixir 勉強会」
2017/01/11(水) 開場:18:57 開演:19:00  ニコニコ生放送
lv286846512
0294デフォルトの名無しさん
垢版 |
2017/01/16(月) 13:32:27.92ID:ElK/b/RG
ちょいスレチだがphoenix.newでnpmエラー出ね?
0296デフォルトの名無しさん
垢版 |
2017/03/25(土) 06:40:52.92ID:uA74ETF+
書き捨てのスクリプト作成の用途では使い勝手いいと思いますか?
0297デフォルトの名無しさん
垢版 |
2017/03/25(土) 13:11:55.17ID:5MnOmzEx
文字列処理出来ない訳じゃないけど面倒
unicode混ざってたら猶更
0298デフォルトの名無しさん
垢版 |
2017/04/01(土) 06:10:57.77ID:/rzYCoy4
【Elixirカンファレンス】Elixir Conf Japan 2017
2017/04/01(土) 開場:10:30 開演:10:40
lv292624994?ref=qtimetable&zroute=index
0301デフォルトの名無しさん
垢版 |
2017/06/23(金) 10:33:14.34ID:0OdP20aK
july
0302デフォルトの名無しさん
垢版 |
2017/07/29(土) 05:44:10.33ID:LJVzSIs1
1.5リリースされたね、おめでとう
0306デフォルトの名無しさん
垢版 |
2017/08/10(木) 23:34:54.59ID:7x9ab+pb
1.2本で問題ないよ!文法自体は基本変わってないし、HashDict が無くなったか非推奨で Map 使えってくらいかな
0309デフォルトの名無しさん
垢版 |
2017/12/12(火) 21:27:58.88ID:qdBilKJT
Phoenix 本番運用するノウハウがあれば使いたいんだけどなぁ
0310デフォルトの名無しさん
垢版 |
2018/01/18(木) 20:08:48.73ID:vOZSq9tB
1.6 リリースおめでとう!
0312デフォルトの名無しさん
垢版 |
2018/01/23(火) 22:57:30.06ID:ULwZadgP
1.6以上にしたのは、
最後にするわけではなく、三年前の1.3用の本もまだ動くぐらい安定してるからって感じか。

新しい知見が溜まったらまた出るのかもというところか。
0319デフォルトの名無しさん
垢版 |
2018/02/13(火) 05:27:43.95ID:kAM/OKSF
jsが嫌でtypescriptで型のありがたみを噛み締めてるからさ。ideが有効に使えれば素晴らしい言語だと思うんだよね。

とりあえずelm触りながら良いide来るの待ってる
0320デフォルトの名無しさん
垢版 |
2018/02/16(金) 06:25:32.86ID:W1XJdyx1
☆ 日本の、改憲を行いましょう。現在、衆議員と参議院の
両院で、改憲議員が3分の2を超えております。
『憲法改正国民投票法』、でググってみてください。国会の発議は
すでに可能です。平和は勝ち取るものです。お願い致します。☆☆
0321デフォルトの名無しさん
垢版 |
2018/05/19(土) 13:48:38.41ID:8B6MGIkO
Phoenixは大量のリクエストを捌く場合はPHP系フレームワークよりも速いのがメリットなのかしら
0322デフォルトの名無しさん
垢版 |
2018/05/23(水) 20:37:56.66ID:Au5e7VGg
僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』

O82Y8
0323デフォルトの名無しさん
垢版 |
2018/07/05(木) 01:15:04.82ID:RfoszcD2
WZ2
0324デフォルトの名無しさん
垢版 |
2018/10/22(月) 21:52:38.83ID:H6oHfJnY
こんばんは
0325デフォルトの名無しさん
垢版 |
2018/10/23(火) 14:23:50.66ID:yFsvvFWj
はいどうもー
0326デフォルトの名無しさん
垢版 |
2018/12/01(土) 12:20:05.47ID:SyV5Kwhs
iexで試行錯誤しながら作成したモジュールを最終形のコードとしてファイルに書き出したいなー、と思ったらどうすればいいの?
0327デフォルトの名無しさん
垢版 |
2020/03/09(月) 20:45:13.27ID:sMpZHxT3
わりかしゲームサーバーとかで使われてるのになんでこんなスレが流行ってないんだ・・。
0330デフォルトの名無しさん
垢版 |
2021/01/01(金) 12:14:51.16ID:bCXJTBov
nervesというiotフレームワークがあるけど
関数型でiotをやるというアイデアは見込みあるのか?
oopの方がiotを自然に捉えれるのでは?
0331デフォルトの名無しさん
垢版 |
2021/01/02(土) 11:55:15.91ID:QsP+Nlmq
資生堂に訴えられた?
0333デフォルトの名無しさん
垢版 |
2022/01/19(水) 20:17:21.10ID:Qtd/3JbQ
>>326
iExで直接モジュールや関数を書くかわりにいったん

iex(1)> q = quote do
...(1)> defmodule Mod do
...(1)> def func , do: 999
...(1)> end
...(1)> end

みたいに構文抽象木を変数に束縛してやって、それをCode.eval_quotedで評価して実体化

iex(2)> Code.eval_quoted(q)

すると直にiExに書いたのと同じように

iex(3)> Mod.func
999

となる
0334デフォルトの名無しさん
垢版 |
2022/01/19(水) 20:20:49.46ID:Qtd/3JbQ
で、これを何度も繰り返して問題なく動くようになったらMacro.to_stringを使って
抽象構文木を文字列化して、それをファイルに保存するなりなんなりすればいい
手間は一個増えるけどね

iex(4)> Macro.to_string(q) |> IO.puts

defmodule Mod do
def func do
999
end
end
:ok
0335デフォルトの名無しさん
垢版 |
2022/06/19(日) 15:33:31.25ID:iaT4gsgI
テスト
0336デフォルトの名無しさん
垢版 |
2022/06/20(月) 17:59:55.00ID:67whDYmf
ティッシュ
0337デフォルトの名無しさん
垢版 |
2023/03/11(土) 15:28:46.86ID:eOxlsOnj
過疎ってんなおい
0338デフォルトの名無しさん
垢版 |
2023/06/20(火) 23:23:00.30ID:Gn5Kigqk
終わった言語?
レスを投稿する


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