Elixir & Phoenix

Elixir زبان مدرن و بسیار قدرتمندیه که در Big Data بسیار کاربرد داره و به سرعت داره رایج میشه,
وب و فریمورک بسیار جالبی به نام Phoenix هم داره.
این زبان برای Erlang VM ساخته شده و نیازی نیست که بگم چقدر در صنایع زیرساختی کاربرد داره.

این فناوری زندگی حرفه ای شما رو تغییر میده, برای من که اینطور بوده. :blush:

7 پسندیده

بنده مدتی‌ هست که از Erlang استفاده می‌کنم . واقعا زبان جالب و قدرتمندی است و باید گفت زبانی مثل Elixir که بر پایه Erlang هست هم طبیعتا چنین چیزی هست…

1 پسندیده

Elixir در اصل علاوه بر iex که دریایی از امکانات هست و میشه با cargo در زبان Rust مقایسش کرد, [[ولی cargo خب interactive shell نیست]], یک syntactic sugar بسیار غنی به Erlang اضافه کرده که بخصوص برای کاربران روبی سرگرم کننده خواهد بود.

2 پسندیده

زبان جالبی به نظر می‌آد. فقط سرعت توسعه اپلیکیشن‌های تحت وبش در قیاس با روبی (مثلا با استفاده از فینیکس و در مقابل ریلز) چطوره؟ یه دولوپر اگه یه APIای رو در یه هفته درست کنه، پیاده‌سازیش با الیکسر چقدر طول می‌کشه؟

1 پسندیده

Phoenix بسیار productive هست و بر همین مبنا ساخته شده, دولوپر ها هم با هم فرق دارن.
اما از نظر مفهومی با فریمورکهای قدیمی مثل ریلز یا جنگو خیلی فرق داره.
http://www.phoenixframework.org/docs/up-and-running

2 پسندیده

قطعا دولوپر‌ها با هم فرق دارن ولی در کل اگه یه جامعه آماری بزرگ رو درنظر بگیریم، سرعت متوسط توسعه یه تیم با استفاده از روبی/ریلز از خیلی از زبان/فرمورک‌ها بیشتره. و صرفا با مقایسه دوتا اپ hello world نمی‌شه درک درستی از وضعیت داشت.

1 پسندیده

MeteorJS از ريلز هم در توسعه سريع تره اما براي بيشتر مردم واقعا ريلز بهتره.
به نظر من اگر Phoenix درست به كار گرفته بشه خيلي در توسعه سريعه و سرعت Functional programming هم بش اضافه ميشه. به هر حال بايد به جلو حركت كرد

1 پسندیده

واقعا elixir خيلي جذابه. هر چقدر بيشتر باهاش كار ميكنم بيشتر ازش خوشم مياد.
مخصوصا Macro هاش.
يخورده بحث GenServer ها و Agent ها رو سنگين بوده برام.

2 پسندیده

Elixir زبان جالبیه و نکات مثبت بسیار زیادی داره. اما هم خودش هم فریم ورک هاش در مقابل ابزار ها و زبان های دیگه، هنوز خیلی جونن و خیلی مونده تا به بلوغ برسند. پرفرمنس جنرال پایین تری هم نسبت به Go و Clojure داره. پارادایم هایی هم که به عنوان راه کار برای مسائل مختلف معرفی کرده خیلی جزئی هستند که همون به سبب جوونیش هست. فکر می کنم در آینده خیلی عالی بشه ولی باید بهش زمان داد.

نظر شخصی من رو Clojure هست

چیزی که Erlang/Elixir را از زبان های دیگر متفاوت می کنه Actor Model و OTP هست که برای ساخت سیستم های Fault Tolerant( با تحمل نقص) ، Distributed(توزیع شده) و concurrent به وجود آمده
ErlangVM(Beam) برای کارهای حساب و ریاضی از JVM پرفرمنس پایین تری داره اما در concurrency و distribution به مراتب بهتره
برای مثال یک server می تونه ۲ میلیون connection همزمان کار کنه

http://www.phoenixframework.org/blog/the-road-to-2-million-websocket-connections

Actor Model شیوه فکر کردن به سیستم ها را دگرگون می کنه و Erlang سال ها استفاده شده و ۶۰٪ سیستم ها مخابراتی از Erlang استفاده می کنند.

این talk و پیشنهاد میکنم

اگر از JVM باید استفاده کنید از Akka و Scala می شه استفاده کرد ولی به خوبی Erlang/Elixir نیست

3 پسندیده

کلوژر وابستگی زیاده به class های جاوا داره که این با روح برنامه نویسی فانکشنال سازگار نیست، کلوژر به عنوان یک زبان بسیار عالیه اما از نظر کارایی با elixir قابل مقایسه نیست.
Elixir یک زبان مدرن منطبق با نیاز امروز است که بیشتر توسعش بوسیله برنامه نویسان تیم اصلی ریلز انجام شده و با وجود جدید بودنش بسیار رایج شده.

2 پسندیده

بسته های رسمی موجود برای Elixir

http://toolbox.elixir.pm/
https://hex.pm/

کامیونیتی Elixir بسیار فعال هست و یک Slack خیلی فعال هم داره که میتوید ببینید و هر سوالی دارید بپرسید
https://elixir-lang.slack.com/messages/general/

1 پسندیده

نفرمائید این حرف رو. پرفرمنس clojure تو خیلی از زمینه ها از Elixir بهتره ( شخصا benchmark زدم در اولین فرصت منتشر می کنم :wink: ) و شما می تونید پیچیده ترین نرم افزار ها رو بدونه نیاز به Java interop بنویسین.
من هر دو زبان رو امتحان کردم

این نکته رو هم اضافه کنم که تمرکز توسعه دهندگان Clojure بر روی پرفرمنس نبوده.

1 پسندیده

خب هر کدوم برای کار متفاوتی مناسب هستند, خوشحال میشم بنچمارک در دسترس باشه.
دلیل اینکه میگم کلژر خیلی وابسه به کلاس های جاواست اینه که وجود بسته های زیاد جاوا جامعه کلژر رو تنبل کرده و بسته ها از آنچه انتظار میره کمتره.
من از دلباختگان کلژر هستم و همیشه سعی می کنم هسکل و کلژر رو بهتر یاد بگیرم تا باقی زبان ها رو بهتر درک کنم

2 پسندیده

کنوانسیون های کدنویسی در Elixir

1 پسندیده

الان بین این زبان های جدید clojure و scala به لطف JVM بیشترین پکیج رو دارن. از طرفی JAVA interop اینقدر خوب طراحی شده که شما زیاد حس نمی کنید که با یه object دارید کار می کنید.

به نظرم قبل از انتخاب بین کلژر و الیکسر باید بین BeamVM و JVM اونم بسته به نیاز انتخاب رو انجام داد

اینجا بعضیا نظرشون رو گفتن که البته همش قابل قبول نیست اما یه سری نکته هم داره,

2 پسندیده

این لینکی که دادی جالبه و لی مثل این می مونه که بری بارسلنا بعد بپرسی FC Barcelona vs Real Madrid

5 پسندیده

:smile::smile::smile:
جالب بود