8 ms·
> from the days when spinning rust was the limiting factor How did we get back to this though? We have gigabytes/sec with NVMe and stupid fast CPU's with at l
by MisterTea 2y ago
> from the days when spinning rust was the limiting factor
How did we get back to this though? We have gigabytes/sec with NVMe and stupid fast CPU's with at least 4 cores in even low end models. Yet a text editor takes so long to load we need to load it up on boot... Such a frustrating field to work in.
- bigmattystyles 2y agoTelemetry, syncing to the cloud by default…
- dagmx 2y agoNeither of which contribute significantly to size though. The size aspect is what these new preloaders would help with.
- deleted 2y ago[deleted]
- afavour 2y agoI know this is such a stereotypical "get off my lawn" statement but we've lost the art of software engineering. It's all about stuffing as many features in as quickly as we can and pushing it out to as many people as possible. Performance is always secondary. Not that I'm that nostalgic for the old days, we would have been doing the exact same thing if we were able to get away with it. But performance restrictions meant you had no choice but to care. Modern tech has "freed" us from that concern.
- trealira 2y agoNiklaus Wirth wrote about this in 1995, in his essay A Plea for Lean Software. About 25 years ago, an interactive text editor could be designed with as little as 8,000 bytes of storage. (Modern program editors request 100 times that much). An operating system had to manage with 8,000 bytes, and a compiler had to fit into 32 Kbytes, whereas their modern descendants require megabytes. Has all this inflated software become any faster? On the contrary, were it not for a thousand times faster hardware, modern software would be utterly unusable. https://www.computer.org/csdl/magazine/co/1995/02/r2064/13rRUwInv7E https://www.computer.org/csdl/magazine/co/1995/02/r2064/13rR... That said, as someone fairly young, I still don't think that makes it wrong or something only an old man would think. Software seems to perform exactly as well as it needs to and no more, which is why hardware advances don't make our computers run software much faster.
- joelwilliamson 2y ago“What Andy giveth, Bill taketh away”
- nextos 2y agoAside from slowness, feature creep leads to poor quality, i.e. tons of bugs and user confusion with ever-changing graphical interfaces. If software was simpler, we could afford to offer some formal guarantees of correctness. Model check protocols, verify pre and post conditions à la Dafny, etc. There's too much change for the sake of change.
- aylmao 2y ago> There's too much change for the sake of change. +1 to this. Like a lot of issues, I think the root is ideological, but this one in particular very clearly manifests organizationally. The companies building everyday software are ever bigger— full of software engineers, designers and various kinds of managers who are asked to justify their generous salaries. At an individual level I'm sure there's all sorts of cases, but at a general level there's almost no other option but to introduce change for the sake of change.
- etruong42 2y agoThis is exactly what I see as well. At a general level, I believe there are other options - changes/features need to meet some level of usage or it is scrapped out of recognition that supporting all these features make bugs more likely, performance likely to degrade, increase difficulty of adding features, make the product more difficult to use, etc.
- aylmao 2y ago> There's too much change for the sake of change. +1 to this. Like a lot of issues, I think the root is ideological, but this one in particular very clearly manifests organizationally. The companies building everyday software are ever bigger— full of software engineers, designers and various kinds of managers who are asked to justify their generous salaries. At an individual level I'm sure there's all sorts of cases, but at a general level there's often almost no other option but to introduce change for the sake of change.
- gwbas1c 2y agoIt was always like that
- ysofunny 2y agowe don't have software engineering anymore than the romans had civil engineering we now DO have civil engineering but that is it
- mapt 2y agoI saw the writing on the wall when I had to install a couple 150MB IDEs to run 101-level Java programs in the mid 2000's. 150 megabytes. MEGABYTES. I could consume about 1 kilobyte per minute of fantasy novel text in uncompressed ASCI, call it 1/8th that fully compressed. That means this compressed binary you're handing me is around 1.2 billion minutes of work (more if ingesting a novel is faster than writing/testing/debugging a program) for what is functionally a text editor, file manager, syntax library, compiler, and debugger. Pretty sure that got done in 150 kilobytes a generation earlier. A generation later, maybe it will be 150 gigabytes.
- netsharc 2y agoI looked it up, you want an illegal taxi? 168 MB: https://apkcombo.com/uber/com.ubercab/ https://apkcombo.com/uber/com.ubercab/
- reaperducer 2y agoinstall a couple 150MB IDEs Not Java, but an IDE in 4K: https://en.wikipedia.org/wiki/BASIC_Programming https://en.wikipedia.org/wiki/BASIC_Programming Having used it quite extensively (Well, five solid days over two weeks, which is about 1000x longer than most people gargling on the internet), it's surprisingly capable. Imagine if someone with the same talent and motivation was working on today's hardware. <aside> Someone on Atari Age wrote a LISP for the same machine.
- MisterTea 2y ago> I know this is such a stereotypical "get off my lawn" statement but we've lost the art of software engineering. Indeed. I am sure many of us here are burnt out on bloat. I am also sure many of us want to move to smaller stuff but cant simply because of industry momentum. BUT that doesn't mean the dream is dead, only that we must work towards those goals on our own time. I found Plan 9 and haven't looked back. I can rebuild the entire OS in seconds on a fast machine. Even my little Celeron J1900 can rebuild the OS for several supported architectures in minutes. I can share a USB device seamlessly across my network, PXE booted from a single disk without installing anything. Cat(1) is just 36 lines of C. There's still hope. Just ignore the industry hype noise and put in the effort ourselves.
- ryandrake 2y agoAnd just when we think we can't make software any more inefficient, slow, and bloated, they release things like Electron, where you ship an entire browser with your app! And then when we think it can't even get worse, we have Docker and containers where we ship the entire OS with the application. I'm looking forward to when app developers ship you an entire computer in the mail to run their text editor.
- bloomca 2y agoThe problem with Electron is that business-wise it is an excellent decision. You can get by with a few people to wrap the web app and integrate it with the OS, and then get updates pretty much for free. Yet for the user it is bad -- bloated, slow, feels non-native, has specific bugs which are hard to address for the devs, etc. I don't see any light for the desktop UI development unless there is some lightweight universal rendering engine. Tauri with WebView is somewhat promising, but it has problems on Linux and it is hard to target older systems.
- bigstrat2003 2y agoIt's an excellent business decision... right up until your customers abandon you because you make bad quality software. Like many businesses have found time and again, deliberately sacrificing quality for profit is a short term gain for a long term loss.
- zer00eyz 2y ago>> It's all about stuffing as many features in as quickly as we can... The problem isn't "engineering" the problem is the culture of product management. (Note: NOT product managers per se). I ask this basic question, how many Directors, VP's or CPO's do you know who got their job based on "cutting out unused features"? If you can find one, it will end up being the exception that proves the rule. The culture of "add", "new" and "shiny" doesn't reward keeping things lean and effective. T In the tangible world we look to accountants for this sort of thing (because they tend to have costs). Think cheap Costco hotdogs and free cookies at Double Tree. No one in product, dev and accounting is going to sit down and try to justify loosing some code, features and maybe a few customers to make it faster when you can just "engineer" you way out of it and not have to sell less is more.
- zero_bias 2y ago> I ask this basic question, how many Directors, VP's or CPO's do you know who got their job based on "cutting out unused features"? Google goes a step further and kills entire apps
- LuciOfStars 2y agoMoment of silence for Play Music. YT Music isn't any less awful now than it was a decade ago.
- bigfatkitten 2y agoFord does. They look at connected vehicle telemetry to strip out features nobody uses in order to save software maintenance, hardware and third party IP licensing costs. https://www.slashgear.com/1513242/ford-gets-rid-of-self-parking-feature-reason-explained/ https://www.slashgear.com/1513242/ford-gets-rid-of-self-park...
- ambicapter 2y agoI really don't think we've "lost it", I think performance has just not been a consideration in the engineering of Office for a long time, if ever.
- deleted 2y ago[deleted]
- Salgat 2y agoIt's a matter of resource allocation. Lowering your design requirements for performance can save significant developer cost. Also, Word in 2025 is doing a lot more under the hood than 97.
- acdha 2y agoHow does someone get promoted at Microsoft? How do they avoid being seen as a low performer? Performance just isn’t on that list, and it’s often more and harder work than a given new feature took to create. Office users are getting what Microsoft is designed to deliver.
- deleted 2y ago[deleted]
- gregates 2y agoI love that I work at a place (Row Zero) where caring about performance is baked into the culture, and I can spend days fixing weird perf edge cases our users discover without management asking why I'm wasting my time. And it's office software, no less!
- 90s_dev 2y ago> we've lost the art of software engineering Yes! This is what all my projects are geared towards restoring. The big one is not quite ready to announce yet, but I am very proud of it, and extremely excited to release it, to solve exactly that: it makes engineering fun again!
- makapuf 2y agoWell that username matches
- lispisok 2y agoMy personal theory is there is a threshold of performance. Below the threshold the experience is bad enough it affects revenue so getting the program up to speed becomes a priority. Above the threshold only features are prioritized to drive more revenue. That's why despite computers getting orders of magnitude faster computer programs seem to run about the same speed.
- nativeit 2y agoI think the threshold is more about how much more rent can we seek to collect from users, and making things more performant or ergonomic doesn’t do anything to allow sales to add another 10% to the per-user subscription pricing (I assume this is a product with per-user subscriptions, even though it’s almost certainly unnecessary). But adding yet another gateway to ChatGPT’s API…that’s a $15/mo/user add-on right there, and not just a monkey, but one of the slower intern monkeys, could write the code for such an incredibly innovative and, there’s no other word for it, powerful new feature that everyone should be thrilled to pay for at a 200-300% (or more!) markup. So guess who gets that VP of New Bullshit Development position, and guess what kind of choices get reinforced? (EDIT: grammar)
- trinsic2 2y ago> I know this is such a stereotypical "get off my lawn" statement but we've lost the art of software engineering. Absolutely this. I think this is evidence that points to modern civilization starting to collapse. When we can engineer correctly, we're fucked.
- stcroixx 2y agoSkilled programmers working on boring stuff like office. Most programmers today don't have the skills they think they do and would find working on something like Office boring.
- layer8 2y agoIronically, at the start of my career working on something like Office was my dream, and would actually still be. I reserve to change my mind once I’ve seen the code base, though. ;)
- skywhopper 2y agoHow much engineering time do you think is spent optimizing startup time on most modern editors? I’m guessing next to nothing.
- tharkun__ 2y agoI will make this analogy: Have a large ZIP file. Preferably like a few gigs and lots of (small) files. Try to open it with the built-in Windows 11 tooling from Microsoft. It's going to be super slow to even show anything never mind unpack it. Now install say 7-zip and do the exact same thing(s) and it's going to be instant opening and unpacking it takes a much much smaller amount of time (only limited by disk speed). Turns out optimizations / not doing stupid things is still a thing even with all this raw power we now have.
- 2OEH8eoCRo0 2y agoWe stopped developing for users/customers and instead added layers to make developer lives easier. Why the hell are all my desktop apps written in JS now?!
- cogman10 2y ago> Why the hell are all my desktop apps written in JS now?! Have you seen the state of pretty much every non-js UX framework? That's why. JS/css/html won the UX domain in a way that no other language comes close to. If you look at the most recent most modern UX frameworks, they are often just half implemented poor mimics of the js/css/html stack with approximately 0 devs writing new 3rd party extensions. Intellij uses swing, SWING, as it's UX. A framework written in the 90s filled with warts. Yet, it's still a better experience than the more recent JavaFX experience. Swing simply has more support.
- ezst 2y agoCall me an idiot, but I still gladly take Swing and javafx over JS and monstrosities like react. The state of Qt is also very good. Web won because the distribution model is easier on the user, and because managers thought UX designers would be making whole apps now, saving on rates. Not because it's technically superior.
- cogman10 2y agoYou're not an idiot for liking the Swing/javafx/QT way of doing things. Or even for thinking they are technically superior. The bigger issue isn't the tech, it's the ecosystem. While you might like swing, you simply are never going to find the swing version of Material UI or D3.js. That's more the problem that you'll run into. For some of our apps because we need charting, we are using GraalJS just to run the JS charting library to export to an image that we ultimately put on some of our downloadable reports. It's a huge pain but really the only way to do that.
- ezst 2y ago
- jlarocco 2y agoBecause an entire generation of developers and their managers believe the hardware is so fast there's no point trying to optimize the software. Besides, the only thing that matters is getting tickets "done" before the arbitrary sprint deadline in 2 weeks, so best not to spend any extra time cleaning up or optimizing the first thing that works. You can't think about performance until the sprint dedicated to performance.
- boringg 2y ago100% thought process is: why waste internal resources on speeding up software when the user has enough hardware to manage the workload.
- codr7 2y agoBattery use is a pretty big concern these days; also, some users like running several things at the same time.
- hunter2_ 2y agoFor the local OS and sustained workloads like video playback, yes, battery optimization is huge. For an individual app with bursty compute, less so, plus some of that inefficient code can run in the cloud instead, which is costly, but premium subscriptions can pay for it, and power plants are now colocated with data centers so power transmission cost is negligible. The incentive to be efficient is insufficient.
- bradley13 2y agoCruft built on frameworks using libraries with a zillion dependencies, some of which are cruft built on frameworks...
- layer8 2y ago> How did we get back to this though? By piling up nonzero-cost abstractions left and right.
- wk_end 2y agoAnd it's easy to understand how we get into that trap. Each one of those abstractions is very low-cost, so it seems harmless. And getting out of the trap is hard too, because no single abstraction is to blame - you can't just hit things with your profiler and find the hot spot. It's all of them. So now you either live with it or rewrite an entire stack of abstractions.
- Workaccount2 2y agoI'll take the hate for this, but I have been using gemini to build narrow scope apps and they are extremely fucking fast compared to their bloated software package suite $200/user/month counterparts. It's amazing how fast and efficient programs can be when not trying to cover every use case for every possible user at every possible moment on top of a sea of tech debt programming. While true LLMs fall flat on their face when fed massive codebases, the fact of the matter is that I don't need a 200k LOC program to accomplish a single task that an LLM can do in 2k LOC. To give an example, we have proprietary piece of software that is used to make (physical) product test systems using flow charts and menus. It's expansive and complex. But we don't need it when we can just spend 30 minutes prompting your way to working test code and it produces way faster and more robust systems. Maybe the devs of that software package cannot dump that whole codebase into an LLM and work on it. But they are completely missing the forest for the trees.
- 7657364574 2y agoMy guess is that we're already seeing the consequences of "AI-assisted programming". Just yesterday, Microsoft's CEO revealed that 30% of their code is written by AI.
- deleted 2y ago[deleted]
- drjasonharrison 2y agoGiven the game of telephone which would have to had occurred for that 30% figure to travel from developers up to the CEO, it's probably including things like autocomplete... The Plan In the beginning, there was a plan, And then came the assumptions, And the assumptions were without form, And the plan without substance, And the darkness was upon the face of the workers, And they spoke among themselves saying, "It is a crock of shit and it stinks." And the workers went unto their Supervisors and said, "It is a pile of dung, and we cannot live with the smell." And the Supervisors went unto their Managers saying, "It is a container of excrement, and it is very strong, Such that none may abide by it." And the Managers went unto their Directors saying, "It is a vessel of fertilizer, and none may abide by its strength." And the Directors spoke among themselves saying to one another, "It contains that which aids plants growth, and it is very strong." And the Directors went to the Vice Presidents saying unto them, "It promotes growth, and it is very powerful." And the Vice Presidents went to the President, saying unto him, "This new plan will actively promote the growth and vigor Of the company With very powerful effects." And the President looked upon the Plan And saw that it was good, And the Plan became Policy. And this, my friend, is how shit happens. from anonymous email
- Dylan16807 2y agoInteresting that this story is not really a game of telephone, but instead a single layer replaced the meaning on purpose.
- codr7 2y agoBy software, most of it is probably generated scaffolding.
- marcod 2y ago"eight megabytes and constantly swapping"
- PJDK 2y agoSo, we often look back on the old days with rose tinted glasses. But let me recount my IT classes from the 90s. We'd sometimes go to the library to write something up in MS Word. We always liked this because it would be a good 5-10 mins to boot up some kind of basic Unix menu. You'd then select windows 3.1 and wait another 10-15 minutes for that to load. Then you could fire up word and wait another 5 minutes. Then you could do 5 minutes work before the class was over!
- prussian 2y agoI think people forget that some of this software may be relatively fast. The problem is, most corporate environments are loaded up with EDRs and other strange anti-malware software that impede quick startup or speedy library calls. I've seen a misconfigured Forcepoint EDR rule block a window for 5 seconds on copy and paste from Chrome to Word. Another example: it takes ~2 seconds to run git on my work machine (Measure-Command { git status | Out-Null }).TotalSeconds while running the same command on my personal Windows 11 virtual machine is near instant: ~0.1 seconds. Still slower than Linux, but not nearly as bad as my work machine.
- deleted 2y ago[deleted]
- lukan 2y ago"How did we get back to this though?" Probably because windows needs to make a connection for every file somewhere else first and wait for the reply, before granting you the advanced software as a service feature called text editing. It definitely feels like this at times and I fear there is too much truth in my statement. But it is not just windows only. My old chromebook took seconds to open a folder in the file browser (even if it was already open). But a "ls" on the terminal was instant for any folder. So getting the information was not the problem. But from there to displaying it in a GUI, there seems to be myriads of important (tracking?) layers involved.
- causality0 2y agoEver notice how Windows 7 and 10 and 11 have basically the same features and benchmark the same on performance tests yet 10 and especially 11 completely shit the bed if you try to run them off a hard drive? Like they might all boot in twenty seconds from an SSD but booting from a hard disk might take W7 two minutes and W11 ten minutes to a stable desktop.
- miunau 2y agoThere are no financial or career incentives to optimise existing, working things in these institutions. The structures which these large companies use are for people working on new things, so that's what we get. Making office faster doesn't create headlines, but a new product that does the same thing somehow will.
- PeterStuer 2y agoIn the old days there was the saying 'What Intel Giveth, Microsoft Taketh Away'
- intelVISA 2y agoSoftware 'engineering' is too abstract, yet imagine the outrage if every new highway had a 20km/h limit...
- sh34r 2y agoWell, we networked all the computers together around that time, and it turned out that all the 1337 performance hacking that people did back then had severe unintended consequences. You’re talking about an era in which the NX bit would not be utilized by Windows for another ~7 years. “Smashing the Stack for Fun and Profit” was contemporary work. It’s not rocket science to eke out oodles of performance out of a potato if you don’t care about correctness or memory safety. Word 97 will only delight you if you use it on an airgapped computer, as a glorified typewriter, never open anyone else’s documents with it, and are diligent about manually saving the doc to multiple places for when it inevitably self-corrupts. But at that point, why not be like GRRM and write on a DOS word processor? Those were historically a lot more reliable than these second-generation GUI apps.