Linux-Advocacy Digest #249, Volume #30           Wed, 15 Nov 00 09:13:04 EST

Contents:
  Re: Most important computer program in the history of humanity (mlw)
  Re: OT: Could someone explain C++ phobia in Linux? (Ketil Z Malde)
  Re: Most important computer program in the history of humanity (mlw)
  Re: Uptime -- where is NT? (Giuliano Colla)
  Re: Uptime -- where is NT? (Giuliano Colla)
  Re: The Sixth Sense (Giuliano Colla)
  Re: OT: Could someone explain C++ phobia in Linux? (Michael Livshin)
  Re: A Microsoft exodus! (Curtis)
  Re: I WANT WIN2k drivers! (Curtis)
  Re: The Sixth Sense (Giuliano Colla)
  Re: The Sixth Sense ("Christopher Smith")
  Re: Uptime -- where is NT? ("Stephen Howe")
  Re: OT: Could someone explain C++ phobia in Linux? (Donovan Rebbechi)

----------------------------------------------------------------------------

From: mlw <[EMAIL PROTECTED]>
Crossposted-To: comp.ms.windows.advocacy
Subject: Re: Most important computer program in the history of humanity
Date: Wed, 15 Nov 2000 08:15:13 -0500

"Aaron R. Kulkis" wrote:
> 
> Moderator wrote:
> >
> > mmnnoo wrote:
> > >
> > > A Microsoft exec dubs Windows 2000
> > > "the most important computer program in the history of humanity"
> > > (http://www.businessweek.com/bwdaily/dnflash/nov2000/nf20001113_046.htm)
> > >
> > > Although this strikes me as ridiculous and somewhat offensive, I can't
> > > think of any other computer programs that really deserve the title, either.
> >
> > I remember before Win2000 came out, they dubbed Windows 2000 one of the
> > greatest works in the history of mankind, and compared it to the
> > pyramids of Egypt and some other things.  No joke.
> 
> The pyramids never crashed.
> 
Correction, they have an uptime measured in the thousands of years, with
an amazing rate of stability. Granted, this amount of uptime does tend
to fragment heaps and erode resources, but most pyramid 1.x systems are
still up. There were a couple early falures of pyramid 1.x, but this was
admin error.

-- 
http://www.mohawksoft.com

------------------------------

Subject: Re: OT: Could someone explain C++ phobia in Linux?
From: Ketil Z Malde <[EMAIL PROTECTED]>
Date: Wed, 15 Nov 2000 13:17:29 GMT

[EMAIL PROTECTED] (Donovan Rebbechi) writes:

>> Basically, you get products with all the pitfalls of C, in addition to 
>> a bunch of new ones.

> It's simply untrue that you get "all the pitfalls of C". 

Is too.  Every error possible in a C program is also possible in a C++ 
program.

> Not having OO or support for generics is a pitfall

That's not what I mean by a "pitfall". Shortcoming, yes.

> Again, C++ requires considerably less manual memory management than
> C. 

I wouldn't develop anything large in C either.

> Of course, one could make improvements on the run time system and take over
> memory management entirely. But there may be a performance penalty, and it 
> seems that usually there is.

Personally, I don't think the performance win is real for any
non-trivial program.  In most cases, I suspect the garbage collector
is smarten than I am.

> As for dynamic languages, programs written in these are full of 
> "dangerous implicit conversions" because one constantly reinterprets 
> objects or object references at runtime. C++ has stronger compile time
> protection features.

It's still pretty weak, and easily - and commonly - circumvented. 

>> It's not impossible to get it right, just very hard.

> On the contrary, it's much easier to get right than C.

Yes, but it is still very hard.

> Dynamic systems replace compile time errors with run time errors. 

However, they make incremental development and interactive testing
much easier - which tend to reduce errors.

> Not a good thing.

> BTW, how many of these "dynamic" systems are properly standardised ?

Most of them seem to be more so than C++, if that's what you mean.
E.g. the Common Lisp standard is 16 years old.

> Hahahaha ... I see. Yes, it's possible to shoot oneself in the foot in any 
> language, and C++ certainly makes it easy to do that.

Exactly.

C++ is probably fine if you know it well, and if you know how to use
it, and what to avoid.  However, too many C++ programmers are
amateurs, and design and code naively.  Too many have bought into the
notion that you can just use C, and incrementally move to C++.

> Try using something like Qt and you'll come back with a higher opinion of
> C++. 

Sure.  I'm not saying it's impossible, just that it takes talent,
skill and experience.

> >PPPS: If you really want critical opinions on C++, try
> >comp.lang.smalltalk, comp.lang.functional, comp.lang.lisp.

> Bjarne talks about the "two kinds of languages": those that nobody
> uses and those that everybody complains about.

Niles Frasier, on the other hand, thinks "popularity is the hallmark
of mediocrity".  I'm sure we can pass lots of clever quips back and
forth.  Nobody is disputing that there's a lot of C++ users out
there.  However, people are using more advanced systems, and
extremely successfully. 

While you may argue that the selection of contestants or the nature of 
the competition is slanted, I think it is interesting that none of the 
C++ entries in the ICFP contest went very far.

-kzm
-- 
If I haven't seen further, it is by standing in the footprints of giants

------------------------------

From: mlw <[EMAIL PROTECTED]>
Crossposted-To: comp.ms.windows.advocacy
Subject: Re: Most important computer program in the history of humanity
Date: Wed, 15 Nov 2000 08:18:47 -0500

mmnnoo wrote:
> 
> A Microsoft exec dubs Windows 2000
> "the most important computer program in the history of humanity"
> (http://www.businessweek.com/bwdaily/dnflash/nov2000/nf20001113_046.htm)
> 
> Although this strikes me as ridiculous and somewhat offensive, I can't
> think of any other computer programs that really deserve the title, either.

In all seriousness, I would have to say Multix is probably the most
important computer development ever.

Multix was the basis for much of UNIX, UNIX is the idealogical basis for
FreeBSD, HPUX, Linux, etc. I can't think of a single OS that does not
draw, in some way, from UNIX. (Except maybe CP/M)

-- 
http://www.mohawksoft.com

------------------------------

From: Giuliano Colla <[EMAIL PROTECTED]>
Crossposted-To: comp.os.os2.advocacy,alt.destroy.microsoft
Subject: Re: Uptime -- where is NT?
Date: Wed, 15 Nov 2000 13:18:54 GMT

Marty wrote:
> 
> Giuliano Colla wrote:
> >
> > Marty wrote:
> > >
> > > Jacques Guy wrote:
> > > >
> > > > Erik Funkenbusch wrote:
> > > >
> > > > > http://uptime.netcraft.com/hammer/accuracy.html#whichos
> > > >
> > > > > "Additionally, NT4 uptimes cycle back to zero after 49.7 days, and give
> > > > > timestamps exactly as if the machine had been rebooted at this precise
> > > > > point"
> > > >
> > > > Not to worry, only a clerical mistake. Should be 29.52 days, a lunar
> > > > month, but they got  pi wrong: 4.1316 instead of 3.1416 (approx), hence
> > > > the 49.7 days. Hey, everyone can make mistakes! (How did they get a
> > > > 49.7-day lunar month from pi = 4.1316? Search me. Probably another
> > > > clerical mistake. Or two. Or three. Don't worry. A service pack  will fix
> > > > it in the more or less distant future, if you live that  long)
> > >
> > > Here's where 49.7 comes from:
> > >
> > > Largest unsigned 32-bit integer = 4294967296
> > >
> > > The uptime counter is an unsigned long integer measuring the
> > > milliseconds of uptime.
> > >
> > > So 4294967296 milliseconds is 4294967.296 seconds.
> > >
> > > 4294967.296 / (60 seconds/minute * 60 minutes/hour * 24 hours/day)
> > > = 49.7 days
> >
> > Doesn't tell something the idea of counting uptime in milliseconds?
> > For win 9x I'd suggest microseconds as a suitable unit.
> 
> Aside from those amusing implications, it does serve another purpose being in
> milliseconds.  In OS/2, it is useful for measuring elapsed times with
> reasonable precision (better than the RTC, for example, which only measures in
> hundreths IIRC).

There are two issues, which are different in nature.
In any system you need a system clock to tell you how long
an operation takes, and its resolution must be adequate for
the purpose. I'm using the real-time extension for Linux and
it gives you a one nanosecond resolution. It's an overkill,
but it gives you a good reliability on microseconds, which
are important.
For server applications you need a totally different
resolution, because you're interested in more general
performance issues, where microseconds and milliseconds are
rather irrelevant while long term may become useful. The
burden to maintain such a counter is quite negligible.
However I don't expect to find it on desktop systems, I'd
expect to find it in systems which are sold as servers, such
as my NT4 server. Of course I can  easily implement it, but
if the supplier doesn't provide it by default, then I become
suspicious.

------------------------------

From: Giuliano Colla <[EMAIL PROTECTED]>
Crossposted-To: comp.os.os2.advocacy,alt.destroy.microsoft
Subject: Re: Uptime -- where is NT?
Date: Wed, 15 Nov 2000 13:21:11 GMT

Ayende Rahien wrote:
> 
> "Giuliano Colla" <[EMAIL PROTECTED]> wrote in message
> news:[EMAIL PROTECTED]...
> > Stuart Fox wrote:
> 
> > > uptime.exe
> > >
> >
> > I wasn't aware of its existence on the NT box (I only had
> > used it on *nix), but as soon as I read your posting, I
> > tried uptime on our file server box (NT4 sp4) and on the PC
> > on my desk.
> > Server result:
> >
> > C:\>uptime
> > The name specified is not registered as an
> > internal or external command, operable program or batch
> > file.
> >
> > The PC on my desk runs NT4 sp4 Italian version, so the
> > message was in Italian, but the content was exactly the
> > same.
> >
> > It appears that MS isn't so eager to have users measure
> > uptime of their stuff, isn't it?
> 
> It's in the resource kit, I believe.
> 
> Anyway, it's a child's play to write something that would measure uptime.
> GetTickCount() is the easiest way to do so.
> I can send you a file that does that.

Thank you, I can do it myself. What I noted is that on a NT4
server version it is not provided. Which I find suspicious.

------------------------------

From: Giuliano Colla <[EMAIL PROTECTED]>
Crossposted-To: 
alt.destroy.microsoft,comp.os.ms-windows.advocacy,comp.os.ms-windows.nt.advocacy
Subject: Re: The Sixth Sense
Date: Wed, 15 Nov 2000 13:34:30 GMT

Les Mikesell wrote:
> 
> "." <[EMAIL PROTECTED]> wrote in message
> news:[EMAIL PROTECTED]...
> >
> > > ILOVEYOU has nothing whatsoever to do with either a) IE or b) HTML-mail.
> >
> > My mistake, I don't know the specifics of ILOVEYOU as I never encountered
> > it.  I assumed it operated on the same bugs that so many other virii have
> > taken advantage of.  So replace ILOVEYOU with the virus of your choice
> > that IS related to the above problems, and the point is still valid.
> >
> > Is ILOVEYOU another one of the fireworks/south park attachment clones
> > instead?  If it's an attachment the user has to run manually, it's not a
> > virus...
> 
> Yes, technically it is a trojan that easily spread due to outlook hiding
> what it really contained and the fact that 'open' means 'execute'.
> It was named something like ILOVEYOU.TXT.vbs  which outlook
> truncated, and of course most people have never seen the vbs icon
> and expect 'open' in an application like mail to do what it does in
> other applications: load the data in and display it.

On IE the trick is even easier. Because IE uses the same API
of Outlook, which consider Open and Execute as a single
thing. But on an html page what you see is not what you get,
so you may have a link which you see as let's say
Microsoft.com, but actually launches an executable.

------------------------------

Subject: Re: OT: Could someone explain C++ phobia in Linux?
From: Michael Livshin <[EMAIL PROTECTED]>
Date: 15 Nov 2000 15:45:11 +0200

[EMAIL PROTECTED] (Donovan Rebbechi) writes:

> It's simply untrue that you get "all the pitfalls of C". Not having OO or
> support for generics is a pitfall of C that C++ doesn't have.

ITYM "shortcoming".  HTH.

> Manual memory management is something that is mostly eliminated in
> C++ (you only need it when you use polymorphism)

and if you don't use polymorphism, you lose one of the major supposed
wins of C++.

in my experience, competently implemented garbage collectors always
worked much better then manual memory management.

yes, even in C/C++.  and I speak from experience.

> As for dynamic languages, programs written in these are full of 
> "dangerous implicit conversions" because one constantly reinterprets 
> objects or object references at runtime.

I'm not sure what you mean by "dynamic languages" in the above
sentence.  the "dynamic languages" I know (Java (to some extent),
Lisp, Scheme, Smalltalk, E, etc) simply don't have the FUCKING STUPID
C/C++ "feature" of throwing object type information away once the
compiler is finished with the program.

this doesn't mean that the compiler cannot do some (or, in the Java
case, a lot, even too much to my taste) static type analizys.  it does
mean that the run-time state of your program is *not* an opaque jumble
of dumb bits.

> Dynamic systems replace compile time errors with run time
> errors. Not a good thing. BTW, how many of these "dynamic" systems
> are properly standardised ?

Common Lisp is an ANSI standard.  what's more, it is a widely,
completely and correctly implemented standard, something that cannot
really be said for C++.

Smalltalk is also standartized, I believe, but I'm less sure about
that.

and what exactly is wrong with run-time errors that can be recovered
from?  C++ run-time errors cannot be recovered from because C++
run-time environment is mind-bogglingly dumb.  this probably causes
you to fear run-time error handling a bit too much.

also, C++ type system is simply too weak.  you have to cast around it
to get non-trivially interesting behavior, thus rendering the
compile-time "protection" it gives you pretty useless.

look at the SML type system.  or Haskell.  these are much more
powerful, and really let you describe ontologically interesting
problems.  (I found using ML extremely painful, nevertheless, but many
people swear by it).

> IMO there are solutions that make genuine improvements over C++ in
> terms of solving its error-prone-ness (for example, java and eiffel)
> but they are not properly standardised and have their fair share of
> drawbacks.

one of Java's worst traits is the fact that it makes such a convenient
strawman for C/C++ proponents.  just mention manifest typing, and here
you are getting ridiculed as if you wrote "I love Java".  for the
record, I don't like Java.

> >> But to me, the absurdity of it all reaches a climax when people start 
> >> choosing C for OO programming.
> >
> >And adding functions to structs only goes a little way to alleviate
> >that. :-)
> 
> C++ adds constructors, destructors and runtime dispatch, not just
> "functions".

<southpark> yaaaaay </southpark>

C++ is a *laughable* object-oriented language.

> Hahahaha ... I see. Yes, it's possible to shoot oneself in the foot in any 
> language, and C++ certainly makes it easy to do that.

for no good reason, mostly.

> >PPPS: If you really want critical opinions on C++, try
> >comp.lang.smalltalk, comp.lang.functional, comp.lang.lisp.
> 
> Bjarne talks about the "two kinds of languages": those that nobody
> uses and those that everybody complains about.

don't confuse the lack of "wanted" ads with no use.

but that's not important here, as we are dicussing the technical
merits of languages.  your reducing this discussion to a popularity
DSW tells me that you concede the relevant points.

-- 
(only legal replies to this address are accepted)

This computer thanks you for your attention.
G O O D B Y E

------------------------------

From: Curtis <alliem@kas*spam*net.com>
Crossposted-To: 
comp.os.ms-windows.nt.advocacy,comp.os.ms-windows.advocacy,comp.sys.mac.advocacy,comp.os.os2.advocacy,comp.unix.advocacy
Subject: Re: A Microsoft exodus!
Date: Wed, 15 Nov 2000 08:52:22 -0500

Les Mikesell wrote...
> Simple things you do often enough to not want to read a book to find
> but not often  enough to memorize.   What's the option to 'diff' to tell
> it to ignore whitespace? Does the version of grep on this machine
> use -R for recursion? Does this machine's 'tail' use the -r option
> to display a file backwards or do you use the 'tac' command instead?

Did you just mention grep?!! This is getting from bad to worse. We're 
speaking about how novices go about finding their way around a computer 
and how this can be made as painless as possible, aren't we?

Look ... Linux/UNIX just doesn't cut it for the average user. Those are 
OS's for those in the know and will always be that way. A novice user 
will be intimidated, put through an unnecessarily involved learning 
experience to achieve the same goals as they can using Windows.

-- 
___ACM________________________________________________________
"A thing is not necessarily true because a man dies for it."

------------------------------

From: Curtis <alliem@kas*spam*net.com>
Crossposted-To: alt.destroy.microsoft,comp.os.ms-windows.advocacy
Subject: Re: I WANT WIN2k drivers!
Date: Wed, 15 Nov 2000 08:53:45 -0500

Milton wrote...
> Don't use second-rate OS's and you won't be easily disappointed.

Exactly. This is why I used OS/2, then WinNT, and now Win2k. I explicitly 
have avoided Win9x and Linux. :-) 

-- 
___ACM________________________________________________________
"A thing is not necessarily true because a man dies for it."

------------------------------

From: Giuliano Colla <[EMAIL PROTECTED]>
Crossposted-To: 
alt.destroy.microsoft,comp.os.ms-windows.advocacy,comp.os.ms-windows.nt.advocacy
Subject: Re: The Sixth Sense
Date: Wed, 15 Nov 2000 14:01:40 GMT

Les Mikesell wrote:
> 
> "Bruce Schuck" <[EMAIL PROTECTED]> wrote in message
> news:1RdQ5.126631$[EMAIL PROTECTED]...
> >
> > >
> > > If the filesystem had general purpose links and symlinks as unix
> > > has had for eons, you wouldn't need the limited-function concept
> > > of shortcuts.
> >
> > Limited function? Shortcuts are great!
> 
> If you don't know any better.  How do you make a shortcut to
> a directory.   Symlinks work just fine for this.
> 
> > > No, that's the point of making the script able to invoke it's
> interpreter
> > > with the command line flags it needs.
> >
> > How do you find you thousands of scripts? Through ls right? Archaic.
> 
> Why would I want to find them?  That's the job of the system and
> the PATH variable.   They are used as components of each other
> so looking at them is about as useful as seeing all the com objects
> in the system at once.
> 

I tried to follow the discussion, but at this point I'm
lost.

Thousands of scripts may give some problems, but thousands
of shortcuts are simply impossible.

I may have, if I want, a shortcut on my desktop, either on
Linux (it is called link) or on Windows, pointing either a
script (in Linux) or a batch file (on Windows). I may also
have a shortcut pointing to a folder which contains admin
stuff, or a folder tree containing admin stuff. And this I
can have on both systems.

But when I have hundreds, or thousands of admin functions, I
may have thousands of scripts, but I can't have thousands of
icons on my desktop.

At that point the power of unix scripts permits to build
much more powerful functions and can provide variations with
a few parameters, and much less pointing and clicking. That
way the number of scripts becomes manageable, as opposed to
an unmanageable number of shortcuts.

By the way on windows shortcuts only appear on desktop,
while on unix symlink may appear anywhere in a directory, so
you may organize a directory tree, composed of folders which
only contain links to your admin functions, in such a way as
to make search easy, ant to duplicate it in case of need,
with minimal effort and resource wasting.
If you really like pointing and clicking you can do it from
a GUI of your choice, if you are sane you'll just use CLI.
But on Linux and *nix, you have the choice, on Windows you
don't. I'd call it archaic!

------------------------------

From: "Christopher Smith" <[EMAIL PROTECTED]>
Crossposted-To: 
alt.destroy.microsoft,comp.os.ms-windows.advocacy,comp.os.ms-windows.nt.advocacy
Subject: Re: The Sixth Sense
Date: Thu, 16 Nov 2000 00:09:50 +1000


"." <[EMAIL PROTECTED]> wrote in message
news:[EMAIL PROTECTED]...
> > > Show me a machine without IE that's vulnerable to ILOVEYOU.
> > > It may be OE that handles attachments, but it's the IE 'technology'
that
> > > allowed the problem in the first place.  HTML-mail, followed by MS
> > > insecure scripting languages in HTML, followed by a lot of surprised
> > > people.
> >
> > ILOVEYOU has nothing whatsoever to do with either a) IE or b) HTML-mail.
>
> My mistake, I don't know the specifics of ILOVEYOU as I never encountered
> it.

Then why are you talking about it ?

> I assumed it operated on the same bugs that so many other virii have
> taken advantage of.

Such as ?

> So replace ILOVEYOU with the virus of your choice
> that IS related to the above problems, and the point is still valid.

Examples ?

> Is ILOVEYOU another one of the fireworks/south park attachment clones
> instead?  If it's an attachment the user has to run manually, it's not a
> virus...

Yes, it has to be run manually.  No, it's not a virus.  It's a trojan and,
as such, is possible under any OS.



------------------------------

From: "Stephen Howe" <[EMAIL PROTECTED]>
Crossposted-To: comp.os.os2.advocacy,alt.destroy.microsoft
Subject: Re: Uptime -- where is NT?
Date: Wed, 15 Nov 2000 14:08:40 -0000
Reply-To: "Stephen Howe" <[EMAIL PROTECTED]>

> windows OS's are designed for ease of use and not for staying up longest.
>
> you really can't have it both ways. If you want a pretty looking OS,
> you have to put up with a crash here and there. If you want a solid
> OS like unix, you have to put up with not having all those pretty windows
> on the desktop.

Nonsense. There is no reason why having a GUI and reliability cannot both be
achieved.

Stephen Howe



------------------------------

From: [EMAIL PROTECTED] (Donovan Rebbechi)
Subject: Re: OT: Could someone explain C++ phobia in Linux?
Date: 15 Nov 2000 14:09:19 GMT

On 15 Nov 2000 15:45:11 +0200, Michael Livshin wrote:
>[EMAIL PROTECTED] (Donovan Rebbechi) writes:
>> Manual memory management is something that is mostly eliminated in
>> C++ (you only need it when you use polymorphism)
>
>and if you don't use polymorphism, you lose one of the major supposed
>wins of C++.

I'm not saying you should use C++ without polymorphism. I'm pointing
out that you don't need to use much manual memory management in C++.

For example, if I'm programming with Qt, I only need to take care of
top level widgets. 

Surely, this is an improvement over having to manage every string.

>> As for dynamic languages, programs written in these are full of 
>> "dangerous implicit conversions" because one constantly reinterprets 
>> objects or object references at runtime.
>
>I'm not sure what you mean by "dynamic languages" in the above
>sentence.  the "dynamic languages" I know (Java (to some extent),
>Lisp, Scheme, Smalltalk, E, etc) simply don't have the FUCKING STUPID
>C/C++ "feature" of throwing object type information away once the
>compiler is finished with the program.

I'm not sure what you mean here. C++ does have rtti, but it's often
not used. Explicitly identifying classes instead of using polymorphism
is a sloppy programming practice.

BTW, the Qt object system add more run time type information. I don't think
that's a terribly good thing, but the point is that there are development
frameworks for C++ that do add more runtime information to types.

>> Dynamic systems replace compile time errors with run time
>> errors. Not a good thing. BTW, how many of these "dynamic" systems
>> are properly standardised ?
>
>Common Lisp is an ANSI standard.  what's more, it is a widely,
>completely and correctly implemented standard, something that cannot
>really be said for C++.
>
>Smalltalk is also standartized, I believe, but I'm less sure about
>that.

It's not terribly well standardised.

>and what exactly is wrong with run-time errors that can be recovered
>from?  C++ run-time errors cannot be recovered from because C++
>run-time environment is mind-bogglingly dumb.  

C++ has exceptions. You can certainly recover from run time errors in C++.

Since we were comparing it to C, it's certainly a lot easier to recover
from run time errors in C++ than it is in C.

>also, C++ type system is simply too weak.  you have to cast around it
>to get non-trivially interesting behavior, 

No you don't.

>but that's not important here, as we are dicussing the technical
>merits of languages.  your reducing this discussion to a popularity
>DSW tells me that you concede the relevant points.

I don't concede anything, and I'm not reducing it to a "popularity"-anything.

The point is that something that is widely used is more likely to attract
criticism than something that is only used by its passionate advocates.
The fact that C++ is criticised is more a reflection of the fact that it
is used outside a small core of passionate advocates.

-- 
Donovan

------------------------------


** FOR YOUR REFERENCE **

The service address, to which questions about the list itself and requests
to be added to or deleted from it should be directed, is:

    Internet: [EMAIL PROTECTED]

You can send mail to the entire list (and comp.os.linux.advocacy) via:

    Internet: [EMAIL PROTECTED]

Linux may be obtained via one of these FTP sites:
    ftp.funet.fi                                pub/Linux
    tsx-11.mit.edu                              pub/linux
    sunsite.unc.edu                             pub/Linux

End of Linux-Advocacy Digest
******************************

Reply via email to