Live data from Hacker News

Metaprogramming in Elixir

serokell.io

1–10 of 39 posts

Re: Metaprogramming in Elixir

#3
I really love Elixir but our company had to drop it and rewrite a few projects in Go and Ruby, was too hard hiring and the existing team preferred not to continue with it. I think the learning curve is also quite harder than it initially seems, might be why some people give up on Elixir. But nothing but respect for Elixir.

Re: Metaprogramming in Elixir

#4

I really love Elixir but our company had to drop it and rewrite a few projects in Go and Ruby, was too hard hiring and the existing team preferred not to continue with it. I think the learning curve is also quite harder than it initially seems, might be why some people give up on Elixir. But nothing but respect for Elixir.

I don’t know why you are getting downvoted. I think this is a valid criticism that should be discussed and not ignored. I find elixir to be quite elegant to work with but that’s just like my opinion. I guess my question is what about it gives it the steep learning curve?

Re: Metaprogramming in Elixir

#5

I really love Elixir but our company had to drop it and rewrite a few projects in Go and Ruby, was too hard hiring and the existing team preferred not to continue with it. I think the learning curve is also quite harder than it initially seems, might be why some people give up on Elixir. But nothing but respect for Elixir.

My team has had success training experienced devs in Elixir that were coming from other backgrounds. I would caveat this with the fact that we just have a Phoenix app with hardly any code that leverages OTP.

Re: Metaprogramming in Elixir

#6

I really love Elixir but our company had to drop it and rewrite a few projects in Go and Ruby, was too hard hiring and the existing team preferred not to continue with it. I think the learning curve is also quite harder than it initially seems, might be why some people give up on Elixir. But nothing but respect for Elixir.

I don’t know why you are getting downvoted. I think this is a valid criticism that should be discussed and not ignored. I find elixir to be quite elegant to work with but that’s just like my opinion. I guess my question is what about it gives it the steep learning curve?

It was discussed four days ago on HN https://news.ycombinator.com/item?id=27192873

Re: Metaprogramming in Elixir

#7

I really love Elixir but our company had to drop it and rewrite a few projects in Go and Ruby, was too hard hiring and the existing team preferred not to continue with it. I think the learning curve is also quite harder than it initially seems, might be why some people give up on Elixir. But nothing but respect for Elixir.

Which concepts did you find that the team struggled with?

Re: Metaprogramming in Elixir

#8
I don't like the operators' logic in elixir. There should be one for assigning variables, one for pattern matching and there is no rebinding of variables.

Could be like that:

  // assigning

  x = 1

  // pattern matching

  x ^ 1

  // pattern matching and assigning

  x =^ 1
And they should remove the rebinding that is useless. But I find it very difficult for that to happen at that time.

Automatically translated.

Re: Metaprogramming in Elixir

#9

I really love Elixir but our company had to drop it and rewrite a few projects in Go and Ruby, was too hard hiring and the existing team preferred not to continue with it. I think the learning curve is also quite harder than it initially seems, might be why some people give up on Elixir. But nothing but respect for Elixir.

Having trained a couple of people on Elixir, I have had good success.

I believe there is more a "critical mass" coupled with "matter of taste" issue, which I hope will be solved as more good stuff comes out (e.g. graphing support via Vegalite for Livebook as announced yesterday https://twitter.com/dashbit/status/1395763964215185409).

I believe a number of people would currently like to get paid to work with Elixir, and hope the critical mass will be reached soon.

Re: Metaprogramming in Elixir

#10

I really love Elixir but our company had to drop it and rewrite a few projects in Go and Ruby, was too hard hiring and the existing team preferred not to continue with it. I think the learning curve is also quite harder than it initially seems, might be why some people give up on Elixir. But nothing but respect for Elixir.

I’ve seen this a lot. The biggest reason for failure is people assume they already know everything about the VM and language. Erlang + BEAM are the most integrated pair of VM and language I know of. It’s the only VM that will preempt running processes. It’s also truly functional.

A lot of really brilliant folks have written truly shit Elixir code because they underestimated the challenge. Oh you’re passing that blob to four different gen servers? Cool expect you blew out your memory copying terms between them. It’s also operationally complex and doesn’t like the normal way of doing things because quite frankly it’ll do it better.

Take metrics or logging, both will slow down your application in Elixir/Erlang/BEAM by a not insignificant amount but people just shovel as much as they can into their apps assuming truths from other languages still hold. When your request times are measured in microseconds, that instrumentation is gonna slow you down. People literally buried boxes with erlang on them in the ground and they’ve worked for 20 years. Maybe give sampling a shot if it worked for a telecom maybe it’ll work for your blog :p

I’ll stop rambling here. While I truly love elixir it’s a lot more of a rodeo than people expect and it extremely subtle ways. It’s also extremely expensive to hire developers. Because you’re not going to be able to hire juniors. They just don’t exist for a language like Elixir.

Post reply on HN