Linux-Advocacy Digest #22, Volume #27 Sun, 11 Jun 00 09:13:05 EDT
Contents:
Re: Would a M$ Voluntary Split Save It? ("Daniel Johnson")
Re: Open Source Programmers Demonstrate Incompetence (2:1)
Re: Linux faster than Windows? (Christopher Browne)
Re: Linux & Winmodem ([EMAIL PROTECTED])
Re: IE for Linux (2:1)
Linux newbie requires advice..... ("Alistair G. MacDonald")
----------------------------------------------------------------------------
From: "Daniel Johnson" <[EMAIL PROTECTED]>
Crossposted-To:
comp.os.os2.advocacy,comp.os.ms-windows.nt.advocacy,comp.sys.mac.advocacy
Subject: Re: Would a M$ Voluntary Split Save It?
Date: Sun, 11 Jun 2000 12:41:36 GMT
"Bob Hauck" <[EMAIL PROTECTED]> wrote in message
news:[EMAIL PROTECTED]...
> On Mon, 05 Jun 2000 22:58:14 GMT, Daniel Johnson
> <[EMAIL PROTECTED]> wrote:
> >I rather thought that was the point in dispute: you felt that templates
> >were no better than macros. Was I mistaken?
>
> Well, we started with you saying something like "templates let you
> write C++ code that's faster than C due to opportunities for massive
> inlining". I said that templates were ugly and didn't really provide
> any speed increase over macros. Then we got into which was uglier,
> templates or macros.
I see. I seem to have become confused. Let me try that again.
It was put forward that C++ could not be used for OS work because
it was too slow. I want to argue that it can so be used for OS work,
and even if you use some of its 'advanced' features, this does not
mean it is too slow.
Templates are a case in point, since by using them the compiler
can autogenerate and inline vast tracts (tm) of boilerplate code. How
this works is amply demonstrated by the STL.
It is not that it is *impossible* to write equivalent C (inlining included);
it is just impractical. Macros help, but I do not think it is possible to
match
templates using them.
> >Well, I am not sure what you mean. I don't see any harm in basing an
> >entire "programming paradigm" around them so long as I am not
> >constrained to use that same paradigm everywhere, or even throughout
> >an entire project.
>
> >But is it still a "paradigm" if i pick and chose?
>
> It sounded like you were advocating using templates pretty much
> everywhere you could.
That isn't really what I meant. It's just that I'm easily distracted and
I go off on digressions. :D
[snip]
> >I'm not familiar with any that completely avoid such wizardy. Could
> >you point me to one or two?
>
> Well, "completely" is pretty strong. I don't know of any that don't
> use _any_ macros for instance. I've already pointed you to a few that
> don't use templates.
Well, yes, but now I've forgotten what that is supposed to prove. :(
[snip]
> >> Ah, yes. Static typing. It can catch certain kinds of programming
> >> errors, while at the same time making your life difficult in other
> >> ways.
> >
> >It makes your life difficult *if* you use a methodology that isn't
> >on good terms with static typing.
> >
> >My feeling is that if you are doing that, you should not be
> >doing it in C++. You should use the right tool for the job.
>
> Like C? That sounds like a good plan to me <g>.
C has few advantages over C++, really. It's not quite a subset
of C++, but it is close. I was thinking of Java or Eiffel or Smalltalk
or Lisp or something.
> >> Is it a common error to pull something out of a
> >> container and treat it as the wrong thing?
> >
> >Maybe not. I suspect it will depend heavily on whether
> >you are sticking to homogenous containers or not.
>
> Well, yes. But if it isn't homogenous, then you need to identify types
> again and we're back to RTTI or some custom solution. This is true
> regardless of whether the container is template-based.
Well, you can have heterogenous containers where all the contents
are subtypes of some common type, and if you just use the methods
of the common type then everything works fine in a language with
Simula-style typing, like C++.
But if you want to call *aribtrary* methods without considering type,
you need something more like Smalltalk. It's that or great heaping
gobs of RTTI, as you suggest.
> >You seem to have switched silently to arguing that
> >"generic containers are not better than object-based
> >containers".
>
> As a way of showing why I don't think templates are needed as much as
> they seem to be used.
I do not think its a good argument; you can point out that generic
containers
only support *some* programming styles- but that is true of pretty much
any construct. They do support some styles, and object based containers
don't support those styles well.
> >That's fine, but you are no longer doing it Smalltalk style if you
> >do that. Smalltalk *does* check the reasonableness of what you are
> >doing, but it does it at run time.
>
> Yes, and it has overheads that are not particularly less than those
> that C++ has with RTTI.
Sure. There aint no such thing is a free lunch.
> >Frankly, I'm not confortable with leaving the check out completely;
> >I'd want something, somewhere, sometime to verify that I'm
> >not mixing types inappropriately.
>
> // smartass solution
>
> #ifdef DEBUG
> #define mycast dyamic_cast <whatever>
> #else
> #define mycast (whatever)
> #endif
:D
You should make that second #define this:
#define mycast static_cast<whatever>
That should give you an error if you ask for a cast that
*can't* be done without RTTI. (There are some; they involve
virtual base classes, and are unavoidably expensive.)
> >> I don't see any particular problems with Smalltalk-style containers
> >> that macros help to solve. You really want to set this up as macros vs
> >> templates, don't you? That's the easy argument to win after all.
> >
> >Well, I recall you saying that templates were not appreciably better;
>
> Than macros, yes. Which does not make macros a good thing or my tool
> of choice. I was saying that I prefer to use object-based containers
> rather than generic ones, thus avoiding both macros and templates.
Okay. I'm saying that templates *are* appreciably better for generic
containers. Perhaps this is irrelevant to you, since you don't use
such containers, but I sure do.
> Actually, for containers it is a tougher call given that the STL exists
> and I don't have to buy or invent an equivalent. But my preference is
> an OO style of programming rather than a generic-programming one.
There are several different styles that call themselves "OO"; some
are *spectacularly* badly suited for C++. Maybe you are using one
of them. :D
[snip]
> Well, yes, I am arguing against using inlining a great deal, which I
> though you were justifying on the basis that code bloat is not a big
> worry any more. Well, to Microsoft anyway.
I was suggesting that MS wasn't scared of the executable bloat
that C++ is known for. I didn't mean to say there were necessarily
*right*. :D
[snip]
> >It's only for "marketing purposes" if you think "solving the immediate
> >needs to customers" is "marketing".
>
> It was an "immediate need" that quickly evaporated for the vast
> majority of users.
Yes.
> Vendors did in fact come out with 32-bit drivers in
> a timely manner. On top of that, when people did use DOS drivers they
> quickly found that they made the system slow and unstable. I recall
> many a lunch-hour conversation that revolved around "if you get the new
> drivers it'll quit crashing like that".
Yes.
> I think this is one of those cases where marketing said "the customers
> will insist on this", and maybe they did insist (even though nobody
> asked me at least),
Well, they have consistantly refused to use products that aren't
compatible with whatever they were using previously.
> but they did so not knowing the consequences.
That or not caring. :D
> This
> tends to be a common problem with features requested by marketing, that
> are usually already promised to the users by the time engineering hears
> about them, but that's another post.
I love it when that happens. :D
> On top of that, only a minority
> of users ever upgrade their OS, so you're letting the needs of a small
> minority drive the whole design.
Well, it is the minority that buys your product, so that's not
surprising. :D
More importanlty, you *need* those early adopters; you can't expect
to get bundling deals and the like if nobody uses your product.
> Still, it made sense from a business point of view. They didn't want
> to cause people to think they were being abandoned, plus they wanted
> "32 bit power users" to go to NT anyway.
Yes.
I think the only place where we disagree, is that I think Microsoft
made the right decision.
> >I see. I think switching IDEs that often is atypical outside of the
> >embedded area though.
>
> Probably, but that is what I do. This is one reason I like embedded
> work. It has variety.
Well, okay. But it argues against sophisticated (read: hard to learn)
IDEs, and I think that's an unusual case.
> I do think it would do many programmers a lot of good to be forced to
> switch platforms and/or development environments a couple of times
> early on in their careers. It is a broadening experience.
Sure. I've worked on Macs, Unix, and now Windows. These platforms
do have some things in common- like having tons of memory.
> Portable
> code and tools start looking like good ideas. Better to learn that up
> front than wait until your platform is dying.
Well, yes, sort of. Portability is a plus; it can make your life
easier when The Big Day comes and you have to
target a new platform. But that doesn't mean it has to be
the top priority, or that you should limit yourself to primitive,
but widely available tools.
> >What's it [visual studio] lacking that you need?
>
> Does it come with version control, or do I still need to buy that
> Visual Sourcesafe thing?
Visual SourceSafe is included in the more expensive
versions. The "standard" (ie, suckfull) edition doesn't have it.
Then again, it doesn't have an optimizer either.
> I don't necessarily need distributed vc for
> projects with 50 programmers (although CVS works fine and is free),
> just a few users with a shared repository on a LAN.
That is basicaly what Visual SourceSafe does.
> Can it build multiple targets using different compilers?
No. You are doing cross-development? I shouldn't be surpised;
you'd expect that with embedded work.
> How hard is
> it to make it use another compiler, and still be able to grok the error
> messages and such?
It's not that hard to use a different compilers- such things are sold- but
if they don't put out error messages in MSVC's form, using
MSVC's error numbers, it won't 'grok' them properly. It can print
them, but that's it.
> Can it invoke scripts or batch files or something
> to generate code, and then compile said code as part of the project?
I don't think so. This is a feature I've wanted!
> Can it run on Linux? Solaris?
No way, Jose.
> >That is the conventional wisdom. I'm a little cynical about it, but
> >that's probably because I write software for a living that is actually
> >run on 486s more often than not, so I'm a bit out of sympathy
> >with the "don't worry it'll be fast enough with next years chip."
This, by the way, also explains my reluctance to accept to
conventional wisdom that MS somehow *makes* users
upgrade their systems to expensive new Pentium IIIs
with Windows 99 Fourty Third Edition.
Oh, if only it was true. If only...
> I've recently worked on a 2 MHz (buss speed, clock is 8 MHz) 68hc11
> microcontroller project (64K address space, integrated peripherals, cpu
> is similar to a 6809).
Owowowowowow.
> I feel your pain, squared <g>. A "normal"
> system in my line is a Coldfire or Power PC with 4 MB RAM, 8 MB of
> flash, and no virtual memory.
Well, I have it better than you then. We target starting at 8MB
486s with Windows 95 (and hence, VM) and about 40 MB of
free disk. It goes up from there.
> If the system can run NT, then we
> consider it to be "huge".
NT can run on an 8MB 486 if you are patient with it.
It's kind of like the Buddha acheiving enlightenment
under the Bohdi tree: It takes fourty days just to get going. :D
> >> The kernel developers can explain why C++ isn't used for Linux much
> >> better than I, but speed is not the reason.
I've been search the archive formerly known as DejaNews for this;
what I find is that C++ isn't used for Linux because C *was*
and retrofitting support for C++ exceptions would be a large
task (ie, the C parts of the kernel would have to know how to
unwind their stacks safely).
There don't seem to be any other particularly sensible reasons:
a lot of "oh, but C++ doesn't *really* add anything" and "C++
requires a big runtime." and that sort of thing.
The only solid reason seems to be exception support, and
NT already has that as an OS thing.
So it would seem like C++ in NT's kernel would not be
a big problem.
In fact, some posters on TAFKADN have shown that
you *can* put C++ in the Linux kernel with a rather
modest amount of work implementing operater new()
et al. But you do still have to be careful with exceptions.
> >We were actually talking about Windows 2000. :D
>
> Well, yeah, but you can actually look at the source for Linux and
> critique the design. With W2K you only get to critique what they say
> the design is, which isn't often the same thing at all after passing
> through the marketing filters.
:D
Not everything from MS passes through the same filters. I commend
you to MSDN (http://msdn.microsoft.com) if you are interested.
The "Knowledge Base" does contain those marketing inspired
articles (NT is a microkernel! really!) you mention, but the rest is
actually a different story.
------------------------------
From: 2:1 <[EMAIL PROTECTED]>
Subject: Re: Open Source Programmers Demonstrate Incompetence
Date: Sun, 11 Jun 2000 13:45:33 +0100
>
> These, of course, are just code snippets. But one really has to wonder -
> if the Linux community cannot get trivial functions to work properly,
> reliably, and efficiently, how can we possibly expect them to get the
> complex things right?
Right. So some incompetent posts a bit of code to a `anyone can pose
code here' thing and this has implications for the best OSS programmers
out there? I can't agree with you. Anyone would be unwise to use a brand
new library on animprotant project that hed recieved no reviews.
-Ed
> Indeed, Mozilla, which is very possibly the
> slowest computer program ever created, was probably written by a whole
> army of open source zealots who would use 6 expensive function calls
> per character in a large input stream to reverse a file. Linux crashes
> so much because code like the first quoted function is all over the
> kernel. The rest of the apps are prone to constant failure because of
> their own miscellaneous failings. Obviously, as these examples show,
> the community is not to be trusted to produce the best software.
>
> Sent via Deja.com http://www.deja.com/
> Before you buy.
--
The day of judgement cometh. Join us O sinful one...
http://fuji.stcatz.ox.ac.uk/cult/index.html
------------------------------
From: [EMAIL PROTECTED] (Christopher Browne)
Subject: Re: Linux faster than Windows?
Reply-To: [EMAIL PROTECTED]
Date: Sun, 11 Jun 2000 12:47:09 GMT
Centuries ago, Nostradamus foresaw a time when Pete Goodwin would say:
>[EMAIL PROTECTED] (Charlie Ebert) wrote in
><[EMAIL PROTECTED]>:
>
>>I want to say that I'm not against the idea of anybody writing their own
>>speed test program in C and then carrying it across several OS's.
>>
>>What I'm against is somebody who writes one which runs for just 6
>>seconds and then posts it to the newgroup in some triumphant exercise of
>>futility.
>
>I ran it several times, and got more interesting results:
>
>Windows 98 SE Linux
>
> 6 6
> 8 6
> 8 5
> 8 5
> 7 5
>
>From these results, Linux is running faster than Windows 98 SE. However, it
>is not running three times faster than Windows 98 SE. I don't need an
>extensive test to see that.
>
>>If your going to write a test, the test should run for at least 10
>>minutes duration. The test should include File I/O both sequential and
>>random writes and reads, which over 3 files of varying sizes where these
>>three files are exercised at least 6 times. Then the test must include
>>video diplays of some kind, simple text scrolls would be nice with
>>colors. Then the test should compute the prime numbers between say
>>1,000,000 and 3,000,000, just for a good math exercise and store the
>>results into tables in memory. You could produce one of the 3 test files
>>using the results of this math.
>
>I also tried the Dhrystone test - that shows Linux is 10% slower than
>Windows 98 SE. I've also heard from others who have run benchmarks on Linux
>and they claim a spread of results where Linux is always slower than
>Windows 98 SE.
>
>>You MUST give the machine an exercise in order to determine who has
>>the best OS.
>>
>>We had a comprehensive insurance industry standards test which lasted
>>almost 4 days and that's why we've proven Linux is 2 times the speed of
>>NT in handling 200 applications doing this kind of testing running
>>simultaneously.
>
>If Linux is twice as fast as Windows, why does it not show up as such in
>the admittedly limited tests I've done? Why does Dhrystone show Linux as
>running 10% slower than Windows?
Taking a wild guess, what's likely to be "three times faster" is where
you're running a relatively I/O-intensive application, where Linux, by
more aggressive cacheing, keeps data in memory, and doesn't have to
hit disk as often.
All indications seem to be that there _aren't_ dramatic improvements
to be had by switching platforms for applications that are CPU-bound,
and which are single-threaded.
[The fact that Linux "does SMP" means it could be several times faster
on a highly parallelizable algorithm, when running on SMP hardware
where Windows 9x has _no_ ability to harness extra CPUs...]
--
[EMAIL PROTECTED] - <http://www.hex.net/~cbbrowne/>
"Usenet is like a herd of performing elephants with diarrhea; massive,
difficult to redirect, awe-inspiring, entertaining, and a source of
mind-boggling amounts of excrement when you least expect it."
-- Gene Spafford (1992)
------------------------------
From: [EMAIL PROTECTED]
Subject: Re: Linux & Winmodem
Date: Sun, 11 Jun 2000 12:38:02 GMT
In article <[EMAIL PROTECTED]>,
Secretly Cruel <[EMAIL PROTECTED]> wrote:
> On Fri, 9 Jun 2000 13:20:51 -0600, Jody Lowes <[EMAIL PROTECTED]>
> wrote:
>
> l boot and download with windows if that's
> >the only option. I do, however, suggest that you pick up a real
modem.
> > I haven't used my USR winmodem since I installed Linux. You
wouldn't believe
> >how much that particular modem slows down the whole system. It's
aweful. I
> >have a PII 350 that used to get bogged down in windows if I had a
few IE
> >windows open. I originally thought it might just be windows but I
had no such
> >problems, in windows, when I hooked up my external modem. It really
is a bad
> >modem to buy.
> > BTW, I picked up my external modem for around 20 bucks on eBay.
It kicks ass
> >too. :)
>
> eBay rocks. I didn't get my ext. modem quite as cheaply as you did,
> but it cost half of retail and was still in the unopened box. I could
> not believe the difference in speed when running Windoze.
Did you remove the winmodem component and use the external modem for
both windows and Linux? Or keep both - one for W and one for Linux?
If so, I assume this wouldn't cause a problem under different operating
systems....
Sent via Deja.com http://www.deja.com/
Before you buy.
------------------------------
From: 2:1 <[EMAIL PROTECTED]>
Subject: Re: IE for Linux
Date: Sun, 11 Jun 2000 13:53:48 +0100
Charlie Ebert wrote:
>
> On Fri, 09 Jun 2000, Pedro Coto wrote:
> >I'd like to have IE 5.0 (and above) for Linux, do you think it
> >will be available if Microsoft splits ? If it is free I have nothing
> >more against using it that against using Staroffice or Netscape.
>
> While we're on the subject:
> I wouldn't count on any more free IE for Microsoft users.
>
> It just wouldn't pay-off like it did before.
>
> Accordingly, I wouldn't expect a free IE for Linux either.
If they want to try to get control over the web, they have to give it
away for free (after steeing a precident to get rid of Netscape)
-Ed
>
> Charlie
--
The day of judgement cometh. Join us O sinful one...
http://fuji.stcatz.ox.ac.uk/cult/index.html
------------------------------
From: "Alistair G. MacDonald" <[EMAIL PROTECTED]>
Subject: Linux newbie requires advice.....
Date: Sun, 11 Jun 2000 14:00:03 +0100
This is a multi-part message in MIME format.
=======_NextPart_000_002E_01BFD3AD.56EDEF20
Content-Type: text/plain;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Have copies of SuSE 6.4, Mandrake 7.0 and Corel - which one would
people recommend installing? What are the main differences between
them? What's the first few things I should do after installing Linux??
Replies preferred by email.
Thanks.
--=20
Alistair G. MacDonald
[EMAIL PROTECTED]
=======_NextPart_000_002E_01BFD3AD.56EDEF20
Content-Type: text/html;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META content=3D"text/html; charset=3Diso-8859-1" =
http-equiv=3DContent-Type>
<META content=3D"MSHTML 5.00.2722.2800" name=3DGENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=3D#ffffff>
<DIV><FONT face=3DArial size=3D2>Have copies of SuSE 6.4, Mandrake 7.0 =
and Corel -=20
which one would</FONT></DIV>
<DIV><FONT face=3DArial size=3D2>people recommend installing? What are =
the main=20
differences between</FONT></DIV>
<DIV><FONT face=3DArial size=3D2>them? What's the first few things I =
should do after=20
installing Linux??</FONT></DIV>
<DIV> </DIV>
<DIV><FONT face=3DArial size=3D2>Replies preferred by =
email.</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT> </DIV>
<DIV><FONT face=3DArial size=3D2>Thanks.</FONT></DIV>
<DIV><FONT face=3DArial size=3D2><BR>-- <BR>Alistair G. MacDonald<BR><A=20
href=3D"mailto:[EMAIL PROTECTED]">[EMAIL PROTECTED]</A></FONT></D=
IV></BODY></HTML>
=======_NextPart_000_002E_01BFD3AD.56EDEF20==
------------------------------
** 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
******************************