New EEP draft: Pinning operator ^ in patterns

zxq9 zxq9@REDACTED
Fri Jan 29 11:11:16 CET 2021


On 2021/01/29 17:51, Richard Carlsson wrote:
> Den tors 28 jan. 2021 kl 10:57 skrev zxq9 <zxq9@REDACTED 
> <mailto:zxq9@REDACTED>>:
> 
>     Using COBOL as an example is a bit hilarious. Have you actually written
>     a project in it? Have you seen the "evolution" of this language?
> 
> 
> I haven't. But I wasn't comparing them on a technical basis. Both are 
> surviving in their niche - Erlang's could be called "communication 
> oriented applications" - because there are companies who rely so heavily 
> on existing codebases that they don't really have another choice but to 
> keep going with them. Cobol is backed by banks and can probably go on 
> until cockroaches supplant humans on this earth. Erlang has only a few 
> large sponsors, and it's still just Ericsson footing the bill for the 
> OTP team. There is very little greenfield development in Erlang (and I 
> hope there's practically none in Cobol), so the hope for more large 
> sponsors is low. And in both cases, I'm sure that if management could 
> wave a magic wand and replace the old system with a similar one (doesn't 
> even have to be quite as good) in Java or Go, they would do it in an 
> instant.

Nearly everything is communication oriented now. Very few developers in 
the wild even know how to program against a socket, though, and are 
puzzled by the garbage nature of their JS code and npm madness and why 
Node.js isn't everything it was buzzed up to be by ENORMOUS AMOUNTS OF 
MARKETING MONEY.

Think about that. Almost everything is networked. The majority of 
developers don't know how to actually program a socket without some 
framework in the middle.

Clown world.

But JS does have tooling! It is easy to "get your new web app up and 
running in [insert cloudy application prison here] with just a few 
commands I'll show you in this video!" There is an entire industry that 
is based around fake programmers on YouTube talking literal nonsense 
about how to do "NoCode" applications in AWS, Azure and Google compute 
cloud offerings. This is a marketing juggernaut and all the money goes 
into developing "framework for X" and "tooling for Y" both sets of which 
will be dropped the next quarter so that new buzzy "influencer" videos 
can be made. Very little actual language development going on in 
concrete terms, and even less in terms of making things *better*. The 
reason is simple: 99% of everything is utter garbage, but within that 1% 
resides the next generation of web apps that AWS can tax into oblivion 
if it actually catches on -- makes everything worth it.

You want Erlang to compete? Agitate for marketing money and tickle the 
"influencer" scamline. That's how Java was born, actually -- everything 
about it was tailor made to maximize marketing potential until long 
after it had taken over much of the new coder mindshare (and then most 
of the effort went into tooling and runtime). Same with "the cloud" that 
delivers the precise opposite of what the original buzz stated.

My corollary to Ballmer's "Developers! Developers! Developers!" is 
"Tooling! Tooling! Tooling!"

Erlang is already fully buzzword compliant. Spin its "differences" as 
"language diversity" and magically it is a thing to be embraced rather 
than stomped out on the never ending march toward a gray universe of 
meaningless mediocrity.

People stopped using COBOL because it sucked.
People hate using Java because it sucks.
People hate using C++ because it sucks.
Programmers who are stuck doing web-only nonsense and had to flee the 
floundering trash barge that was RoR turned to Elixir because they 
needed a better runtime but had little to no programming knowledge 
outside of Ruby. That's a bad situation and should not be emulated. It 
was a HUGE population, though, so in an absence of technical merit one 
could conclude "this is better". It is "better" only in a "Worse is 
Better" sense. That's not Erlang's thing, though, and isn't its market.
People are *attracted* to Erlang because it doesn't suck.

The arguments given here about adoption and language longevity put the 
emphasis in the wrong place. Tooling, buzz, marketing, influencers. 
That's how you popularize something. The technical merits of a language, 
framework, environment, operating system or runtime have very little to 
do with its adoption in a very similar way to how scams and vaporware 
are much easier to get funded than new real things.

To be fair, I wrote easy on-ramp tooling in the form of ZX but hey, 
look, no marketing juice, so it's just an oddity on my personal site and 
will never be broadly adopted or probably even worked on beyond my own 
personal needs. It is, however, an example of the kind of thing The Big 
People With Money should direct their own efforts to emulate. Go-style 
tooling that makes there be no difference between running for 
development, running for testing, and running in production is the 
ticket -- and makes a concrete decision about dependency handling (along 
with trickle-down package replication, because stuff like that matters 
when you get serious).

No greenfield development? I beg to differ. I've worked the better part 
of the last decade doing almost exclusive greenfield development in 
Erlang. Mostly for game companies, but also esports platforms, streaming 
services, business data management, backup data services provision, etc. 
Most of these are not public FOSS projects, sure, so may get little 
visibility, but it is hard to see this concern as a real thing from my 
perspective.

Just as a troll I think I'll write an even more minimal, even more 
strictly single-assigned flavor of Erlang called "Pythonic Erlang":
- Erlang with semantic whitespace
- Most of the ant-poop gone
- Source file extension ".perl" (an apt reminder...)
- Will merely re-write to normal .erl files
- Be implemented first in Erlang because I think it is funny
- Will insult your mother if you put some ^Nonsense in your code
- Will live inside ZX and "just work" because that's even more funny 
(trapping a feature within a niche utility suite ftw! hahaha!)

The stupid thing is it would suck less, everyone actually knows it would 
suck less, might even make the BEAM more accessible to the 
fiddy-gajillion-jillion Python programmers in the world, and yet this 
isn't the kind of thing we're discussing. Nope. We're talking about 
adding some new garbage syntax and moving away from what Erlang is 
supposed to be about. That's not how adoption works.

Oh, and it would be absolutely impossible for me to get this kind of 
thing funded because it might work. That's just the world we live in.

This be where the GameStops.

-Craig


More information about the erlang-questions mailing list