Faster than OS/2, sure. Now try to download a file in the background while doing work in the foreground. You would be lucky if your Windows 3.1 communications application could complete it without multiple retries.
The two operating systems were trying to solve different problems, and had different system requirements because of that. Windows 3.1 was fine for running multiple interactive applications since neither application would be doing real work in the background. When Windows 95 entered the picture, that changed and its system requirements weren't all that different from OS/2.
And that is just one example. Windows 3.1 didn't provide much in the way of memory protection. (From my recollections, it could detect a memory access violation. At that point it would blue screen.) One of OS/2's most noteworthy features was memory protection. All of a sudden you could use your computer for an entire day without losing work from crashing. Yeah, OS/2 would happily terminate an application (rather than the OS) when there was a memory access violation. On the other hand, it made it much easier for developers to detect and address such bugs.
On that last point: I have fond memories of bringing OS/2 boot disks to my high school programming classes after the upgrade to Windows 95 (and, when they started refusing to let me boot OS/2, they let me use the NT server). There was a world of difference between programming under OS/2 or NT verses Windows 95. No one bothered to try programming under Windows 3.1!
> No one bothered to try programming under Windows 3.1!
VB and Windows 3.11 paid for my first home. I wouldn’t enjoy programming in C in Windows though, and, IIRC, it was a while before Microsoft’s C tooling got a Windows version.
I should have said: no one in my programming class bothered to program under Windows 3.1. Clearly there were people out there writing software for Windows 3.1, and I have heard that VisualBASIC was a nice development platform for Windows 3.1.
I'm not sure what the C situation was like for Windows 3.1. I did have Borland C++ and fiddled around with the Windows IDE a bit, but never recalled making any progress.
The two operating systems were trying to solve different problems, and had different system requirements because of that. Windows 3.1 was fine for running multiple interactive applications since neither application would be doing real work in the background. When Windows 95 entered the picture, that changed and its system requirements weren't all that different from OS/2.
And that is just one example. Windows 3.1 didn't provide much in the way of memory protection. (From my recollections, it could detect a memory access violation. At that point it would blue screen.) One of OS/2's most noteworthy features was memory protection. All of a sudden you could use your computer for an entire day without losing work from crashing. Yeah, OS/2 would happily terminate an application (rather than the OS) when there was a memory access violation. On the other hand, it made it much easier for developers to detect and address such bugs.
On that last point: I have fond memories of bringing OS/2 boot disks to my high school programming classes after the upgrade to Windows 95 (and, when they started refusing to let me boot OS/2, they let me use the NT server). There was a world of difference between programming under OS/2 or NT verses Windows 95. No one bothered to try programming under Windows 3.1!