Re: New EEP draft: Pinning operator ^ in patterns
zxq9 <[email protected]>
| Newsgroups | gmane.comp.lang.erlang.general |
|---|---|
| Message-ID | <[email protected]> |
On 2021/01/29 17:51, Richard Carlsson wrote: > Den tors 28 jan. 2021 kl 10:57 skrev zxq9 <[email protected] > <mailto:[email protected]>>: > > 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