←back to thread

413 points martinald | 2 comments | | HN request time: 0.501s | source
Show context
nine_k ◴[] No.46197061[source]
Had the cost of building custom software dropped 90%, we would be seeing a flurry of low-cost, decent-quality SaaS offering all over the marketplace, possibly undercutting some established players.

From where I sit, right now, this does not seem to be the case.

This is as if writing down the code is not the biggest problem, or the biggest time sink, of building software.

replies(28): >>46197121 #>>46197162 #>>46197191 #>>46197790 #>>46198132 #>>46198182 #>>46198282 #>>46198425 #>>46198498 #>>46198608 #>>46198655 #>>46198747 #>>46198991 #>>46199214 #>>46199310 #>>46199646 #>>46199706 #>>46201118 #>>46201177 #>>46202111 #>>46202477 #>>46202670 #>>46203360 #>>46204030 #>>46204863 #>>46204917 #>>46207989 #>>46214063 #
phantasmish ◴[] No.46198608[source]
Something weird happened to software after the 90s or so.

You had all these small-by-modern-standards teams (though sometimes in large companies) putting out desktop applications, sometimes on multiple platforms, with shitloads of features. On fairly tight schedules. To address markets that are itty-bitty by modern standards.

Now people are like “We’ll need (3x the personnel) and (2x the time) and you can forget about native, it’s webshit or else you can double those figures… for one platform. What’s that? Your TAM is only (the size of the entire home PC market circa 1995)? Oh forget about it then, you’ll never get funded”

It seems like we’ve gotten far less efficient.

I’m skeptical this problem has to do with code-writing, and so am skeptical that LLMs are going to even get us back to our former baseline.

replies(6): >>46198699 #>>46198960 #>>46199108 #>>46199504 #>>46201032 #>>46204436 #
1. anonymars ◴[] No.46199504[source]
Some thoughts:

1. Personally I find writing software for the web far more difficult/tedious than desktop. We sure settled on the lowest common denominator

1a. Perhaps part of that is that the web doesn't really afford the same level of WYSIWYG?

2. Is it perhaps more difficult (superlinear) to write one cloud SaaS product that can scale to the whole world, rather than apps for which each installation only needed to scale to one client? Oh and make sure to retain perfect separation between clients

2a. To make everything scale, it's super distributed, but having everything so distributed has a huge cost

3. Some level of DLL hell, but something different (update hell?) I barely do any programming in my free time anymore because I would end up spending almost the whole time needing to deal with some barrage of updates, to the IDE, to the framework, to the libraries, to the build infrastructure

3a. There's always a cost to shipping, to the development team and/or the users. With releases so frequent, that cost is paid constantly and/or unpredictably (from the development or user perspective)

3b. Is there any mental sense of completion/accomplishment anymore or just a never-ending always-accelerating treadmill?

3c. I wish I could find the source but there was some joke that said "software developers are arrogant or naïve enough to think that if you take a marathon and just break it up into smaller parts you can 'sprint' the whole way"

replies(1): >>46204217 #
2. benjiro ◴[] No.46204217[source]
> To make everything scale, it's super distributed, but having everything so distributed has a huge cost

Its more then a huge cost, its often insane... We are not talking 10x but easily 100x to a 1000x. Its like when i see some known database makers that scale, write how they can do a million writes per second. Ignoring that they rented a 1000 servers for that, each costing $500 per month. That same software is also 10x to 100x more slower, then a single postgresql database in reads.

So you ask yourself, how many companies do a million writes per second. Few ... How much of those writes may have been reduced by using smarter caching / batching? Probably a factor of 10 to 100x...

The thing i like about scalable solution, is that its way easier to just add a few nodes, vs needing to deal with postgres replication / master setup, when the master node got moved / need to upgraded.

For fun, i wrote my own ART database, and a LSM database using LLMs ... Things do 400 a 500k inserts / second on basic cheap hardware. So wait, why are some companies advertising that they do a million inserts/s, on 500k/month hardware? Some companies may need this ability to scale, as they will not run a 1000 server but maybe 10.000, or more. But 99% of the companies will never even smell close to a 100k inserts/second, let alone a million.

People forget that network latency is a huge thing, but the moment you want consistency and need something like raft, that means now your doing not just 1x the network latency of a write but 4x (send write, verify receive, send commit, verify commit, confirm).

Even something as basic like sqlite vs postgres on the same server, can mean a difference of 3x performance, simply because of then network overhead vs in-function. And that network overhead is just local on the same machine.