liam_on_linux: (Default)
Liam_on_Linux ([personal profile] liam_on_linux) wrote2022-08-09 05:21 pm
Entry tags:

Very brief (promise!) ramblings on application bloat

 

My #1 annoyance these days, because it is so egregious, is Electron apps.

I guess because the only language some programmers know is Javascript, of which I know little but what little I know places it marginally above PHP in intrinsic horror.

So people write standalone apps in a language intended for tweaking web pages, meaning that to deploy those apps requires embedding an entire web browser into every app.

And entire popular businesses, for example Slack, do not as far as I can tell have an actual native client. The only way to access the service is via a glorified web page, running inside an embedded browser. Despite which, it can't actually authenticate on its own and needs ANOTHER web browser to be available to do that.

Electron apps make Java ones look lean and mean and efficient.

Apparently, expecting a language that can compile to native machine code that executes directly on a CPU, and which makes API calls to the host OS in order to display a UI, is quaint and retro now.

And it's perfectly acceptable to have a multi-billion-dollar business that requires a local client, but which does not in fact offer native clients of any form for any OS on the market.

It's enough to make me want to go back to DOS, it really is. Never mind "nobody will ever need more than 640kB"... if you can't do it in 640kB and still have enough room for the user's data, maybe you should reconsider what you are doing and how you are doing it.               

history_monk: (Default)

[personal profile] history_monk 2022-08-09 04:44 pm (UTC)(link)
The stuff I do (numerical modelling) is still done in native code, because performance matters a lot. I've seen something similar done in 640KB, but it was not worth having; this starts to get useful at the single-figure GB level. It sits behind various cloud-based applications, because nobody has yet made an operating system that's all Javascript.

Oh, gawd. Now I've said it, someone will think of writing it. Edit: NodeOS (https://github.com/NodeOS) uses a Linux kernel, and, presumably, device drivers. Its userland is all Node.js, but I was thinking of a kernel in Javascript.
Edited (Additions, spelling) 2022-08-09 16:50 (UTC)
history_monk: (Default)

[personal profile] history_monk 2022-08-11 03:12 pm (UTC)(link)
I don't think so. Javascript, Python, Perl and other powerful scripting languages are very convenient for code that is run only a few times before being changed. That's how Python became so popular for processing numerical data, for example. Languages in that style are a lot faster than the plain interpreters of the 1970s and 1980s. Performance-critical stuff is generally not tweaked every few runs, outside its development team.

The last time I wrote anything large in a scripting language, it was bash, because I wanted to get better at using it and all the work was being done by UNIX find and cp anyway.

[personal profile] valeria22 2022-08-09 06:33 pm (UTC)(link)
The bloat with Electron is the main reason I stay away from software that uses it. I'm hoping one day people will go back to programing true native clients instead of using Electron.
andrewducker: (Default)

[personal profile] andrewducker 2022-08-10 08:29 am (UTC)(link)
I don't mind Electron when the people developing with it put in the effort to make it really quite fast (see: VS Code, which isn't as instant as native, but doesn't lag enough to actively annoy me). But Teams is a bloated mess of a thing where changing from one page to another takes an age, and a great example of how frustrating Electron apps can be!
andrewducker: (Default)

[personal profile] andrewducker 2022-08-10 10:21 am (UTC)(link)
You would have thought that Microsoft, of all people, would be able to write native apps.
andrewducker: (Default)

[personal profile] andrewducker 2022-08-11 12:43 pm (UTC)(link)
Yeah, I'm sure that they could have gotten XAML working cross-platform if they actually put the effort in. And yet...