← Back to context

Comment by bee_rider

3 years ago

> Linux is probably the system that suffers the least from these issues as it still feels pretty snappy on modest hardware. […]. That said, this is only an illusion. As soon as you start installing any modern app that wasn’t developed exclusively for Linux… the slow app start times and generally poor performance show up.

This is not an illusion. Cross-platform programs suck, so everyone avoids them, right? Electron apps and whatnot are universally mocked. You would only use one for an online services like Spotify or something. The normal use case is downloading some nice native code from your repo.

> Cross-platform programs suck, so everyone avoids them, right?

The thing is, cross-platform tooling sucks. A plain CLI program is already bad enough to get running across platforms - even among Unix/POSIX compliant-ish platforms, which is why autoconf, cmake and a host of other tools exist... but GUI programs? That's orders of magnitude worse to get right. And games manage to blow past that as every platform has their completely own graphics stack.

Electron and friends abstract all that suckiness away from developers and allow management to hire cheap fresh JS coding bootcamp graduates instead of highly capable and paid Qt/Gtk/SDL/whatever consultants.

  • > The thing is, cross-platform tooling sucks.

    No, they don't always suck. As an example, QT is cross platform, fast and complete.

    But Electron is god awfully slow, and Eclipse can be too. The difference is QT apps are compiled and are generally written in C/C++, where are Electron and Eclipse are interpreted / JIT'ed, and use GC under the hood. As a consequence, they run at 1/2 the speed, use many times more RAM and to make matters worse Electron is single threaded.

    The problem isn't cross platform. It's the conveniences most programmers lean on to make themselves productive - like GC, or async so they can avoid the dangers of true concurrency, or an interpreter to so they don't have to recompile for every platform out there. They do work - we are more productive in turning out code, but the come at a cost.

  • >consultants

    Who?

    I see people constantly talking about those "consultants", yet what they are?

    Just dev that has single-person company?

    • Hello, I'm a consultant. In practice it's just a fancy word for temps. Company hsa money and needs some engineers but don't want to hire or take up the burden of employment, and / or needs some fresh bodies to wake up their in-house developers / make them fear for their own jobs because they've stagnated, they call us.

      But we're a relatively small consultancy (think hundreds instead of tens of thousands like the bigger players), so it's a bit more refined. We do have decent developers, but the issue with consultancy on that level is they're too smart for their own good, they will suggest an over-engineered solution that can't be maintained by anyone BUT these consultants and / or hired self-employed people. It's a weird fallacy, a weird rotating door of consultants and cycles of development where every 10 or so years they do a full rearchitecture / rebuild of their back-ends, while meanwhile some people just sit and maintain the existing - and working - core systems.

      It's massively wasteful. But it usually pays better than a regular in-house developer, and it's lower risk than going self-employed because you still work for an employer who pays you per month. I'm just salty that said employer creams off 2/3rds of my hourly rate.

    • there's a ton of consulting companies which are humonguous. Companies like Accenture with 780000 employees, Tata Consultancy with 488000 consultants, CapGemini with 300k-ish... it's one of the largest businesses in the world

      6 replies →

Electron apps may be mocked, but they're not avoided by most. VS Code is probably the #1 programmer's editor these days.

It's not just cross-platform programs that suck. Applications moving to gtk4 from gtk3 add an extra 100-200ms of startup latency every time because of OpenGL initialization and shader compilation (there is currently no cache), varying a lot depending on your CPU. Applications that used to open instantly now have have a noticeable pause, even if it's still short compared to the worst Windows applications. It's been reported multiple times for well over a year now and no improvements have been made.

Not really sure about the cross-platform caveat... `dropbox-lnx` eats away 265MB of RES for it's file syncing job, I'm pretty sure what Dropbox was doing on my old laptop was very heavily 265MBly important. Also, `keepassxc` takes away 180MB of RES when you opened it.

The first Linux that I've used, Mandriva (KDE), runs smoothly on my Intel Pentium 4 PC with 256MB of RAM. I can even do some web browsing (Flash gaming) and music playing without feeling slow. That's an entire OS, running on 256MB of RAM.

  • Use rclone instead of dropbox.

    On MDV, KDE and PIV, same here with an Athlon 2000 and 256 MB of RAM with Knoppix and later FreesBIE with XFCE, which ran much faster and snappier than even today's i7's with Plasma 5.

And if it's for an online service, why even have it as a separate app? Just run it in your browser. You'll get the exact same thing but in the one instance of Chromium that you already run anyway. You also get the added benefit that your extensions work with it.