Live data from Hacker News

Did we lose our way in making efficient software?

rufatmammadli.medium.com

271–280 of 515 posts

Re: Did we lose our way in making efficient software?

#271
post #168

Earlier quoted context omitted.

It's very platform specific. MacOS has had "containers" since switching to NeXTStep with OS X in 2001. An .app bundle is essentially a container from the software distribution PoV. Windows was late to the party but they have it now with the MSIX system. It's really only Linux where you have to ship a complete copy of the OS (sans kernel) to even reliably boot up a web server. A lot of that is due to coordination prob…

> A lot of that is due to coordination problems. The dumpster fire at the bottom of that is libc and the C ABI. Practically everything is built around the assumption that software will be distributed as source code and configured and recompiled on the target machine because ABI compatibility and laying out the filesystem so that .so's could even be found in the right spot was too hard .

To quote Wolfgang Pauli, this is not just not right, it's not even wrong ...

The "C ABI" and libc are a rather stable part of Linux. Changing the behaviour of system calls ? Linus himself will be after you. And libc interfaces, to the largest part, "are" UNIX - it's what IEEE1003.1 defines. While Linux' glibc extends that, it doesn't break it. That's not the least what symbol revisions are for, and glibc is a huge user of those. So that ... things don't break.

Now "all else on top" ... how ELF works (to some definition of "works"), the fact stuff like Gnome/Gtk love to make each rev incompatible to the prev, that "higher" Linux standards (LSB) don't care that much about backwards compat, true.

That, though, isn't the fault of either the "C ABI" or libc.

Re: Did we lose our way in making efficient software?

#272

Earlier quoted context omitted.

Java apps are not native on either macOS or Windows.

Nor Linux. The only Java desktop app I've ever used (on any platform) without frustration was Slay the Spire, and it only passes because it's a game and doesn't require desktop integration of any kind.

I hear Minecraft is popular.

I use JDownloader sometimes, it's totally fine. Weka is bad, but not worse than other academic apps.

Re: Did we lose our way in making efficient software?

#273

Earlier quoted context omitted.

Devil's advocate: you now get a lot of tooling for 'free', which used to cost hundreds or thousands of dollars.

One off few hundred or few thousands is nothing in comparison to 30% tax. That said, I don't know about Mac, but you can build apps using free tools - maybe in not as convenient way, but certainly you can. I remember, because I was someone who couldn't afford Visual Studio licence and had to make do with GNU tools. The greed of these companies put me off from developing anything.

It's 15% for almost all developers, not 30%.

Re: Did we lose our way in making efficient software?

#274

Earlier quoted context omitted.

An actual customer won’t like it when you tell them they have to turn off or bypass a security feature to run your software. Not when other software doesn’t need it.

Once I get a project to "actual customers" I don't mind paying and signing my binaries.

This is something that definitely chafes. Even in a large-company enterprise environment, so many worthy & legitimate projects never end up shipping due to financial or office-politics reasons. Putting up paywalls between devs and their work that they to spend both time and money on is bloody stupid.

Re: Did we lose our way in making efficient software?

#275

Earlier quoted context omitted.

The thing that makes me crazy is that the thing that we do on computers are basically the same each year, yet software are more and more heavy. For example just in 2010 a Linux distribution with a DE just started did consume 100Mb of RAM, an optimized version 60Mb of RAM. I remember it perfectly. I had 2Gb of RAM and did not have even a swap partition. Now just a decade later, a computer with less than 8Gb of RAM is…

Think also about all the finished stand-alone applications which have been discarded because of replacement APIs, or because they were written in assembly. We had near-perfect (limited feature-wise from a 3-decade view, of course) word processors, spreadsheets, and single-user databases in the late 80s/early 90s which were, except for many specific use-case additions, complete & only in need of regular maintenance &…

It's because a lot of it is fashion, doesn't matter if you have an old working shirt, need new shirt.

Re: Did we lose our way in making efficient software?

#276

Earlier quoted context omitted.

Devil's advocate: you now get a lot of tooling for 'free', which used to cost hundreds or thousands of dollars.

One off few hundred or few thousands is nothing in comparison to 30% tax. That said, I don't know about Mac, but you can build apps using free tools - maybe in not as convenient way, but certainly you can. I remember, because I was someone who couldn't afford Visual Studio licence and had to make do with GNU tools. The greed of these companies put me off from developing anything.

ICT departments in many large companies often force dev teams to use certain tools, because it's what's on their list of 'approved tools for devs'. Getting new tools on this list is often stonewalled for usually office-politics reasons.

Sometimes devs are locked into the tools they use. This situation is shit, but not uncommon.

Re: Did we lose our way in making efficient software?

#277
post #270
post #6

I want to make native apps but Apple and Microsoft seem to be trying really hard to stop me. I have to buy developer accounts, buy certificates for signing binaries, share 30% of my revenue with them for barely any reason and so on. Not to mention the mess they've introduced in their APIs - especially Microsoft. So of course we choose the much simpler, much cheaper way of the web.

Apple certificates are cheap compared to Microsoft. To get rid of UAC on Windows you have to buy certificate for thousands of dollars.

I don't think you "get rid of" UAC, you just put the author's name on the screen instead of unknown publisher. (And why do you need elevated privilege? Most applications don't) unless you are referring to "smart screen" which is a very different thing, although quite similar from a user's perspective.

Re: Did we lose our way in making efficient software?

#278

Again and again people complain about this. But it remains a fact that essentially nobody actually wants this. Developers certainly like to have their completely integrated, connected and universal computing platform (the web). And users do not seem to particularly care about performance as long as it is good enough . And that is exactly the standard that is set, software is allowed to be so bad that it doesn't reall…

You're saying two very different things. Nobody actually wants this is not the same as nobody is actually moving forward to achieve this. Performance is something like a tragedy of the commons. Because everybody is just doing what's in their own short term interests, but the long-term consequence is where we are today: you'd need what would literally have been a supercomputer, not that long ago, to run a word processor.

It's kind of funny to imagine this parallel world where you send a PC of today back to the 70s. Whichever government got their hands on it would be keeping it ultra classified and hiding it away, like it was some device, too dangerous for the public, that could computationally solve any problem imaginable, create anything imaginable.

Re: Did we lose our way in making efficient software?

#279

Even John Carmack has come around now to saying that the primary focus of a software developer should be delivering value to customer. If that can be done using up a gigabyte of memory, and using a gigabyte costs less to deliver than using 50 MiB, so be it. Software is a business. Development=cost, happy customers=profit. Anything that maximizes the latter and minimizes the former is a win. Deal with it.

Source?

Re: Did we lose our way in making efficient software?

#280
post #6

I want to make native apps but Apple and Microsoft seem to be trying really hard to stop me. I have to buy developer accounts, buy certificates for signing binaries, share 30% of my revenue with them for barely any reason and so on. Not to mention the mess they've introduced in their APIs - especially Microsoft. So of course we choose the much simpler, much cheaper way of the web.

One of the reasons I moved to Javascript web development after many years as C/C++ dev, and after the hell of making iphone apps for Apples appstore - you dont have to get a licence, get approval or make an installer, if you ship a web 'app'.
Post reply on HN