David P Schwartz
3 min readMay 25, 2020

--

The fact that articles like this need to be written today, and the diversity of comments it evokes, just reinforces my belief that GUI-based app development for the web is still at the same place that Windows was at 25 years ago. People used to make the same arguments about X-Windows vs. the myriad of other GUI libraries for Windows 3.1. You had this stupid "Windows message loop" and you had to hook everything into that and cascade things down your hierarchy of widgets, and if something missed a message or failed to clear one it handled, your whole app got hosed up. They didn't call it "UX" back then; it was just a sort of mad rush to see who could build GUI apps that were fairly solid and people would use.

Bill Gates was the guy who famously said, "Nobody would ever need more than 64k of RAM", then proceeded to build an OS that wouldn't even boot up in 64k! Windows just kept getting bigger and slower, eating up generational improvements in CPU speed and RAM size. Today I swear my top-of-the-line Dell i7 3.8GHz 6-core machine with 32GB of RAM is no faster than my Dell laptop from 2004 with a Celeron and 512MB of RAM. All of the extra CPU and RAM is being eaten up by anti-virus crap and browsers running crap that's written by people who don't care about wasting space or managing memory.

Every few weeks Chrome freezes-up my machine and I have to reboot. Sometimes the reboot is automatic. I'm guessing it has sucked-up so much free RAM that has not been managed properly that it just suffocates itself and the rest of the system, and everything just dies.

Windows evolved at a time when it behooved developers to pay attention to resource consumption. Today devs don't care because they use machines with HUGE amounts of free RAM and excess CPU bandwidth. They figure, "Oh, the OS will handle it." No, js is run inside of the browser, and the browsers are horrible at dealing with memory fragmentation. Yet people still argue about managed vs. unmanaged memory pools in the C++ world. Go figure! (There's another thing nobody ever finds on a requirements spec, but that has an indirect impact on usability.)

Nobody ever talked about "stacks" in the desktop world.

I don't understand the nuances of the libraries mentioned here, but most Windows libraries let you build apps at all of these levels, just depending on how much effort you wanted to put into things. Delphi came on the scene and made things far easier when it hid the message loop. Then a few years later after Microsoft stole the guy who invented Delphi from Borland, they introduced Visual Studio and C#, and it looked like a Delphi clone that used language closer to C++ than Pascal. Since then, the vast majority of desktop apps all use that same approach for building software, and you haven't needed to worry about these different "levels" in the past 20 years.

I'll be happy when the distinction of "stacks" disappears in the web world and it's as easy to build web apps at whatever level of user interactivity as it has been to do the same in desktop apps since 2000.

--

--

David P Schwartz
David P Schwartz

Written by David P Schwartz

Professional software architect & developer for 40+ yrs; created & sold several unique software products online; passionate about guided meditation.

No responses yet

Write a response