Live data from Hacker News

Joy of Elixir

joyofelixir.com

81–90 of 92 posts

Re: Joy of Elixir

#81
post #33

Earlier quoted context omitted.

I too feel there is a generational hype cycle at HN. However, I don't see much in the way of "language N sucks" as a precursor to "everyone should use language N1!" Maybe I am just blind to the negativity, but in general, what I see with each hype generation is only the positive side: "everyone should use language N1!" I suspect with any given hype generation—with each trending language—we're going to see a lot of po…

Adding more programming languages just fragments the job market further. That might mean fewer jobs available for other languages and allow software developers less movement between companies. How many times have you seen a job advert and you think oh wow that looks interesting, I'd like to work there... Oh wait, they use X on the backend, I don't have any previous commercial experience with X so damn, I can't join t…

> [...] allow software developers less movement between companies.

> How many times have you seen a job advert and you think oh wow that looks interesting, I'd like to work there... Oh wait, they use X on the backend, I don't have any previous commercial experience with X so damn, I can't join the company.

Wait, just who are you, then? An intern fresh out of high school? Or do your circumstances impair your ability to learn (I hope I'm not being insensitive)? Are you a programmer?

I ask because it never happened to me, and I never even heard of something like this from non-junior programmers. If the company I'd like to work at uses a language that I don't know (there's actually pretty decent chance if they use something mainstream) I believe in most cases it would be enough to tell them I'll learn the language in a week and after a month I'll be writing decent quality production code. There is no reason - except if I do bad in the interview, maybe? - to not believe me, as that's generally accepted as a standard timeframe for such things. In my case that's a lie, as I can get started with a language in a matter of hours and start writing production code after a few days - but I admit I'm unusual on this.

> I'm certain that using Elixir over Haskell, Go or even JavaScript/Node.js adds no extra value to any given project...

Programming languages are being created for a reason and "adding value" in some kinds of programming tasks is a prime concern when designing them. Different languages make different choices and in effect work better or worse in given circumstances.

Replacing Node with Elixir (any BEAM lang) would immediately give you a true SMP support without using spawned processes, for example, and could possibly shorten and simplify your code if you have many communicating, long-lived services in there. That's an added value, right? The saying "use the right tool for the job" fits here perfectly.

> If you use any programming language for long enough, eventually, you will be very productive with it - The language itself doesn't really matter.

Exactly - so why limit yourself to a single language? How long do you think you will be working? What will you do once you've mastered a language and realize that you have 20 more years to work with it? Wouldn't that make you bored after a while?

> Its just a waste because there are already so many languages optimized for the server-side

There is not a single language which offers the same mix of features as Elixir. It's perfectly possible to have a system which would benefit from the just right mix of features and then not having these features is a tremendous waste as well.

It's not like I don't understand where you're coming from: in my youth, when I was learning C++, I also was frightened by the complexity and believed that it will take years to master it. And it did take years, mostly because it's C++ and I was alone. However, the next language I learned - PHP if memory serves - took me just a couple of months to get good at. Then, when I passed the 20 "langs known" mark, I realized that learning languages is no longer a problem at all and instead made it into a hobby.

In other words, yes, you need some level of understanding of programming to be able to efficiently learn new languages. I think it is better to strive to reach this understanding instead of assuming new languages are bad.

Re: Joy of Elixir

#82
post #60
post #40

Earlier quoted context omitted.

I feel that Erlang adoption is probably the most realistic growth path for most serious Elixir developers. All of these topics you mentioned (breakers, message routing, etc) have been discussed and developed in the Erlang community for years. The only new thing that Elixir brings to the table in these areas is abstraction and syntax - both of which are arguably not needed in large complex systems. Source: full-time E…

Just the reply I was looking for. I do not have your years of Erlang experience but I've done enough to think I have a feel for the language itself as well as the fundamentals of OTP. I've looked at Elixir and my feeling is that "it's probably great if you're coming from Ruby but what's the point if you're already invested in Erlang?" Perversely, I actually like Erlang syntax too.

As many others said in the thread, forget about the relationship between Ruby and Elixir, and give Elixir a try. It is much more than syntax: structs, protocols, the test framework, documentation, tooling... even the new error messages and debugger make a big difference on every day development.

There are reasons for picking Erlang over Elixir but if the reason is that "Elixir does not offer anything beyond syntax", it is likely the person has not been paying much attention.

Re: Joy of Elixir

#83
post #29

While I applaud creating documentation, books, and guides for those new to the language, there's still a significant accessibility gap in resources. I already know the language, I've already done some basic stuff in phoenix, I've even made my own HTTP API wrapper as its own library. But when it comes to architecting backend systems that aren't tied to phoenix or playing around with IEx, I really feel like I am on my…

I'm actually working on a book which I think covers a lot of what you're looking for (and was what I wanted back when I got started with Elixir a few years ago). I'm covering architectural patterns for the items you mentioned as well as flow control and digging in deep on how to really leverage the fault isolation mechanisms of OTP. I'm the maintainer of Distillery, the release tooling in Elixir, so I'm also covering…

I echo what Hates_ says, do you have a mailing list so that I may also be notified when things come out?

Re: Joy of Elixir

#84

Earlier quoted context omitted.

Ryan Bigg (github: https://github.com/radar ) has been active in the Ruby community for years (and is seriously intelligent, at least based on his many past IRC responses to my Ruby questions, assuming he's also named Radar on there), has apparently been working with Elixir on the side for a while, and IMHO can definitely handle an Elixir book intended for new programmers. He would be a very significant asset to the…

Hey! :wave: Yes that's me on both GitHub and Freenode IRC. I've been doing Elixir for roughly two years now. It's been fun. I am not planning on jumping fulltime Elixir any time soon, because my company is currently doing a mixture of Ruby + Elixir. It's likely that I'll still straddle that particular divide for the foreseeable future :) Thank you for leaping to my defence so eagerly!

of course. injustices, especially to fellow nerds, really twists my nipples. you keep doing you. ruby + elixir is fine, I get it :)

(don't you miss pattern-matching when switching back to Ruby? Also, do you have separate deployment processes for these ruby and elixir parts?)

Re: Joy of Elixir

#85
post #12

Another book by someone with no experience in the language. Typical vultures latching onto a community and trying to monetize it.

Hi. Nice to meet you. Clearly you know who I am, but I am not sure who you are. Care to inform me? Maybe we've met before. Commenting anonymously in a venemous way like this is surely below someone like you. Come out of the shadows and come and play with me. This'll be fun! ---- The book is released for free, however I charge for the PDF because it takes time + energy to generate that (and typesetting, omg) _and_ it…

> It would be pretty ridiculous to spend all that time writing a book, selling it and then _not_ using them for self-promotion, dontyathink?

typical narcissistic obsessed with fame and money.

i agree with everything dgjuuff said about you, how about you get off your high horse every once in a while?

Radar, you're a very toxic person, and you're not as great as you think you are.

you are the typical example of everything that's wrong with SV and startup bro culture and why i hate working with them.

hopefully one day you will receive the beatings that you deserve, you are not here to make anything better.

Re: Joy of Elixir

#86
post #77

Earlier quoted context omitted.

I'm actually working on a book which I think covers a lot of what you're looking for (and was what I wanted back when I got started with Elixir a few years ago). I'm covering architectural patterns for the items you mentioned as well as flow control and digging in deep on how to really leverage the fault isolation mechanisms of OTP. I'm the maintainer of Distillery, the release tooling in Elixir, so I'm also covering…

Do you have a mailing list I can sign up to to stay notified?

I don't yet, as I've been pretty heads down. I'll put one together this week and reply back once it's up.

Re: Joy of Elixir

#87
post #83

Earlier quoted context omitted.

I'm actually working on a book which I think covers a lot of what you're looking for (and was what I wanted back when I got started with Elixir a few years ago). I'm covering architectural patterns for the items you mentioned as well as flow control and digging in deep on how to really leverage the fault isolation mechanisms of OTP. I'm the maintainer of Distillery, the release tooling in Elixir, so I'm also covering…

I echo what Hates_ says, do you have a mailing list so that I may also be notified when things come out?

I hope you don't mind if I just copy my reply to Hates_: "I don't yet, as I've been pretty heads down. I'll put one together this week and reply back once it's up."

I'll make sure to write back to you both :)

Re: Joy of Elixir

#88

I've certainly enjoyed Elixir as an nth programming language and the idea of Elixir as a 1st programming language is really interesting. I know I've seen at least one educator in the community speculate that Elixir (or FP languages in general) could potentially make great 1st programming languages because they're often conceptually easier than OOP languages and in many ways the difficulties people associate with lear…

I have first hand experience with this actually... Over the last 6 months or so a good friend of mine has learned to code from scratch. After much deliberation I took a gamble and set him up with Elixir as his first language (largely because he wanted to code so he can work with me on some projects, which use Elixir). I am really happy with this choice and so is he. Elixir is a language with very consistent ideas thr…

Having the example is really cool. I tend to provide examlme in docstrings for functions I personally write. Would be nice if core functions of other languages did too.

Re: Joy of Elixir

#89
post #60

Earlier quoted context omitted.

Just the reply I was looking for. I do not have your years of Erlang experience but I've done enough to think I have a feel for the language itself as well as the fundamentals of OTP. I've looked at Elixir and my feeling is that "it's probably great if you're coming from Ruby but what's the point if you're already invested in Erlang?" Perversely, I actually like Erlang syntax too.

As many others said in the thread, forget about the relationship between Ruby and Elixir, and give Elixir a try. It is much more than syntax: structs, protocols, the test framework, documentation, tooling... even the new error messages and debugger make a big difference on every day development. There are reasons for picking Erlang over Elixir but if the reason is that "Elixir does not offer anything beyond syntax",…

Yup, I actually hate the Elixir syntax. I've never been a fan of ruby syntax. Granted I find the elixir syntax a step up on ruby. Anyways, Elixir is nice because of its abstractions. While I understand most people come to it from ruby for its familiar syntax.

Re: Joy of Elixir

#90

Earlier quoted context omitted.

Adding more programming languages just fragments the job market further. That might mean fewer jobs available for other languages and allow software developers less movement between companies. How many times have you seen a job advert and you think oh wow that looks interesting, I'd like to work there... Oh wait, they use X on the backend, I don't have any previous commercial experience with X so damn, I can't join t…

> [...] allow software developers less movement between companies. > How many times have you seen a job advert and you think oh wow that looks interesting, I'd like to work there... Oh wait, they use X on the backend, I don't have any previous commercial experience with X so damn, I can't join the company. Wait, just who are you, then? An intern fresh out of high school? Or do your circumstances impair your ability t…

I've been programming for 14 years in about 10 different programming languages... It's a struggle for me to list them all (let alone learn them). I only really needed two of them; all the others were a waste of time because they're so similar to each other.

Learning new languages is not hard for me, I can pick up a new one in a single day and my code could fool someone into thinking that I've been doing it for a while (if you ignore development speed)... But unfortunately that's not true mastery, you can only truly master a language or framework after working with it full time for a couple of years.

It takes a long time to absorb all the intricacies of a language to produce really good software.

You could spend a few years studying French and think that you know it all by the end just because you can talk fluently, but in reality you couldn't even write a basic child's novel, let alone a top-seller, or a Pulitzer prize novel.

It depends on what kind of work you want to produce.

Post reply on HN