From: Brian Muth on
From those of us in the bleachers keeping score:

Alex Blekhman: 2
Stephen Howe: 3
Robert Macy: 0

Brian



From: Robert Macy on
John,

Thank you for your excellent, well thought out, and extremely
informative reply.

It is copied and stored with my C++ Documentation files for further
reference. I greatly appreciate the time your response took. Yes,
Windows "landscape" is very unfamiliar.

It's just that everything at once is a bit daunting. New to C++, new
to real-time programming, new to Windows platform. So it is difficult
to even understand the information.

My goal is to accomplish the present task and to do it within a
"generalized" framework [not relying too much on any special
idiosyncracies]. Don't want to accidentally build in any bad habits
using libraries that may someday be deprecated.

For example, I first thought that the free line command compiler was
slightly crippled, causing the code to run a bit slow. This seemed
reasonable. There in, should lie the "magic". I would expect to pay
in the range of $3K to $15K for "real" tools. Ok, at least I can test
run and kick the tires so to speak. I then posted a bench mark section
of code for others [with whiz bang systems] to try to see how much
improvement I should expect. I found that the "naive" code I had
written was 6 times faster than *anybody's* else's code using
"standard" approaches, relying on built in libraries, etc.

The implication is: What you get when you pay for software is NOT
performance, but ease of coding. Crutches, methods, but, sadly, not
performance.

Ok, I can live with that, too.

What happened to me was that not understanding much of anything about
this stuff, I quickly embraced any writing, any samples, that made
sense, or seemed to relate to what I was doing. In other words, I
oriented toward literate explanations. Yes, there are sample programs
contained in platform SDK, but they are absolutely incomprehensible to
me.

I will stay away from distractions, like ATL, MFC, and .NET, since I
have no intrinsic desire to pursue programming in any form, be it MFC,
ATL, or .NET. I really need to simply accomplish this task.

It is still very surprising that at least some response in a search for
atlstr.h at the MS website did not uncover the simple statement "Thank
you for looking, but atlstr.h comes with our purchased software, some
form of Visual Studio."


John, would you contact me off group, so I can tell you more detail of
this project and make certain that I do have all the tools necessary
and am not headed down a blind alley?

macy ..AT.. california ..DOT.. com

- Robert -

From: Robert Macy on
Stephen Howe wrote:
> I don't work for Microsoft and am not an MVP.
> But your position is not reasonable.

It is NOT unreasonable to expect some kind of response to a search at
MS website for atlstr.h

At least something like, "Glad you asked, but that only comes in
purchased software, and you'll really like it." Just some infomation
at least. Marketing, are you listening? You're missing opportunities
here.

>
> > Historically, I've been trying to learn about threads, ran across a
> > sample program with the header file atlstr.h which I couldn't find,
> > hence the sample did not compile.
>
> So?

History of the problem. I assumed most readers of this group are not
mind readers and information is helpful, if even redundant.

> I ran across a sample DOS program. At one time Microsoft supported
> generation of DOS programs. Should I claim VStudio is incomplete because I
> cannot produce DOS programs?

Huh? Don't answer, don't care.

> I ran across a sample OS/2 program. At one time Microsoft supported
> generation of OS/2 programs. Should I claim VStudio is incomplete because I
> cannot produce OS/2 programs?
>
> I ran across a sample Win32s program. At one time Microsoft supported
> generation of Win32s programs (VC 4.0 was last one). Should I claim VStudio
> is incomplete because I cannot produce Win32s programs any more?

It turns out, I really have NO form of Visual Studio, but did not know
it.

> You will find that with each generation of Visual Studio, things are being
> dropped off, usually the stuff for producing executables many generations
> ago. That is perfectly normal.

All the more reason to not get used to "crutches"

> > For 3 days now I have been trying to find atlstr.h
>
> Then I would fire you. 3 days is too long.

Yes, 3 days is TOO long. My financial controller hit the ceiling. But
I assuaged their anger after presenting the long list of activity in
lurid detail. Their response? Dump Microsoft Products.

> > The description of this massive quantity of time consuming download
> > described itself as "complete" and "all that is necessary to".
>
> Right. But when you say "complete", is it your understanding that the
> compiler is capable of producing all executable types, for all Microsoft
> OS's, right back to DOS 1.0? That is probably not your understanding.
> "Complete" may mean (and this is my understanding), that it contains all
> that is necessary to produce .NET programs, nothing more. Or Win32 programs,
> nothing more. And that may mean no-frills tools. I think you are being naive
> or disingenous to think otherwise.

I expected "crippling" in some form, but not missing WITHOUT TELLING
ME!

> MFC & ATL are just icing on the cake.
> They are *NOT* necessary to produce Win32 programs.
> And every bit of their functionality can be duplicated for any Win32
> program.
> And they are certainly *NOT* necessary to study threading in Windows.

Thank you. There is hope after all.

> > As a sensible person I was under the impression that what I had *was*
> > crippled enough. Having a lousy line command compiler...
>
> I don't think it is lousy.
> It is pretty close to the ISO C++ standard
> It produces damn good optimisation
> And VStudio Express is free.
> To me, it is outrageous, simple outrageous that you grumble.

Yes, I was VERY surprised at the quality of code that came out of the
compiler. Didn't appear to be "crippled" at all.

> > *and* no IDE and
> > no coherent documentation.
>
> There is online documentation. It is not perfect, no, but it is reasonable.

I wish that documentation had included a simple statment regarding
where is and how to obtain atlstr.h

> Not really. I found out, from the FAQ, that VStudio Express did not come
> with MFC & ATL after 10 minutes checking. I purposely looked at the FAQ
> becuase I was sure Microsoft had left something out and I wanted to find out
> what it was. Why didn't you?

I didn't know I needed Visual Studio, why would I read FAQs about it?
[rhetorical question]

> > It has taken much time and the valuable help, luckily supplied by
> > people like yourself...
>
> <laugh> Well those people are criticising you for your naive expectatations.

Possibly, but I still got excellent help in spite of a bit of ridicule.
And the quality of help I get is directly proportional to the inverse
of the amount of ridicule. Meaning: little ridicule = Big Help

> >..., to tell me what Microsoft should have already
> > told me and had as ready information for their potential customers. I
> > must be very old fashioned to think that it is the VENDOR's
> > responsibility to educate their consumer.
>
> You must be walking around in diapers or nappys to expect Microsoft to
> permanently hold your hand.

Permanently?! How about ONCE?!

>From reading some of the responses you've provided to Usenet readers,
your expertise is a bit advanced for where my abilities are right now.
But you did confirm a critical bit of information: No need for ATL,
MFC, etc Win32 API can be totally controlled with available tools.
Good news, indeed.

- Robert -

From: Robert Macy on
In spite of this gauntlet of hazing, the result has still been some
very valuable information and excellent future consultant contacts.

- Robert -

From: Stephen Howe on
> It is NOT unreasonable to expect some kind of response to a search at
> MS website for atlstr.h
>
> At least something like, "Glad you asked, but that only comes in
> purchased software, and you'll really like it."

That is not reasonable. There are 1000's of files that comes with Visual
Studio or Visual C++, should every file be listed as to which product(s) it
is available under? Just because you formulate a question, does not mean it
is reasonable question, nor should MS spend time wrinting documents to
answer it.

> Yes, 3 days is TOO long. My financial controller hit the ceiling. But
> I assuaged their anger after presenting the long list of activity in
> lurid detail. Their response? Dump Microsoft Products.

When you do

#include <stdio.h>

the angle brackets in both C and C++ means that it searched for an
implementation-defined manor.
That is in both ISO C & C++ standards (I checked). There is absolutely no
reason that the directories searched are the same for different versions of
Visual Studio. And over time I know for a fact that where the installation
program for Visual Studio parks things in terms of directories, changes. So
your expectation that Microsoft "documents this" is unreasonable. Theey
would have carry documentation for many previous versions of Visual Studio.
And since I know what

#include <stdio.h>

does, I don't care where it is located. Futhermore, for some C and C++
compilers, there is no reason, at all, for stdio.h to be a file. I remember
with one previous version of Visual Studio, MFC and ATL headers were in
separate directories. Now they are not.

> I expected "crippling" in some form, but not missing WITHOUT TELLING
> ME!

Yes but a quick file find should have established that none of the other MFC
or ATL header files are present on your computer. Your next thought should
have been "Does MFC or ATL come with any of the Microsoft products I have
installed?", a quick Google and you would know the answer.

> I wish that documentation had included a simple statment regarding
> where is and how to obtain atlstr.h

I think it is wrong question. Otherwise there is nothing to say about any
other header than Microsoft has issued in past - simple statement how can it
be obtained. The number of headers must be millions being conservative.

And it is not just headers but the associated libriares they pair with (and
possible DLLs).
Without those you are stuffed. A header is useless in isolation.
And a header is useless if you don't have the correct matching libraries.
You will run into "undefined symbols" on linking.

> > Not really. I found out, from the FAQ, that VStudio Express did not come
> > with MFC & ATL after 10 minutes checking. I purposely looked at the FAQ
> > becuase I was sure Microsoft had left something out and I wanted to find
out
> > what it was. Why didn't you?
>
> I didn't know I needed Visual Studio, why would I read FAQs about it?
> [rhetorical question]

Not rhetorical. You wanted to use the C++ compiler => you should have read
the FAQ on it.
A few paragraphs ago you were grumbling about missing documentation, now you
saying you don't need to read documentation that is available by Microsoft
on the product you are trying to use. Seems inconsistent to me. The FAQ on
any new product (and the README.TXT/README.HTM) are the first thing to read
just in case there are last minute "gotchas" I need to know about. So 3 days
to find out what you needed to know seems excessive.

Before you go, answer me 2 questions

1) If your position on missing header locations is so reasonable, how is it
I can find no one else using Google Groups that has ever raised this as a
question before? And I have looked.

2) And if the missing header locations is so reasonable, how is it I find
not one auxilary web site that rushes to cover Microsofts "glaring omission"
over the location of atlstr.h? Feel free to point them all out (or even
one).

Stephen Howe