Wednesday, December 11, 2019

Digest for comp.lang.c++@googlegroups.com - 11 updates in 1 topic

boltar@nowhere.co.uk: Dec 11 09:49AM

On Tue, 10 Dec 2019 21:09:24 +0000
 
>After using Windows 3.1 (the 16 bit one) Windows NT 3.1 was a breath of
>fresh air. It just kept running. It really didn't crash (except when our
>HW was broken, and since we were developing it that did happen).
 
Perhaps I was spoilt - I went straight from 8 bit at home to unix at university
so I was used to using HP-UX and Solaris at 21. Then I was introduced to
Windows. It was like going from a Ferrari to a Lada and NT didn't nothing to
dispel that imagine. It crashed, it had to rebooted once a week as it had
a serious memory leak issues and it was a slow as a dog. If that was a breath
of fresh air then god knows what you were breathing beforehand.
James Kuyper <jameskuyper@alumni.caltech.edu>: Dec 11 03:13AM -0800

On Wednesday, December 11, 2019 at 4:50:06 AM UTC-5, bol...@nowhere.co.uk wrote:
...
> dispel that imagine. It crashed, it had to rebooted once a week as it had
> a serious memory leak issues and it was a slow as a dog. If that was a breath
> of fresh air then god knows what you were breathing beforehand.
 
As I remember it, NT almost never crashed, but I'm not sure what I meant
by "almost never" when I formed that memory. Windows 3.1 typically
crashed several times per day for me, so a weekly crash might have felt
like "almost never" by comparison.
 
Like you, my experience with Unix pre-dated my experience with either
DOS or Windows, and those Unix systems were very reliable. However,
those systems were mainframes being maintained by professional
sysadmins; I would not have dreamed of expecting the same reliability
from a desktop machine that I maintained myself.
boltar@nowhere.co.uk: Dec 11 11:20AM

On Wed, 11 Dec 2019 03:13:44 -0800 (PST)
>those systems were mainframes being maintained by professional
>sysadmins; I would not have dreamed of expecting the same reliability
>from a desktop machine that I maintained myself.
 
The basic reliability of an OS should be independant of how well or otherwise
its administered so longs as patches are installed.
"Fred. Zwarts" <F.Zwarts@KVI.nl>: Dec 11 12:57PM +0100

>>from a desktop machine that I maintained myself.
 
> The basic reliability of an OS should be independant of how well or otherwise
> its administered so longs as patches are installed.
 
The reliability also depends on the amount of (third-party, cheap)
hardware used in those systems. Those early Unix systems supported far
less hardware. There is a reason why Microsoft later introduced
Microsoft certified drivers.
I was used to VMS systems. I remembered how in that time the same
argument was used against Unix and pro VMS.
When later-on Linux started to supported the same hardware as Windows, I
also saw "kernel panic" very often. (But it was not blue. :-)
Bart <bc@freeuk.com>: Dec 11 12:11PM


> Perhaps I was spoilt - I went straight from 8 bit at home to unix at university
> so I was used to using HP-UX and Solaris at 21. Then I was introduced to
> Windows. It was like going from a Ferrari to a Lada
 
My experience was the opposite. I didn't think a great deal of Windows,
which to my mind simply got in the way (compared to my previously using
MS/PC-DOS for ten years where you had direct control of a lot more of
the hardware).
 
But trying out Linux every few years, Windows always looked and felt
solidly professional by comparison. On Windows, things just worked
(mouse, USB, printers, internet, display), whereas on Linux during the
90s, these rarely worked properly, or worked badly, or had to be coaxed
into working via configuration files.
 
And even when the display worked, it looked dreadful, like a cheap 80s
home computer. That's probably not surprising considering Windows was
backed by a multi-billion dollar company, and supported by multitudinous
hardware vendors, while Linux was hacked together by amateurs in their
spare time, it seemed. (And with dozens of different distributions.)
 
> so I was used to using HP-UX and Solaris at 21.
 
If you were writing software for use by the general public, then Windows
machines were obtainable anywhere at any PC store, all ready to go.
 
That was a huge advantage compared to having software relying on obscure
workstations (where did you even buy such a thing).
 
I suspect such machines were more expensive too.
boltar@nowhere.co.uk: Dec 11 12:42PM

On Wed, 11 Dec 2019 12:11:33 +0000
>the hardware).
 
>But trying out Linux every few years, Windows always looked and felt
>solidly professional by comparison. On Windows, things just worked
 
Well everyones experience is different I suppose. I've run Linux since kernel
version 1.1 and most things worked fine apart from printers which have always
been its weak point. The Windows PCs I was using at work however couldn't last
more than 2 or 3 days without a reboot if they didn't first crash anyway.
 
>And even when the display worked, it looked dreadful, like a cheap 80s
>home computer. That's probably not surprising considering Windows was
 
Not in my experience. Yes, X could be a pig to get working but once it was
it was fine. In fact I had full motion video running in linux on a 486 back in
the 90s. Something Windows wadsn't even close to achieving except with special
3rd party hardware.
David Brown <david.brown@hesbynett.no>: Dec 11 04:01PM +0100

On 11/12/2019 13:11, Bart wrote:
> (mouse, USB, printers, internet, display), whereas on Linux during the
> 90s,  these rarely worked properly, or worked badly, or had to be coaxed
> into working via configuration files.
 
There is a /huge/ difference between HP-UX, Solaris, Sun-OS, AIX, etc.,
and Linux - especially at the time in question. Linux these days is
strongly supported by big companies in all senses (big companies use it,
big companies supply it, big companies provide support, big companies
make sure their hardware and software works with Linux, etc.). But in
the days of Win 3.1 and NT 3.x, Linux was very much a "do it yourself"
system for people who were willing to get their hands dirty.
 
The big unixes were a different world, however. You did not buy a
random "PC compatible" and try to run Solaris on it - you got a Solaris
workstation, such as SPARCStation, and used that. Often, you used it on
a network - a serious Ethernet network with a proper server, not a
little "LANtastic" setup. The hardware was a world ahead of the PC
world in terms of quality, speed, and features - and a different world
in terms of price.
 
I went from mainly 8-bit systems (Spectrum and BBC micro), to SunOS then
Solaris at university, and then to Windows 3.1. I have to agree with
Boltar - going to Windows after Solaris was huge leap backwards in both
hardware and software. The SPARCStations had vastly better screens and
graphics than anything you got in the PC world - and if you needed more
screen space, you logged into the computer next to you and treated its
screen as an extension to your own. (The network transparency of X
might make it poor for 3D graphics and videos, but was excellent for
that kind of thing.) Virtual desktops were standard in the *nix world
over 30 years ago, and only with Windows 10 is there a limited version
in the Windows world.
 
The Windows world has never been close to the Unix world in terms of
quality, solidity, or professionalism.
 
 
> That was a huge advantage compared to having software relying on obscure
> workstations (where did you even buy such a thing).
 
> I suspect such machines were more expensive too.
 
Of course they were more expensive. They were worth more, and did more.
But they were used by companies (and universities) willing to pay for
their tools, rather than those that wanted the cheapest machines they
could get and didn't care how much time and effort was wasted with
reboots, reinstalls, crashes, crappy hardware, crappy software, etc., -
or by companies that knew workstations were better but couldn't afford
them, or when they needed hardware or software that only existed in the
Windows world. Anyone with the choice would have gone for a Unix
workstation over Windows.
Vir Campestris <vir.campestris@invalid.invalid>: Dec 10 09:09PM

> Are you talking about NT here or some reliable and fast OS that MS never
> released? Win NT was a blue screening, slow joke of an OS and frankly I'd have
> expected better from people who worked on VMS.
 
After using Windows 3.1 (the 16 bit one) Windows NT 3.1 was a breath of
fresh air. It just kept running. It really didn't crash (except when our
HW was broken, and since we were developing it that did happen).
 
3.51 was if anything better.
 
AIUI NT4 picked up the 9x GUI. Certainly it was not as stable as the
earlier ones.
 
Andy
boltar@nowhere.co.uk: Dec 11 04:15PM

On Wed, 11 Dec 2019 16:01:32 +0100
>that kind of thing.) Virtual desktops were standard in the *nix world
>over 30 years ago, and only with Windows 10 is there a limited version
>in the Windows world.
 
Indeed. Such a shame though that Sun management had such myopia and didn't
see both the PC and Apple creaping up on them as they treaded water with their
hardware in the 00s, but instead kept charging silly money for their
workstations instead of pitching the price at Apple levels where they could
have shared the professional graphics market. Instead Apple (and to a lesser
extent Windows) ate their lunch, ironically with their own version of Unix in
the end. Plus they didn't really see Linux coming in the server space until
it was too late.
"Öö Tiib" <ootiib@hot.ee>: Dec 11 12:48PM -0800

On Tuesday, 10 December 2019 23:56:09 UTC+2, Daniel wrote:
> > also wants to have some garbage-free programming language.
 
> As opposed to a garbage-full programming language like C++? :-) Or did you
> mean as opposed to a language with GC? But Go has GC.
 
Yes I meant as opposed to historically garbage-filled C++ and failed
attempts of reducing that garbage like Java and C#.
C++ is useful only by having "The Bible Of Its Usage In This
Project". A sketch of it:
<https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines>.
Basically one without tens of millions dollars to throw into project
has to limit allowable C++ constructs in it to bare minimum right
from the very start or to do it in next iteration after failing
the first attempt.
 
> > The syntax of Rust is not that different from Swift or Go.
 
> The memory ownership models are different. Go has GC. Swift has
> reference counting. Rust has affine types.
 
The GC does not worry me, "garbage collection" is just unfortunate
name to great idea of automated memory recycling. Its only issue is
that it makes programmers to feel safe while it totally failed to
automate recycling of all other, far more valuable resources than
memory. Plus it does not favor data layouts that are naturally
suitable for parallel processing.
 
Other nice GC languages besides Go are JavaSript (non-tameable wild)
and Kotlin (sponsored by Jetbrains and Google).
 
> > are no such "gotcha!" bear traps in Rust like C++ is full of
> > and so it perhaps suits novices better than C++.
 
> I'd be interested to know what you think about Rust's affine types. I'm currently on chapter 4 of The Rust Programming Language, The Stack and the Heap, and have some mental resistance to "_don't_ do as the ints do".
 
I think of those as of policy that only owner has right to use
and ownership is move-only. I basically follow same policy in
all other languages (but it is easiest to automate in C++).
I basically allow shared ownership of immutable objects as
the only exception.
"Chris M. Thomasson" <chris.m.thomasson.1@gmail.com>: Dec 11 02:17PM -0800

On 12/11/2019 3:13 AM, James Kuyper wrote:
>> a serious memory leak issues and it was a slow as a dog. If that was a breath
>> of fresh air then god knows what you were breathing beforehand.
 
> As I remember it, NT almost never crashed,
 
One time I created a little program that would try to crash NT using a
build up of non-pageable memory. It took mem from the non-paged pool,
iirc. This can be done using IOCP. Each pending request is in
non-pageable memory. The result was a crashed system. This can happen in
a server using IOCP, its a real problem indeed. So, during server setup,
my test program tried to stress the system to certain breaking point(s),
then setup a configuration file that had the limits hardcoded.
 
 
You received this digest because you're subscribed to updates for this group. You can change your settings on the group membership page.
To unsubscribe from this group and stop receiving emails from it send an email to comp.lang.c+++unsubscribe@googlegroups.com.

No comments: