Earlier quoted context omitted.
As a .NET developer by day, I'm curious what you like about Elixir over C#/.NET? I have a copy of Elixir in Action on my nightstand, I just haven't had a chance to crack it open yet.
I wouldn't say I like things over C#/.NET (I love C# and use it for mobile/desktop devel, but I've never used it for web).. but I'll list some things I like about Elixir: Erlang's concurrency model is amazing. It's like having micro-microservices running inside your virtual machine. And you can distribute across nodes. Nothing else really has this kind of thing. Pattern matching is beautiful and it's easy to use. Oth…
Phoenix 1.3.0 Released
131–140 of 143 posts
Re: Phoenix 1.3.0 Released
#132Re: Phoenix 1.3.0 Released
#133We’ve been using Phoenix at my company in production for over a year now. So far the experience has been overwhelmingly positive, our team have totally come round to its adoption, our server costs have come down and our response times have gone down also. Coming from Rails, the ecosystem isn’t quite there yet, but it is far more mature than rails’ was this early on. The hardest thing for us has been deployment, but w…
Re: Phoenix 1.3.0 Released
#134I'm spending all my free time with Phoenix. I come from a Rails, Laravel, Django and a bit of .NET Core background. So far I am extremely impressed. I'm surprised it has not been adopted by that many folks in production.
>> I'm surprised it has not been adopted by that many folks in production. I'm surprised that it's used in production at all. It's based on a new language that is years behind all the others in terms of available third-party libraries and modules.
Re: Phoenix 1.3.0 Released
#135Earlier quoted context omitted.
The beautiful thing about Phoenix framework is that there is no "one-true way" to do things. Rails is omakase, Phoenix is not, and that's a good thing. You want the whole enchilada? Use Guardian. Need oauth? Use ueberauth. Just want email and password? Use comeonin to hash your password. It's liberating to know exactly how your system works and that it's not hidden behind some magical blackbox like Devise.
Guardian is annoying to setup but works for me. I just want something that generates JWT and takes a JWT.
Re: Phoenix 1.3.0 Released
#136Earlier quoted context omitted.
The beautiful thing about Phoenix framework is that there is no "one-true way" to do things. Rails is omakase, Phoenix is not, and that's a good thing. You want the whole enchilada? Use Guardian. Need oauth? Use ueberauth. Just want email and password? Use comeonin to hash your password. It's liberating to know exactly how your system works and that it's not hidden behind some magical blackbox like Devise.
Guardian is annoying to setup but works for me. I just want something that generates JWT and takes a JWT.
Re: Phoenix 1.3.0 Released
#137Earlier quoted context omitted.
Go into it with the attitude of 'deferal of gratitude'. In other words it might look painful for a while but when various things click you get your holy s moments and you'll never go back. I've worked in a lot of java, php, python, c# etc frameworks and there are very specific reasons this is near always better long term. A lot of it comes back to elixir simply solving the correct problems. Learn elixir using the eli…
By correct you mean that Elixir solves problems differently than java, php, python, etc. and you found this more appealing over time, which may or may not be the case for someone else. Or are you making a stronger claim that language X is better than Y, at least when it comes to web dev?
Re: Phoenix 1.3.0 Released
#138Earlier quoted context omitted.
Go into it with the attitude of 'deferal of gratitude'. In other words it might look painful for a while but when various things click you get your holy s moments and you'll never go back. I've worked in a lot of java, php, python, c# etc frameworks and there are very specific reasons this is near always better long term. A lot of it comes back to elixir simply solving the correct problems. Learn elixir using the eli…
You mean `deferral of gratification`. I couldn't help myself.
Re: Phoenix 1.3.0 Released
#139Are there any "here be dragons" for Phoenix? Does it play well with legacy systems? Support for different protocols, etc.
I don't think Elixir has production-level support for gRPC which is a bit of a deal-breaker for me.
Re: Phoenix 1.3.0 Released
#140Earlier quoted context omitted.
I believe these are referred to Railway-Oriented Programming. I've seen several other examples for Elixir (incl. ones using macros), but by far this is the 'cleanest' syntax :) Here's a similar construct in Scala: (for { user ... }
Or you could just call it what it is: a monad
To expand a bit more, it's not like Scala's `Either[T, U]` where we're limited to a pair of types, I think you can return other atom values (but use :ok and :error) as a convention.
Also, there is an Elixir library I'm using that's a closer in spirit to Scala's for-comprehension called `monadex`. Example below:
result = success(comment_params)
~>> fn p -> link_reply_to_id(p) end
~>> fn p -> create_changeset(p) end
~>> fn cs -> assert_changeset(cs) end
~>> fn cs -> insert_changeset(cs) end