There’s also a whole lot of abstraction layers in software these days. All kinds of frameworks, no code platforms, scripts and engines ask introduce their own delays when running software, all added to make time to market a bit shorter or just because of some tech fetish.
Lol, “the C Programming language is an abstraction of assembly and I for one, won’t have it!”
Some of those frameworks and no code platform bloat are because of that. Most are there to make working on large multi team software projects feasible.
It’s not the first time one team makes a module with an API. The other team needs a few lines of data from that module but the filter in the API is bad, so just retrieve millions of rows and apply your own filter to get the two rows. There is no event trigger, so keep polling those two lines every second. Multiply with dozens of modules and a bunch of politics that refuse to make changes and you get a very sluggish application.
Sure yeah, this stuff happens all the time, and often persists until people start noticing the application being sluggish and they go and investigate and fix the slow points.
Alternatively you have tightly integrated software that only one team can work on and it takes years to come out and every time a feature needs to change its another 6 month job of reworking everything, and debugging and fixing security issues is a nightmare.
In most systems, not just computers, there’s a tradeoff between a highly integrated and high performance design, vs a modularized loosely coupled one that’s more adaptable and resilient.
Just look at automotives, Teslas have a unibody design that makes them cheap to build and low weight, that also makes them enormously expensive to repair and impossible to find aftermarket parts for.
Choosing maximally integrated is rarely the best path, there is always a middle ground, and one important difference between the paths is that it’s usually easier to go from modular to integrated than vice versa.
I’m a software engineer at a large company you may not have heard of, but you almost certainly know at least one of their brands. Abstraction layers are all over the place; they’re not a symptom of open-source software, they’re a symptom of lots of modern software.
Well indeed, if the closed source project has closed SDLC that’s the definition of developed and governed with internally defined goals and abstractions
I remember when finishing my dissertation and thinking about how my sister did her one several years before me, in a computer that was considered unusable by the time I did mine, and both the work process and the finished result were pretty much the same. I had a computer that was astronomically better than she had, yet, everything was slow, just like she felt when she did her.
The CPU in an average consumer PC can do tens of billions of instructions per second now. 10,000,000,000+ instructions per second. And then it can also offload some work to other devices. Here, graphics card, deal with updating this display at 144Hz. Hey network card, take this buffer and squirt it out the ethernet port at a 1 gigabit line speed for me.
And even with all that help, it still takes for-fucking-ever to get shit done. What the fuck are all those instructions doing‽
Mine are all used up to block ads and trackers and page elements, then when they’re done, I’m being throttled punitively by the service because i didn’t watch their ads :(
I think many programmers and business models have given up on programs running ‘fast’ but rather they just running and shoving them out quickly. Add in all the AI programming, and I don’t see it getting better. It’s basically like most people when they earn more income. The more speed and memory a computer has, the more programmers will use of it.
A computer from the 80’s starts up a million times faster than any modern computer.
I put an ssd in a laptop from 2003, it boots to desktop on antix just as fast as my T14 running opensuse.
When this laptop was running XP spinning rust, it took 5 minutes to get to desktop, 10 minutes to do anything useful. SSDs have made that possible, pretty much nothing to do with anything else.
My dad had a C64 that I’d play around with, and I can confirm, it booted in seconds. Loading a program was a different matter.
Eehhh… this person is wrong about programmers and business models but DOS machines did boot really fast (my 486 boots to DOS in about 20 seconds) and C64s and Apple IIs and such were all ROM based and so booted instantly like a Super Nintendo.
I guess most people here are too young to remember that even drivers were loaded at a per program basis, e.g. you would need to configure each game you played to use specific video and audio hardware. Nowadays that doesn’t happen.
Pretty much, though my 486 is configured for ‘94/‘95 timeframe so it loads mouse drivers, CD-ROM drivers, Sound Blaster drivers, a Plug’n Play setup, and a couple other things before it shows the prompt, or in this case the menu I scripted.
Computers in the 80s took so long to load anything, I could go out, get some coffee, and come back before they finished, e.g. any Spectrum or Commodore would take 20 minutes to load stuff from the tape drive. Wyse network terminals would leave you hanging for ten minutes and then fail netbooting because some shit with the token ring network.
Except they did instantly boot. I didn’t say anything about how long they took to load a program, and if you had a cartridge, it instantly loaded as well. Have you actually used these computers, or just remember slow tape drives? Not that modern ones are fast by any means either, they just move more data and are prohibitively expensive.
Apple, Commodore all booted into their OS instantly. Disk drives worked, no BIOS needed. Care to explain what you can do with that? You could easily boot DOS within 40 seconds on a 486. Can’t do that on Windows at all these days and we are talking 30 years later.
Sure, let’s compare a single user, 16 bit, text only OS, with Windows.
Apple, Commodore all booted into their OS instantly. Disk drives worked, no BIOS needed.
Again, apples and oranges.
I/O drivers were stored as part of the ROM in both Apple and Commodore. That’s your ancient equivalent to BIOS and kernel. But they loaded essentially nothing, and didn’t need to handle a myriad of different devices and interfaces. The whole thing took a few kilobytes of storage, and obviously, wouldn’t handle anything that wasn’t very specifically supported.
A modern Linux kernel would also boot in a couple seconds if we were to strip every single driver from it but the handful needed to handle a monitor, an input device, storage, etc. The moment you plugged in a mouse, it wouldn’t work, and without an UI or even an interpreter, it would be useless. And I can assure you, it is way faster to load zsh in a modern computer, than any BASIC interpreter on an Apple II.
The person you replied to countered a broad generalization with an anecdote which probably matches the lived experience of most of us oldies who lived through the time. Your comment did not contribute to the conversation.
Once again, that’s a single video of one example of an old computer booting up. It’s hardly irrefutable, like anything anecdotal. I’m not even disagreeing on the consensus of newer computers being undeniably faster, this is just a flimsy evidence regardless.
And frankly I don’t care about “contributing” as you describe it. That just amounts to adhering to everyone’s idea of contribution on social media, and I’m not Sisyphus, so…
Only bad management is keeping everything from being crazy fast. No reason for today’s programs to be slower than what we had a decade ago.
There’s also a whole lot of abstraction layers in software these days. All kinds of frameworks, no code platforms, scripts and engines ask introduce their own delays when running software, all added to make time to market a bit shorter or just because of some tech fetish.
Lol, “the C Programming language is an abstraction of assembly and I for one, won’t have it!”
Some of those frameworks and no code platform bloat are because of that. Most are there to make working on large multi team software projects feasible.
It’s not the first time one team makes a module with an API. The other team needs a few lines of data from that module but the filter in the API is bad, so just retrieve millions of rows and apply your own filter to get the two rows. There is no event trigger, so keep polling those two lines every second. Multiply with dozens of modules and a bunch of politics that refuse to make changes and you get a very sluggish application.
Sure yeah, this stuff happens all the time, and often persists until people start noticing the application being sluggish and they go and investigate and fix the slow points.
Alternatively you have tightly integrated software that only one team can work on and it takes years to come out and every time a feature needs to change its another 6 month job of reworking everything, and debugging and fixing security issues is a nightmare.
In most systems, not just computers, there’s a tradeoff between a highly integrated and high performance design, vs a modularized loosely coupled one that’s more adaptable and resilient.
Just look at automotives, Teslas have a unibody design that makes them cheap to build and low weight, that also makes them enormously expensive to repair and impossible to find aftermarket parts for.
Choosing maximally integrated is rarely the best path, there is always a middle ground, and one important difference between the paths is that it’s usually easier to go from modular to integrated than vice versa.
Windows OS updates and releases aren’t subject to this as it’s closed source
Whether human or machine, external factors are all internally decided
Why do you assume this can’t be an issue in a closed source?
Describe the abstraction layers of a closed source project in the context of Microsoft
You can’t, unless you work for Microsoft
There’s market forces, which is not what you described; rather tooling and nuance specific to software development
When Microsoft controls the input and outputs, it’s a closed loop affected by Microsoft governance, not random tools, systems or transparent inputs
I’m a software engineer at a large company you may not have heard of, but you almost certainly know at least one of their brands. Abstraction layers are all over the place; they’re not a symptom of open-source software, they’re a symptom of lots of modern software.
How do external factors affect closed source systems, when the entire lifecycle is governed by Microsoft
Because even closed source systems don’t exist in a vacuum?!
Well indeed, if the closed source project has closed SDLC that’s the definition of developed and governed with internally defined goals and abstractions
Literally the definition of
.Net
Ah yes, the open source dotnet as an example of closed source abstractions
https://dotnet.microsoft.com/en-us/platform/open-source
You wanted an abstraction layer, I provided one.
You shared an open source project. Comprehension is a skill
I remember when finishing my dissertation and thinking about how my sister did her one several years before me, in a computer that was considered unusable by the time I did mine, and both the work process and the finished result were pretty much the same. I had a computer that was astronomically better than she had, yet, everything was slow, just like she felt when she did her.
The CPU in an average consumer PC can do tens of billions of instructions per second now. 10,000,000,000+ instructions per second. And then it can also offload some work to other devices. Here, graphics card, deal with updating this display at 144Hz. Hey network card, take this buffer and squirt it out the ethernet port at a 1 gigabit line speed for me.
And even with all that help, it still takes for-fucking-ever to get shit done. What the fuck are all those instructions doing‽
Mine are all used up to block ads and trackers and page elements, then when they’re done, I’m being throttled punitively by the service because i didn’t watch their ads :(
I think many programmers and business models have given up on programs running ‘fast’ but rather they just running and shoving them out quickly. Add in all the AI programming, and I don’t see it getting better. It’s basically like most people when they earn more income. The more speed and memory a computer has, the more programmers will use of it.
A computer from the 80’s starts up a million times faster than any modern computer.
That’s nonsense. Every computer I own boots in under a minute. That was unheard of in the 90s, much less the 80s.
I put an ssd in a laptop from 2003, it boots to desktop on antix just as fast as my T14 running opensuse.
When this laptop was running XP spinning rust, it took 5 minutes to get to desktop, 10 minutes to do anything useful. SSDs have made that possible, pretty much nothing to do with anything else.
My dad had a C64 that I’d play around with, and I can confirm, it booted in seconds. Loading a program was a different matter.
Eehhh… this person is wrong about programmers and business models but DOS machines did boot really fast (my 486 boots to DOS in about 20 seconds) and C64s and Apple IIs and such were all ROM based and so booted instantly like a Super Nintendo.
Because they didn’t load absolutely anything.
I guess most people here are too young to remember that even drivers were loaded at a per program basis, e.g. you would need to configure each game you played to use specific video and audio hardware. Nowadays that doesn’t happen.
Pretty much, though my 486 is configured for ‘94/‘95 timeframe so it loads mouse drivers, CD-ROM drivers, Sound Blaster drivers, a Plug’n Play setup, and a couple other things before it shows the prompt, or in this case the menu I scripted.
You realize most computers in the 80’s instantly booted right? Flip power switch and they booted to an internal rom. I’m sorry, are you fairly young?
Computers in the 80s took so long to load anything, I could go out, get some coffee, and come back before they finished, e.g. any Spectrum or Commodore would take 20 minutes to load stuff from the tape drive. Wyse network terminals would leave you hanging for ten minutes and then fail netbooting because some shit with the token ring network.
So, no, they didn’t “instantly boot”.
Except they did instantly boot. I didn’t say anything about how long they took to load a program, and if you had a cartridge, it instantly loaded as well. Have you actually used these computers, or just remember slow tape drives? Not that modern ones are fast by any means either, they just move more data and are prohibitively expensive.
It’s easy to “boot up instantly” when not even the OS is loaded.
Modern BIOS load also instantly. Care to explain what you can do with that?
Apple, Commodore all booted into their OS instantly. Disk drives worked, no BIOS needed. Care to explain what you can do with that? You could easily boot DOS within 40 seconds on a 486. Can’t do that on Windows at all these days and we are talking 30 years later.
Sure, let’s compare a single user, 16 bit, text only OS, with Windows.
Again, apples and oranges.
I/O drivers were stored as part of the ROM in both Apple and Commodore. That’s your ancient equivalent to BIOS and kernel. But they loaded essentially nothing, and didn’t need to handle a myriad of different devices and interfaces. The whole thing took a few kilobytes of storage, and obviously, wouldn’t handle anything that wasn’t very specifically supported.
A modern Linux kernel would also boot in a couple seconds if we were to strip every single driver from it but the handful needed to handle a monitor, an input device, storage, etc. The moment you plugged in a mouse, it wouldn’t work, and without an UI or even an interpreter, it would be useless. And I can assure you, it is way faster to load zsh in a modern computer, than any BASIC interpreter on an Apple II.
Anecdotes ≠ proof
Here is a 486 taking over three minutes to boot.
The person you replied to countered a broad generalization with an anecdote which probably matches the lived experience of most of us oldies who lived through the time. Your comment did not contribute to the conversation.
well now see, if it had a math coprocessor… blah blah haha
Cool. My phone takes four.
Once again, that’s a single video of one example of an old computer booting up. It’s hardly irrefutable, like anything anecdotal. I’m not even disagreeing on the consensus of newer computers being undeniably faster, this is just a flimsy evidence regardless.
And frankly I don’t care about “contributing” as you describe it. That just amounts to adhering to everyone’s idea of contribution on social media, and I’m not Sisyphus, so…