News for hackers. Stuff that matters.
Re:Software will eat software in a remote-first world by kristopolous on Monday May 25, 2020 @11:00AM (#23301759)
The Fred Brooks reference wasn't lost.

If you really want to put it in his terms, the multi decade approach, things have gotten a lot easier now that we don't have to be concerned in most practical terms about how much work we're giving the computer. We don't have to be so dearly precious about Kilobytes of memory for instance. We don't even need to manage it at all really.

Whether we choose to use these new powers to make our lives easier or more complex and abstract is our own doing.

We're probably at the end of such optimizations, unless there's something fundamental in how software is designed that 1000GB of memory gives me that 1GB does not ...

Given what people are doing in JavaScript I think we entered the era where most people truly don't care about how much the computer has to do about 8-9 years ago.

The higher level pasting together of increasingly numerous, incompatible, abstract, ill fitted things making life easier has always been a fiction.

There's a maximum utility point and anything past that starts slowing the development down again.

That sweet spot has always been right about the same; if you ldd the dynamically linked programs in say /usr/bin in 2020 and 2000 and count the number of libraries per binary, the count isn't that much higher. The sweet spot hasn't moved.

Re:Software will eat software in a remote-first world by caseysoftware on Monday May 25, 2020 @02:36PM (#23303563)
I think a key part of Mythical Man Month is that the biggest challenge was almost never technical. Sure, with limited storage (temp or persistent), that introduced some challenges but those have been overcome in the vast majority of circumstances, yet the complexity remains.

If you look at the monolith -> microservice swing and remember MMM, it should look a lot like the specialized surgical team model he lays out. In fact, if you go a step further, you'll see that his entire approach of small discrete teams with clearly defined communication paths maps cleanly to systems+APIs.

We're trying to build systems that reflect teams that reflect processes.. and distortions, abstractions, and mappings are still lossy with regards to understanding.

It still comes down to communication & coordination of complicated tasks. The tech is just the current medium.

Re:Software will eat software in a remote-first world by sabujp on Monday May 25, 2020 @01:43PM (#23303100)
local deps are one thing, but i think the # of network deps have increased
Re:Software will eat software in a remote-first world by kristopolous on Monday May 25, 2020 @02:36PM (#23303564)
Only because it can now. I think that dimension is mostly tapped out as well:

As I go to a complex website, much of the software to use it gets assembled in real time, on the fly, from multiple different networks.

It still sounds ridiculous: when I want to use some tool, I simply direct my browser to download all the software from a cascade of various networked servers and it gets pasted together in real time and runs in a sandbox. Don't worry, it takes only a few seconds. When I'm done, I simply discard all this effort and destroy the sandbox by closing the page.

This computer costs a few hundred dollars, fits easily in my pocket and can run all day on a small battery.

It has become so ordinary that almost nobody really even contemplates the process, it happens dozens of times a day.

I don't see any room for dramatic future improvements in actual person hours there either. Even if there was say 2 generations hence, some 7G, where I can transfer terabytes in milliseconds, how does this change how the software is written? Probably won't.

Probably the only big thing here in the next decade or so will be network costs being eventually seen as "free". One day CDNs, regional servers, load balancing, all of this will be as irrelevant as the wrangling needed with near and far pointers in programming 16-bit CPUs to target larger address spaces which if you're under 40 or so you probably have to go to wikipedia to find out what on earth that means. Yes, it'll all be that irrelevant.

Re:Software will eat software in a remote-first world by onefuncman on Tuesday May 26, 2020 @12:56PM (#23313498)
I mean, the browser paradigm is already in its 2nd generation, from initially on the mainframe to being reimplemented in functions as a service. And browsers are getting a little bit smarter about deploying atomic units and caching their dependencies. Remember using jquery from a CDN? Oof.

The only saving grace is that Javascript is willing to throw itself away every couple of years.