> 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.
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.
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
I mean, I don't think that's exactly a fair comparison. These companies are focused a lot (and I mean a lot) more on enterprise software than your regular desktop software. I'm talking about Banking Systems, Automation Platforms, Government Software, stuff that has no use outside the corporate world. And they do genuinely do good work in these areas. Sure, they're not pioneers or doing some groundbreaking research, but they do their job and they do their job well (of course there are exceptions - but these aren't 100 billion dollar companies for nothing).
> but these aren't 100 billion dollar companies for nothing
Producing the best possible software doesn't produce the highest possible revenue. You'd want to produce something that works well enough that it's viable for the customer to keep hiring your consultants, but also makes it necessary to continuously keep hiring them.
So that translates to producing the worst possible software that barely works. So no, they're not $100B companies for nothing. They know exactly how to walk that line.
> And they do genuinely do good work in these areas.
I have seen genuinely passable. And lots of "good enough until we fix the underlining issue".
What I have never seen is offshored developers doing really good work. And I'm convinced their incentive structure will always punish anybody that tries.
I've seen turds as web pages at the Spanish Goverment or even the Healthcare systems.
Those are designed to deliberaterly harm the user experience full of judicial jargon so companies in the middle can get lots of profit handling the "legalese" such as filling the taxes.
If they can't afford to write a simple cross-platform QT5 based software for actual computing (AKA desktops except for niche usage on art with iPad for drawings and some audio production), they are doomed. Period.
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.