• WANTED: Happy members who like to discuss audio and other topics related to our interest. Desire to learn and share knowledge of science required. There are many reviews of audio hardware and expert members to help answer your questions. Click here to have your audio equipment measured for free!

How did software development become so hard (Windows)???

storing

Active Member
Forum Donor
Joined
Aug 27, 2021
Messages
226
Likes
220
Look for companies that have an agile software development strategy....

Not sure if trolling, but in any case: this reads like it's all roses and sunshine but reality is of course different and reveals the downsides quickly especially for large scale desktop apps where architecture matters a lot. Too much to list here, so for people wanting to jump on it: search for 'agile pros and cons' first :)
 

Andretti60

Active Member
Joined
Oct 1, 2021
Messages
223
Likes
360
Location
San Francisco Bay
Look for companies that have an agile software development strategy. Agile is a software development by https://mlsdev.com/services/custom-software-development method that enables the designer to create an app that gets the job done in a shorter period of time than a traditional waterfall development model. As a result, there is a reduced need for investment in new staff and there is a fixed price that is tied to the app development cost. Agile apps are usually more flexible because the software is designed to work as quickly and easily as possible, which reduces the risk of delayed functionality delivered late. Additionally, the engagement model helps the client to change certain parts of the app without requiring too much customization at the front end.
Software developed with Agile technologies does not mean that has better quality. As you said, using Agile is it possible to "produce" software more fast and more efficiently (especially in large teams) only if it is wisely used, but the "quality" of the code always depends on the skills of the developer, and how the code has been unit-tested, peer reviewed, integrated and fully tested. Lots of organizations (read: managers) use "agile" as a buzzword, just to show off, but then they do not actually know how to use it (and developers have to spend countless hours in useless meetings). And of course lots of companies try to sell you tools that they claim make better use of agile methodology.

Been there, done it. In my personal experience for example, the best Kanban meeting is the one that lasts only half of the scheduled time.
 

Marc v E

Major Contributor
Joined
Mar 9, 2021
Messages
1,106
Likes
1,608
Location
The Netherlands (Holland)
I use a windows laptop at work but have been using mac at home for years. They have such a nice integration between hardware and software and the user experience is intuitive and unbeatible imo.

Though I must add that Microsofts IDE (Visual Studio) is truly great and Azure too. Maybe it's just the consumer products that miss some integration?
I definately have most problems with laptops going to sleep or with the cam or audio not being recognised.
 
Last edited:

Honken

Senior Member
Joined
Mar 10, 2020
Messages
342
Likes
606
Location
Scania
Been there, done it. In my personal experience for example, the best Kanban meeting is the one that lasts only half of the scheduled time.
Don't mention that to the PM, they'll just try to schedule the meetings to last twice as long.

I find that the methodology matters very little when it comes to a team's output, quality and work environment. I personally believe that pretty much all methodologies have their place. Just because something works for team A at workplace A, the same thing might not necessarily work for team B at workplace B. Heck, it might not even apply to team B at workplace A, even if they're in the same department as team A. Blindly copying others does not lead to increased output.

I'll have to admit that I do find 'agile' in particular rather tiresome though, as most seem to practice it as if it was a religion that they have to convert everyone else to. And just as with so many other religions, it's most fanatical devotees seem to miss the forest for the trees completely and focus on the minute details. It doesn't really matter what you call your morning checkins, or if you follow Scrum to the letter. What matters is, does your method of working enable you, or get in your way?

I have encountered so many perverted takes on Agile where the end goal from the people involved seem to have been that they wanted to be able to claim that they work in an agile fashion, rather than taking the manifesto to heart. At this point I don't know if it is just me who is jaded, or if it is me who doesn't get it.
 

MRC01

Major Contributor
Joined
Feb 5, 2019
Messages
3,503
Likes
4,150
Location
Pacific Northwest
...
I tried to use Linux and installed hundreds of releases since 2014. But sadly it just doesn't work. But just last weekend after I watch some linux related video on YouTube I reminded myself about it's sad CentOS dead. Then I have some hope on Oracle linux again. I may try again in the future.
I find Ubuntu (and variants like Xubuntu) to be the easiest most seamless versions of Linux. I've been running it for more than 10 years on various desktops & laptops. In most cases it's actually easier than Windows: plug in hardware (whether a PCI card or USB device) and often it just works, no drivers or other BS to deal with. Linux is also more secure and reliable than Windows or MacOs. I have a VM to run Windows 10 but I need it less often every year.

Back to @amirm 's original observation: computers & software get more complex every year as we pile abstractions on top of abstractions in the hardware, firmware, operating system, device drivers, interfaces, development environments, etc. This grows into a dependency nightmare, making it difficult to impossible to predict the impact of changes in any of the layers.
 

Andretti60

Active Member
Joined
Oct 1, 2021
Messages
223
Likes
360
Location
San Francisco Bay
Back to @amirm 's original observation: computers & software get more complex every year as we pile abstractions on top of abstractions in the hardware, firmware, operating system, device drivers, interfaces, development environments, etc. This grows into a dependency nightmare, making it difficult to impossible to predict the impact of changes in any of the layers.
hear hear
 

sarumbear

Master Contributor
Forum Donor
Joined
Aug 15, 2020
Messages
7,604
Likes
7,328
Location
UK
I have been going through hell and back with my everyday laptop in the last few weeks.

What an intertwined pile of junk Windows has become. I mean really. Who would have known all the things I went through to fix these obscure problems? I suspect 99% of the people would have to reinstall windows and go through the hell that is to get all your apps and settings back to where they were.
An article from the "father of Microsoft source control" may give you a clue why you had been suffering.

As a refresher, the Windows code base is approximately 3.5M files and, when checked in to a Git repo, results in a repo of about 300GB. Further, the Windows team is about 4,000 engineers and the engineering system produces 1,760 daily “lab builds” across 440 branches in addition to thousands of pull request validation builds. All 3 of the dimensions (file count, repo size and activity), independently, provide daunting scaling challenges and taken together they make it unbelievably challenging to create a great experience.
 

storing

Active Member
Forum Donor
Joined
Aug 27, 2021
Messages
226
Likes
220
On the topic of agile, just read this and it explains it better than I could (and overall most points the author makes seem very much spot on):

Everyone wants to be agile these days, but being “agile” is about building things in small chunks, learning, and then iterating. If someone is trying to shoehorn much more into it than that, then they’re probably selling something.
 

anmpr1

Major Contributor
Forum Donor
Joined
Oct 11, 2018
Messages
3,741
Likes
6,464
Back when 640K was more or less what you had to work with, code had to be lean and mean. Then, OS version improvements were significant--at least up through about DOS 5. DOS 5 (and DR DOS before that) allowed for maximum use of the limited memory available, so you could load drivers 'high', giving you some headroom. After that, DOS 6x versions were mostly DOS 5 with questionable add-ons--> stuff like compression, etc.

No one wants to go back to lean and mean.

Who knows what's in the Windows codebase? After all these years. It's surprising to me that it works as well as it does. For home use XP, 7, 10 and 11 were/are good enough for most people. Other than cosmetics, I don't notice anything 'new or interesting' in Win 11. I guess there's supposed to be a 'security' feature with the new version.

Over the past several years I've had a few applications freeze up, but I don't remember the last time the entire OS tanked. It wasn't always that way.
 

Andretti60

Active Member
Joined
Oct 1, 2021
Messages
223
Likes
360
Location
San Francisco Bay
Back when 640K was more or less what you had to work with, code had to be lean and mean.
I don’t agree with that, it was the size of the application that had to be small, but the code could very well be “fat”, unreadably and unmanageable. I saw countless examples of that, same as I continue to see now.
 

pseudoid

Master Contributor
Forum Donor
Joined
Mar 23, 2021
Messages
5,299
Likes
3,683
Location
33.6 -117.9
TL&DR version:
If I had a 'laptop' that was older than [say] 4 years (+/-1yr): I'd definitely not shoot the messenger that is telling me that the technology has moved on and so should I.
If you had an AVR that was designed for HDMIv1.3: Why should you blame HDMIv2.x, if you try to route both versions thru same AVR and it steps both inputs down to HDMIv1.3.
At least, I can proudly state that I have never:
Performed a "re-install" due to crashes/viruses, or
Failed to perform a WinOS "uprade" from an older version to a newer version of the OS (since win95 release)
Lost one single piece of data in the last 40+ years
Maybe I am the lucky one because I update and maintain my WinOS systems and protect my own data.
Same as I do with my music and my hardware supporting that hobby/pleasure.
Thank you Microsoft for 4+decades of making me productive, engaged, educated, aware and overall happier for so long.
 

bravomail

Addicted to Fun and Learning
Joined
Oct 19, 2018
Messages
817
Likes
461
I use various debloaters and tweakers to make Windows faster - biggest benefit is disabling NTFS "access time".
I manually disable Windows services which I don't need - File and Print Sharing "Server" is the worst offender.
I use free RAMDisk software to create in memory disk, and point all my temp folders/files to it - browsers love it.
I have my own registry file which is a collection of various Windows tweaks - most of them r available via deloaters, but not all.
For any need - I try to use a "portable software", which does not need an installer, and can survive Windows reinstall.
I do not use any Adobe software, for PDF I use PDFXchange Viewer (portable).
I do not use Chrome - it will install update services and other stuff. With MS Edge and portable Chromium - problem solved.
I use portable Firefox as my day-to-day browser.
I use Opera Classic v12 as my mail client.
I'm very careful with my custom USB drivers - if they don't perform/buggy I immediately remove them.
 

MRC01

Major Contributor
Joined
Feb 5, 2019
Messages
3,503
Likes
4,150
Location
Pacific Northwest
... I use free RAMDisk software to create in memory disk, and point all my temp folders/files to it - browsers love it. ...
If you do this, ensure the system has more RAM then you ever actually use. Allocating an in-RAM disk leaves less RAM for system & apps, causing the system to page/swap earlier than it otherwise would have, which is a huge performance hit.

I find a more cost-effective performance boost is to use an SSD big enough for the boot, system, app installs, and temp files. Then use conventional "spinning rust" discs for all data. This also cleanly separates system/binary from data, facilitating data preservation (backups & restore). And facilitates OS upgrades, as you can nuke the entire system/SSD drive without losing any data. It also gives some level of virus/malware protection, as none of your data resides on the main system drive, and your Windows-allocated default user/data folders are all empty.

Of course, that's when I have to use Windows. Better yet, don't use Windows at all!
 

BostonJack

Active Member
Editor
Joined
Jul 2, 2019
Messages
288
Likes
350
Location
Boston area, Cambridge, MA
Microsoft tried! Theyhad the right idea with Windows NT. No software got direct hardware access. Period. Then gamers complained and they relaxed the restrictions with NT 4.0, and that was that. Plus, Adobe has always been one of the worst offenders. I happily used Macs for awhile and was actually a licensed beta tester for OS X in 2000, but just don't like it. Linux on the desktop finally got good enough for me about 10 tears ago, and I'm much happier. Since I stopped doing .Net and all my development work is in Linux, also, it works out well. I have Windows installed on a separate drive and ironically, the only time I ever boot into it these days is when I have to use an Adobe CS application.
Microsoft has been in the business for 1/2 jillion years and they have finally produced a reasonably stable system. Unix and Unix-like OS's are the way to go. Simple, text based philosophy, open source and simple network management and straightforward configurations. Linux, OSx are just simpler, more reliable, and much, much more stable.

Every major company I've worked for: Intel, Cisco Systems, Bell Labs, Freescale Semiconductor, AMD... they all use Unix-like systems for their servers and major engineering efforts. Without exception. Windows is used to get to HR systems and calendars, and similar work-a-day BS.

I've worked for three supercomputer companies: BBN Advanced Computer Initiative, Kendall Square Research, and Sequoia Systems [high availability, symmetrical multiprocessor]. Primary OS on all their machines was Unix. Windows would get you laughed out of the building.
 

Chromatischism

Major Contributor
Forum Donor
Joined
Jun 5, 2020
Messages
4,848
Likes
3,773
If you do this, ensure the system has more RAM then you ever actually use. Allocating an in-RAM disk leaves less RAM for system & apps, causing the system to page/swap earlier than it otherwise would have, which is a huge performance hit.

I find a more cost-effective performance boost is to use an SSD big enough for the boot, system, app installs, and temp files. Then use conventional "spinning rust" discs for all data. This also cleanly separates system/binary from data, facilitating data preservation (backups & restore). And facilitates OS upgrades, as you can nuke the entire system/SSD drive without losing any data. It also gives some level of virus/malware protection, as none of your data resides on the main system drive, and your Windows-allocated default user/data folders are all empty.

Of course, that's when I have to use Windows. Better yet, don't use Windows at all!
The same is true of partitions.
 

pseudoid

Master Contributor
Forum Donor
Joined
Mar 23, 2021
Messages
5,299
Likes
3,683
Location
33.6 -117.9
Big Ball of Mud
That is a great 'paper' and worth reading every 'inch' of it.
It speaks not just @the software but @the whole world.
Unfortunately, we cannot start anew w/the world as we can w/ sw...
Alias:
  • QUICK HACK
  • KLEENEX CODE
  • DISPOSABLE CODE
  • SCRIPTING
  • KILLER DEMO
  • PERMANENT PROTOTYPE
Oh my... great, just great!:)
 

MRC01

Major Contributor
Joined
Feb 5, 2019
Messages
3,503
Likes
4,150
Location
Pacific Northwest
The same is true of partitions.
Logically, yes, partitions give some of those benefits. Physically, no, they can't provide all the benefits.

Disk performance is typically more critical for the OS and apps, than it is for data, and SSDs are more expensive than hard drives. Getting an SSD just for the system and apps, and using hard drives for your data, can provide the same performance as an all SSD system, yet at lower cost and with more storage capacity for your data.
 

pseudoid

Master Contributor
Forum Donor
Joined
Mar 23, 2021
Messages
5,299
Likes
3,683
Location
33.6 -117.9
... SSD ...
Floppies >> Bernoulli >> SCSI >> VelociRaptor >> SSD >> NVMe/M.2
My, we've come a long way!
The concept of using the primary drive strictly for OS/apps is a very valid one for many reasons.. well, at least a few!
I don't even keep %UserData% in the same 'drive'. Life is much simpler that way.
 

Chromatischism

Major Contributor
Forum Donor
Joined
Jun 5, 2020
Messages
4,848
Likes
3,773
Logically, yes, partitions give some of those benefits. Physically, no, they can't provide all the benefits.

Disk performance is typically more critical for the OS and apps, than it is for data, and SSDs are more expensive than hard drives. Getting an SSD just for the system and apps, and using hard drives for your data, can provide the same performance as an all SSD system, yet at lower cost and with more storage capacity for your data.
I wasn't talking about cost-benefit ratio though.
 
Top Bottom