Erlang & elixir

Anyone here tried Erlang/Elixir but didn't like it?

Attached: 1_wVcT8A29lBkN0gXFPJUF3w.png (800x600, 54K)

Other urls found in this thread:

github.com/alpaca-lang/alpaca,
talks.golang.org/2012/splash.article
erlang.org/pipermail/erlang-questions/2008-October/039261.html
lfe.io
blog.discordapp.com/scaling-elixir-f9b8e1e7c29b
developer.mastercard.com/blog/the-vertx-worker-model
twitter.com/NSFWRedditImage

I'm planning on learning it after christmas what a timely post

Yes I tried Erlang/Elixir but didn't like it.

but y

Attached: 50fa8c28d7cf7cadd678be3755520100c36ab39b_hq.jpg (720x588, 56K)

Why even use Elixir though? What new shit does it bring to the table that is worth my time to learn a new language? Plus any industry standard technologies aren't supported for Elixir (there isn't even a convenient CLI framework for this, unlike picocli for Java). Why, as a software developer, would I ever switch?

I tried it, liked it (except for the ruby-inspired syntax), and currently using it professionally.
- OTP
- BEAM
- Hygienic macros
- Immutability
- Deeply nested pattern matching
- Open and closed ad-hoc polymorphism that actually works
- Mix

Elixir is literally the best language for programming most types of network services, including web development. Also, Ecto is pretty fucking great.

>most types of network services
Pretty sure you have no concept of the meaning encoded by the words you just barfed onto this page.

I don’t know. On one hand it’s a cool language. It’s functional, Ecto is great for databases, OTP is great for reliability. On the other hand F# and Scala are probably better for any kind of big project since they are statically typed and have access to huge libraries and great tooling. And not sure about F# but Scala has Akka which is like a modern OTP

the hype about elixir has already died down, golang has won the race for modern web and cloud dev, unfortunately

Why is that unfortunate?

because it's a horribly designed language

me, i miss having static types

I like using phoenix, for basic API things it's basically rails but the syntax is a bit different, and it's like 1000x faster unironically. If I wanted to make any kind of basic API I'd use phoenix.

The elixir docs are amazing, like 10/10, probably the only language where I've been able to actually read and use the docs as if they were written by someone who understands what people want.

My main problem is that it's simply not popular enough, finding help with things is hard, there's a lack of tutorials and online content to learn from, and I'm not really sure what's right or wrong stylistically, as many things can work. And this obviously means a lack of job openings, which makes it kinda tough to invest a lot of time into.

I use Erlang because I work with telecom companies. It's pretty nice.

Akka doesn't really take advantage of static typing though, because the signatures are all like Partial[Any, Unit]. Actor systems actually kind of break down with static typing.

I love Erlang / Elixir / Phoenix, but Go easily won the distributed systems war. There's only a very very small market for Erlang, and it feels like momentum ran out.

I just hate every fucking backend meme language. There isn't a single good backend web language.

this.
even google doesn't use go.

>not using vertx.io
Fuck these meme languages, Java/C forever

Me, because Go exists

Me.
No static typing.
Don't like the pattern matching syntax.

Elixir is comfy as fuck.
People say it's dead/dying but I see the complete opposite of that.

>Don't like the pattern matching syntax.
The pattern matching syntax is great. How would you prefer it be done?

I only really played with Elixir, so my opinion is not that well formed, but shit I did not like included:
- having 2 function declaration syntaxes (I never got why)
- overreliance on macros leads to some code that feels too magic (ruby-style)
- BEAM is slow as fuck

Yes, worked on an Erlang project at Mr. Shekelstein's Over-Engineered Software Co. a while ago.
The syntax generally pisses me off. It's verbose and borders on write-only. On the other hand, everything does start making sense after a while and it is fairly sensible despite being a puzzle language.
The error reporting is very good and I miss it when working with anything else.
Never tried Elixir though. Is it good on its own or just a language for people allergic to the Erlang syntax?

>erlang is a meme
>some java library written 7 years ago and used by nobody isn't

uh yeah they do lmao

so go is better?

I liked Erlang, I liked Elixir even more, but I really miss static typing when I use it.
A real static type system would help even if the messages remained unityped. Akka has statically typed actors, but nobody recommends them. I had hopes for github.com/alpaca-lang/alpaca, but its development has slowed down.

It's a worse language that it is easier to get hired for.

Who does webdev in Go unless it's a JSON API with a JavaScript front end?

They kind of do. It doesn't make Go a good language, but they've been using Go for years.
talks.golang.org/2012/splash.article

At least say Quasar. That's a more direct competitor to BEAM than eventshit.

>People say it's dead/dying but I see the complete opposite of that.
I think what people mean by that is basically "it is not growing as fast as #{random_javascript_technology()}".

>having 2 function declaration syntaxes (I never got why)
The standard explanation seems to be that Erlang is a Lisp-2. Lambdas have different semantics from module functions and thus a different syntax.
>overreliance on macros leads to some code that feels too magic
100%. It is a shame many things in Phoenix can't be configured at runtime. Phoenix relies heavily on macros for performance.
>BEAM is slow as fuck
Depends on your reference point. It's as slow as Python for complex algorithms, but network IO is 10-100x faster.

It's a bit of a meme that Elixir is a different syntax for Erlang. Elixir's main features are the top-tier docs, Mix and Clojure-style protocols.

Elixir has some nice improvements over Erlang, but uses ugly ass ruby syntax.

Erlang is nice, but has some annoying quirks. Also the OTP is great if your model fits it exactly but if you try to make it scale to do anything else it's a pain.

No. Go is pajeet tier.

You can't really get statically typed languages without huge complexity because of the selective receive. See: erlang.org/pipermail/erlang-questions/2008-October/039261.html

Like haskell, or even Scala. I don't want to use def twice

lfe.io

LFE > Erlang > Elixir

u still gotta be familiar w/ erlang to use this tho right

Yes, it's just better syntax for lispweenies like me.

Which of three have you actually used?

All three. Elixir only for Phoenix.

And why is Erlang better than Elixir? I understand LFE.

If I had to choose between the syntax of Erlang and Elixir i'd choose Erlang. At their core they do the same thing, they both run on the same VM and they can both call each other. It's a matter of preference. Hence, LFE > Erlang.

Your link is about statically typed messages. As I said, a statically typed counterpart to Erlang doesn't need to have statically typed messages. It can treat the messages the same way statically typed languages treat incoming JSON.

>they can both call each other
Not true. Elixir protocol makes calling from Erlang difficult. It's why some Elixir tools are in Erlang - compatibility. They are not the same thing. You don't understand enough.

I've never had an issue with what i've done with it. Regardless my point stands.

You choose language by syntax. It's poor choice, Lisp weenie.

Whatever smug Elixir weenie.

I am not smug. You are just unformed about Erlang VM languages and superficial.

I see it by how few jobs there are using it where I am (Toronto), and the low number of public repos I can find.

Not to say I don't want it to succeed, but it's definitely more niche than not at this point, and certainly isn't gaining much traction at all. Maybe with this trend towards functional programming we're seeing it'll get picked up more.

>There isn't a single good backend web language.
php 7

smug
elixir
weenie

I like php7 because it's simple to pull data from the database and serve it as json, but god the language design/syntax is all over the place. It's like Rasmus finally woke up after 5.6 and realized how far behind php was but still didn't know how to add it in without fear of breaking legacy.

>Plus any industry standard technologies aren't supported for Elixir
Any erlang function can be called from elixir without overhead since it compiles to BEAM. Elixir is nice because it requires way less boilerplate then erlang

isn't elixir the main backend of discord?

Yes Elixir/Erlang. They had to fight the OTP to actually scale and rewrote a lot of it.

>Elixir is nice because it requires way less boilerplate then erlang
end
end
end

Sauce
WhatsApp also runs erlang

% math.erl
-module(math).
-export([square/1]).

square(X) -> X * X.


defmodule Math do
def square(x) do
x * x
end
end

Enum.map [1, 2, 3], &Math.square/1
#=> [1, 4, 9]

blog.discordapp.com/scaling-elixir-f9b8e1e7c29b

yes, for several months at work
hated the syntax but otherwise it's alright, would still rather use something else if i could

Erlang/Elixir is great until everything starts to go to shit, but luckily that's only the case for things that have huge userbases and have to scale big time.

Did you read the link?

If you think I'm wrong, just say how.

LFE died

The &Function/1 stuff is seriously ugly

developer.mastercard.com/blog/the-vertx-worker-model

Used by MasterCard

lots of blog posts and discord's github