@rysiek @wolf480pl
IMO JS is a Promethian language, i.e. a language designed to empower people to do things smarter than its creators could have imagined. Contrast with Java or Go which seem mostly designed to limit the ability of people to do anything too dumb.

@rysiek @wolf480pl
But any Promethian technology: Printing, computers (software), internet, web, cryptography, blockchain... will inherently have thousands of bad uses before one really good use emerges, but these one-in-a-million breakthroughs are the only things which have ever really moved humanity forward.

@cjd @wolf480pl this is an interesting way of looking at it! I can see the value of a Promethean language. I can also see the harm in how it has been implemented in the form of JS.

@rysiek @wolf480pl
I doubt it could have gone any better, remember Netscape was punching up at the time.

IMO languages like JS and PHP are in fact less harmful than languages like Java and Python because - when one is reminded that what one's doing is a hack, one is less likely to limit one's thinking about what is possible.

We don't have languages which are truly expressive. Haskell, Rust reach for the stars but much we don't know still. Pays to remind one's self that All Languages Are PHP.

@cjd @rysiek
If all JS devs are aware that what they're doing is a hack, then why do they build stacks of frameworks?

@wolf480pl well, as @cjd said, that's because they don't limit their "thinking about what is possible".

@rysiek @cjd
well ok, but if you're making a hack, you want to do it in the quickest possible way, paying no attention to maintainability, code reuse, and abstraction layers, right?

@wolf480pl @rysiek
Web developers are under pressure to produce good quality user interface as fast/cheap as possible. When a framework gives them an advantage it gains a foothold. But the framework business is a primordial soup, evolving programming techniques faster than anywhere else in the industry.

@cjd @rysiek
dunno, it feels to me like rabbit island - too forgiving environment, not enough validation, which allows genetic diseases to appear and perpetuate

@wolf480pl @rysiek
There is a lot of validation, but not in the way you might think. If a framework isn't dirt easy to learn, it goes nowhere. If you can't make a website in a weekend, it goes nowhere. Maintainability is not an interesting property for websites, development cost has gotten so low that customers typically prefer demolish and rebuild.

@cjd @rysiek
performance is also not an interesting property for websites.. sigh...

So the mess we're dealing with is a result of an environment which only rewards based on single property: development speed.

@wolf480pl @rysiek
Performance is worth something, you can see svelte.dev/ is pushing in that direction. But yes, performance is not worth enough to incur significant development overhead.

@cjd @rysiek
And wasn't this environment created by the very act of embedding a programming language into a web browser?

@wolf480pl @rysiek
The performance/work trade-off is older than the web. I seem to recall that when a CS student proposed the idea of an assembler, his professor denounced him for suggesting that compute resources be wasted on the "secretarial task" of converting neumonic instructions to hex codes.

@wolf480pl @rysiek
What about it ? If you're arguing that the professor was wrong, then I agree. But I bring it up to illustrate that it is not always better to trade human effort for performance.

@cjd @rysiek
I'm not talking about performance anymore.

What I'm saying is, I think it is undesirable to trade maintainability for human effort, especially to the extent in which modern web development demands it.

You've also mentioned quality: did we already have an argument whether the user interfaces made by JS devs are actually good quality, or is it just my deja vu?

@wolf480pl @rysiek
For most websites, maintainability is not interesting. It's easier to write unmaintainable code and then when extensive changes are needed, to just rewrite with the latest fashion. This is not a bad model, banks running COBOL software would be wise to take note.

@cjd

> banks running COBOL software
> would be wise to take note

I guess you've never worked with or for a bank (except maybe on web frontend matters)...

@wolf480pl @rysiek

@Shamar @wolf480pl @rysiek
Nope, never had the privilege, though I have a hard time seeing how my analysis could be that wrong even so... Can maintaining COBOL *actually* be more efficient?

@cjd

I've seen things that you human... 😉

Nevermind COBOL: rewriting ANYTHING in a bank is almost impossible.

ALL the banks I worked with either still internally use IE9+ or support it through crazy wrappers that switch the layout engine according to crazy euristics.

Fun fact: they would have the money to rewrite all of their infrastructure each 5 years, BUT the risks are so high that they setup huge stacks of patches one over another, all over the system.

@wolf480pl @rysiek

Follow

@cjd

Uhm... and trust me: people can't realize HOW MUCH JavaScript sucks until they have to fix a bug into a 20 milions lines JS codebase that turned to be caused by... a bug in the garbage collector of a browser.

is not a Promethian technology.

It's a sadistic prank of Loki.

@wolf480pl @rysiek

Sign in to participate in the conversation
Qoto Mastodon

QOTO: Question Others to Teach Ourselves
An inclusive, Academic Freedom, instance
All cultures welcome.
Hate speech and harassment strictly forbidden.