Collateral Damage

34 views
Skip to first unread message

Onorio Catenacci

unread,
Apr 25, 2022, 10:29:39 AM4/25/22
to erlang-questions
Hi all,

If you don't like the proposal, that's your privilege.  I see no reason to bash on Elixir due to your dislike of this particular proposal though.  I do believe (and I'm sure I will be corrected if I'm wrong) that Elixir has had a few positive contributions to Erlang and, of course, Elixir couldn't exist without Erlang.  Erlang and Elixir can both be great languages on the BEAM and can both prosper without either of them bad-mouthing the other.   

I don't hear people running down LFE or Gleam--but I don't think either of those languages has achieved the success that Elixir has either so I guess that makes some sense.  

I can certainly understand the passion that people feel about Erlang and I can certainly understand being disappointed in seeing a great language sort of bypassed by something that some could consider a shiny-new-object of a language but I don't think that's a fair assessment.  

I don't see Erlang vs. Elixir as a zero-sum game and I think it's a pity that so many people who are contributing a lot of otherwise good, insightful commentary seem to feel that's the situation. I really think there's room for both to grow and thrive.  And thank goodness people are starting to recognize the importance of having a good language/RT to building scalable systems.

--
Onorio


Michael Malter

unread,
Apr 25, 2022, 11:26:12 AM4/25/22
to Erlang Questions
Come on, there is no bashing. Most of us prefer Erlang and don't want Erlang to become Elixir, that is all.

That simple view seems very difficult to accept for some Elixir folks. That's fine, we won't cry.

The linguistic metaphor is useful there. It's hard for non english language to survive nowadays. There is a network effect, universal language tend to develop uniformity.

Aside from that, there might be some saltiness. The following happened to me multiple times:
- I apply to a job with an erlang resume
- people are impressed "wow, the guy does Erlang"
- turns out "yeah it's very cool that you know Erlang well but do it in Elixir anyway". It even happens on fresh projects.
- Me: "Why. I'll be way faster in Erlang, that is what I know."
-????
- Frustration

Austin Ziegler

unread,
Apr 25, 2022, 11:32:39 AM4/25/22
to Michael Malter, Erlang Questions
I disagree that there’s no bashing. Look through the most recent thread and the previous thread about this EEP and you’ll see people expressing some pretty rank opinions. Additionally, saying "we don’t want Erlang to become Elixir" is essentially a content-free statement. Someone took the time to write up an EEP complete with examples, and it gets rejected by the community not on its merits (or lack thereof), but simply because "ew, looks too much like Elixir, we’re screwing up the language if we do this". Paraphrased, but not excessively so.

I’m a development manager in an Elixir shop (it’s not the only language we use). We’re clear that we develop with Elixir, even though we would absolutely interview someone with an Erlang background. And as a development manager, I can say that we would absolutely prefer most of our code to be in Elixir, but would have little problem implementing part of the code in Erlang, if it made sense to do so. (The beauty of the Elixir tooling is that doing that is trivial.)

-a
--

Michael Malter

unread,
Apr 25, 2022, 2:22:13 PM4/25/22
to Łukasz Niemier, Erlang Questions
Experience. Over the years I have developed a workflow around Erlang. So yes, I am faster in Erlang. To be clear, thee main reasons are :
- the way my text editor is configured
- the testing philosophy in elixir (which I find horrible but maybe that's just me)

Honnestly it's not that interesting discussing about me myself and I. I was just trying to convey where some of the resentment was coming from.

Again, that's not the point. We think the Erlang way is better there. It's that simple. I really hope Elixir folks can sleep at night thinking there is a world with diverging views.

Ever better, we can coexist well. 

Straight and simple, each time the erlang community rejects something from Elixir, we are going to say Elixir is wrong on that topic. It's not mean. There is no hard feeling. It's going too happen again. I sincerely hope we can live with it. 

Le lun. 25 avr. 2022 à 17:33, Łukasz Niemier <luk...@niemier.pl> a écrit :
> Most of us prefer Erlang and don't want Erlang to become Elixir, that is all.

But who is trying to make Erlang into Elixir? From what I see in this EEP it is mostly to make some stuff more explicit.


> - Me: "Why. I'll be way faster in Erlang, that is what I know."

Out of question, how it would be faster in Erlang? Because, you know, if that can be written in Erlang then it can be written in Elixir with no overhead.

--

Łukasz Niemier
luk...@niemier.pl

zxq9

unread,
Apr 25, 2022, 2:22:55 PM4/25/22
to erlang-q...@erlang.org
On 2022/04/26 0:32, Austin Ziegler wrote:
> I disagree that there’s no bashing. Look through the most recent thread
> and the previous thread about this EEP and you’ll see people expressing
> some pretty rank opinions. Additionally, saying "we don’t want Erlang to
> become Elixir" is essentially a content-free statement. Someone took the
> time to write up an EEP /complete with examples/, and it gets rejected
> by the community not on its merits (or lack thereof), but simply because
> "ew, looks too much like Elixir, we’re screwing up the language if we do
> this". Paraphrased, but not excessively so.

The capacity for some to completely miss the point of KISS as a
principle is the most fascinating thing about this thread.

"If you don't accept our pet inclusion that adds complexity, is
optional, and merely implies a change to semantics because *we* as
users of a totally different language believe it makes the semantics
more clear to *our* eyes then you're just a changephobic bigot. Stop
attacking my language, Nazi."

The implication that Erlangers not wanting users of [other language]
to push complications borne of design decisions specific to
[other language] into Erlang is somehow *attacking* [other language]
is ridiculous on its face. There is already a subconscious attempt here
to start claiming victim status based on this imagined "attack".

That's the pattern that is evolving in the weirder part of this
conversation, and it is really, really dumb and will be embarrassing
to look back on in the future once this sort of anti-sensical
rhetoric goes out of style.

srsly folks? srsly? We're talking about keeping the number of glyphs
in the language at a minimum, saying "don't add new ones unless they
buy us some super duper AMAZING productivity win, and this doesn't."

I'm sorry, but this is just hilarious.

I expressed my reasons for why I believe this is a bad recommendation
on multiple occasions, but here it is again...

The "problem" originally stems from discomfort with shadowing.
This was even the specific point of the first "let's add a pinning
operator!" effort, and the current one is an evolution on that idea
because holy jebeebus we just absolutely CANNOT have Erlang running
around in the wild without ^ as a used character!

Discomfort with shadowing goes back a long way and was a big enough
deal that the compiler got a warning added to it. IIRC only reason it
was a warning and not an actual change all the way to "we have
matching in lambda heads" is because of the argument that all scope
is defined by function entry, but we have this ambiguity when we
define a lambda because it already has an outer scope and we need
access to it so we can write closures but then what about the arg
labels and... bzzzt. Vapor lock. Cannot brain anymore.
And we settled on shadowing as the compromise which was later annoying
enough that we added a compiler warning about it.

Having that compiler warning is a pretty clear sign that the "we
have matching in lambda heads" side won out in practice, but
nothing has been done about it, and now we get to enjoy this totally
bizarre argument about pinning instead of correcting the original
bit of ambiguity: Just make the semantic of single assignment uniform.

Don't get fancy with it.
Single assignment means single assignment.
Leave it alone. Don't jazz it up with weird stuff that might mean
something in your favorite language but not this one.

As for the extreme hyperbole floating around...
Wow, fellas.
Can't say I'm too surprised, I mean, I remember Usenet, but maybe
we should slow down -- no way the poor, old, obsolete,
destined-for-the-glue-factory listserver is going to keep up with all
this mayhem!

Enjoy the crash, fellas!

-Craig

Austin Ziegler

unread,
Apr 25, 2022, 2:24:05 PM4/25/22
to vale...@pixie.co.za, Erlang Questions
On Mon, Apr 25, 2022 at 2:03 PM vale...@micic.co.za <vale...@pixie.co.za> wrote:
Dear Austin, 

To assert that people do not like a particular proposal because “it looks too much like Elixir” is not just unfair, but outright insulting.

How, then is one supposed to take comments as the following (emphases added by me):
  • And furthermore in this particular EEP there's this thing I hate more than anything else - turning language X to language Y. Quote - "This is known as "pinning" in Elixir - see the Elixir documentation." If you like Elixir do your job with Elixir. Why spoil Erlang? Especially when, quote - "In current Erlang, this behaviour is what happens automatically...".
  • I said it for years. Elixir is cutting the branch it is sitting on.
  • Retire the entire string-as-list paradigm, use binaries by default (the one good thing about Elixir), and at last make everything UTF-8 by default.
  • Somehow my (sad) feeling is the idea is exactly in destroying the Erlang as we know it. "No matter how hard we try, we cannot make Elixir more preferable -- at least let us make Erlang *less* preferable."
  • One question - why? Just because we can? Erlang is doomed, Sorry Joe, we f**d things up.
This thread is about discussing a proposal for language change and we should try our best to keep our focus on that.
Introducing a completely irrelevant (I’d even say imaginary) argument in support of any given position is not helpful at all.
 
One would be hard pressed to call my characterization of these quotes as imaginary. These are all from the last ~3 days (and reflect 3–4 different posters). The previous discussion about 18 months ago was just as full of such hyperbolic inanity. I think that my shorthand of "it looks too much like Elixir" as characterizations of these quotes is as positive as one can get.

Languages do evolve over time. I don’t have a strong opinion on this EEP, as I don’t generally write Erlang. I think that there are some solid objections to it as written, and at least a couple of counter-proposals that should probably be written as EEPs as alternatives to this one (and to each other; the two would probably be mutually exclusive). I even agree that "oh, ghu, another sigil" is a legitimate objection (there’s some recent syntax added to Ruby that I’m ambivalent to negative about). But any objection which includes fears of Erlang becoming not Erlang or slights against another programming language for reasons can and should probably be dismissed from the discussion for being hyperbolic and unproductive. It indicates that the posters don’t have any trust in the Erlang core development team, and are likely pining for a time / world that never actually existed.

Broadly, this would be the difference between conservationism and conservatism. The former is good. The latter leads to stagnation, irrelevance, and regression.

-a

Eric Pailleau

unread,
Apr 25, 2022, 2:38:36 PM4/25/22
to vale...@pixie.co.za, Austin Ziegler, Erlang Questions

' I don’t have a strong opinion on this EEP, as I don’t generally write Erlang.'

So why giving an opinion, then? (no offense)

The counselors are not payers, there.



Envoyé depuis mon mobile



---- Austin Ziegler a écrit ----

Loïc Hoguin

unread,
Apr 25, 2022, 3:55:02 PM4/25/22
to Austin Ziegler, Erlang Questions
On 25/04/2022 20:21, Austin Ziegler wrote:
> How, then is one supposed to take comments as the following (emphases
> added by me):

Let's not get into flame wars please. Some people don't like Elixir.
Some people do. Who cares. That's not the subject.

> Broadly, this would be the difference between conservationism and
> conservatism. The former is good. The latter leads to stagnation,
> irrelevance, and regression.

I don't think you understand conservatism. It's about keeping the good
foundations (including sometimes what seems good because it's worked for
a long time, although we don't understand exactly why) and doing slow,
incremental improvements.

Erlang has always had a very conservative approach to its development,
in part because it has to maintain forward and backward compatibility so
that release upgrades and downgrades work. I don't think anyone in this
thread is against changes to the Erlang language, as we've all been
through a number of them already. And the Erlang language evolves more
than one may think from the outside as can be attested by the many
version-specific macros or other shenanigans many of us have had to deal
with. This is not what the push back is about.

Cheers,

--
Loïc Hoguin
https://ninenines.eu
Reply all
Reply to author
Forward
0 new messages