Re: bind()



Norman Diamond wrote:
> "Eugene Gershnik" <gershnik@xxxxxxxxxxx> wrote in message
>
>> and to document everything (it is not Win32 standard).
>
> Well now we have a huge disagreement.  Lots of people including
> Microsoft employees and others DO think that MSDN is the Win32
> standard (and .Net standard etc.).

Well, they are wrong. There is a huge difference between standards like 
POSIX, various RFCs, C++ language and informal API description like Platform 
SDK or .NET SDK portion of MSDN.

Standards are quasi-legal documents. They spell in detail what MUST, MAY or 
SHOULD (to use one popular naming scheme) be supported. You can validate a 
given implementation against a standard and decide whether it conforms. When 
an implementation behaves differently from a standard it is usually 
considered an implementation bug. (There could be bugs in a standard too but 
this usually means that no reasonable implementation is possible)

Now compare this with Win32. MSDN simply sort of describes what it does. 
There are no constraints on what Win32 must, may or should do. MS can drop, 
add or modify any feature tomorrow and this would simply be the new Win32 
rather than non-conformant behavior or extension. When Win32 behaves 
differently from MSDN it is usually a bug in MSDN rather than Win32.

The real Win32 "standard" is a kind of Platonic ideal 
(http://en.wikipedia.org/wiki/Platonic_idealism) that exists in the heads of 
programmers at MS and elsewhere. It is *partly* described in MSDN but that's 
it.

> This is how they judge whether a
> program is properly depending on documented behaviour, improperly
> depending on undocumented behaviour, or other.

Partially. You *infer* the ideal from the MSDN and validate against it. Note 
the infer part. In general to get an undestanding of what can be relied on 
you need to read the MSDN, check the existing practice, look at the history, 
compare with other OSes etc.

> Anyway, if MSDN isn't the Win32 standard (and .Net standard etc.)
> then what is?

See above.

> You want to increase the amount of chaos instead of
> reducing it?

Not sure what you mean by this.

-- 
Eugene
http://www.gershnik.com


.



Relevant Pages

  • Re: double-checked locking in C
    ... I'm saying a situation where you have a test suite, ... >> the standard will still work with my code so long as they comply with the ... If you want to ignore stuff that's strictly not Posix ... >> would be precisely the same if we were talking about WIN32 threads. ...
    (comp.programming.threads)
  • Re: Going back to Delphi 7
    ... IBM was still the dominant player in the market in 1987, but by then the ISA Bus was a standard used by hundreds of manufacturers. ... I'm not implying that Microsoft will become a minor player; I am saying that Microsoft has lost some control in setting the standards for Windows. ... So many computers are using the Win32 standard, that unless there is a pressing need to change to something else, it won't happen. ...
    (borland.public.delphi.non-technical)
  • Re: GetStdHandle .NET
    ... It encapsulates most of the Win32 Console API ... | I ran into trouble with GetStdHandle API. ... There is the same problem with standard error, ...
    (microsoft.public.dotnet.languages.vb)
  • Re: bug in visual studio .net 2003 - breakpoints and memcpy
    ... > The Win32 and Posix example was about the later issue. ... If you drop::, it will be Standard C with undefined behaviour, which will ... I like the name of dlsym() better than that of Get*Address ... [win32 naming is just horrible; NT naming is a tad better because it is ...
    (microsoft.public.win32.programmer.kernel)
  • Re: Destructor: not gauranteed to be called?
    ... >> documentation wether your expectations were justified. ... MSDN is a reference, just as a dictionnary or an encyclopedia. ... > would 'violate the C++ standard'. ... ToString is not part of the C++ standard! ...
    (microsoft.public.dotnet.languages.vc)