4 ms·
The reason you're not getting a good answer is because the ultimate answer is to just use Microsoft's Documentation: https://learn.microsoft.com/en-us/windows/
by deaddodo 2y ago
The reason you're not getting a good answer is because the ultimate answer is to just use Microsoft's Documentation:
https://learn.microsoft.com/en-us/windows/apps/ https://learn.microsoft.com/en-us/windows/apps/
https://learn.microsoft.com/en-us/windows/apps/get-started/start-here https://learn.microsoft.com/en-us/windows/apps/get-started/s...
https://learn.microsoft.com/en-us/windows/win32/api/ https://learn.microsoft.com/en-us/windows/win32/api/
It covers near everything, is extremely exhaustive, and constantly updated. That being said, if you're more interested in how the Windows API is organized/works internally (why you have to give it handles/resources and what those mean, for instance), then Charles Petzold's series is generally considered the definitive resource:
https://www.amazon.com/gp/product/B00JDMP71S/ https://www.amazon.com/gp/product/B00JDMP71S/
- iKlsR 2y agoI remember reading a funny story somewhere recently that back in the day, ms developers intentionally left gaps in the docs or straight up didn't document certain apis etc so they could put them in their books and sell those so if you were working on certain things you'd be forced to buy said books.
- ryandrake 2y agoHaha, that's totally believable and in tune with the MicrosoftMentality of those days. I'd love to see the corroborating evidence, though! If I recall correctly, the (also paid) MSDN developer reference documentation was actually pretty OK. The problems you needed Petzold and Richter for were the higher level "why is Windows this way?" topics and "what's the Windows-way to design XYZ?" questions. The actual APIs themselves had good documentation--the problem was knowing you had to use a particular API for a particular problem, which is what we needed the books for.
- sjm-lbm 2y agoThere's the rather famous AARD Code (https://en.wikipedia.org/wiki/AARD_code https://en.wikipedia.org/wiki/AARD_code), though that is from an era a little before Win32. And, well, it's not a documentation issue for app developers, as much a way to trick OS developers.
- ryandrake 2y agoLOL @ those memos. This was long before all our companies adopted the "Don't say anything in E-mail that could become evidence" training. Their ruthlessness and obsession with destroying everything not-Microsoft was truly unique and special. I can't think of any company here in modern times so focused on not only winning but making sure absolutely everyone else lost. Old-school Microsoft was wild.
- slowmotiony 2y agoI'm convinced this is true for SharePoint development. There were things that I'd find in books that weren't even mentioned anywhere on any microsoft website, let alone documented properly.
- beardedmoose 2y agoI'd argue that's how all modern "cloud" services are, some cool tech that Microsoft purchased and then integrated with duct tape and chewing gum. SharePoint, Exchange Online, Azure, it's all bound together by a string with APIs that can barely speak the same language.
- alfiedotwtf 2y agoI remember a different reason - APIs were intentionally not documented so Microsoft Products were the only apps that would know how to use them (and gain an advantage over the competition)
- sterlind 2y agoWhen I joined MS my boss told me that Microsoft apps weren't allowed to use internal APIs, I think as part of the anti-trust settlement. Windows components (e.g. the Settings app) can, but actual apps (e.g. Word) couldn't do anything third-party developers wouldn't be allowed to do. Some APIs are considered public but their documentation is less than useful, admittedly. But with those I don't have access to anything better either. :/ (Disclaimer: I speak for myself, based on my memory of public knowledge.)
- luxuryballs 2y agoheck I would do it just for the perk of having to do less documentation at work
- tbyehl 2y agoBack in the day, Microsoft shipped a figurative ton of documentation. I remember my dad coming home with this monstrosity: https://www.pcworld.com/article/917478/microsofts-biggest-software-release-came-in-a-box-two-feet-long.html https://www.pcworld.com/article/917478/microsofts-biggest-so...
- markus_zhang 2y agoI really wish we had these manuals nowadays. However we are in the mentality of fast iteration so it's probably a bad idea.
- steve1977 2y agoA lot of this is there at learn.microsoft.com
- markus_zhang 2y agoYeah, but holding a book feels better. Maybe I'm just old style :/ I printed myself a few manuals.
- Spooky23 2y agoThat’s nothing! When I was an IBM/Tivoli administrator, they’d ship about 12 linear feet of manuals every 9-12 months.
- steve1977 2y agoI know there are many legends like this, but I wouldn't be too sure about that. For example, most of the authors of the old-time classics were not employed by Microsoft when they wrote their books. I think Charles Petzold (Windows Programming) was a freelancer, Jeffrey Richter (MFC) was working a company called Wintellect, David Solomon (Inside Windows NT) had a seminar company (Solsem), I think initially primarily for VMS and Mark Russinovich (Inside Windows 2000) at Winternals Softwre.
- iKlsR 2y agoI've been digging for the article since morning, iirc it was something around directx, will update this comment when and if I can find it. It's not this link but it also touches on some of the stuff on this node https://retrocomputing.stackexchange.com/questions/25955/did-microsoft-really-reserve-secret-apis-in-windows https://retrocomputing.stackexchange.com/questions/25955/did...
- Joe_Cool 2y agoI really miss the MSDN CD-ROMs. They had all of the information without network latency. Indexed and searchable. Categorized in a tree, complete with code examples you could immediately try. Press F1 on a function and there is the reference. Most of the old APIs still work exactly the same so I am frequently tempted to look stuff up in my VS6 install just because it's so fast and convenient. MSDN_Library_October_2001 is the latest one they mailed out for Visual Studio 6.
- jchw 2y agoI've got Visual Studio.NET 2003 on CD, and it comes with a slightly more up-to-date MSDN library. I wonder what the most up-to-date version is.
- novagameco 2y agoyou can download MS documentation via visual studio installer. Under "Individual Components", it's called "Help viewer"
- Joe_Cool 2y agoThanks. I didn't know that.
- resource_waste 2y agoWow this is the first time I've seen someone recommend a microsoft.com domain name for 'updated' information. Usually its 1 year and 15 upgrades outdated. Its basically why I have completely given up on Microsoft. Every update is a breaking change that isnt updated in their docs. And chances are, it wasnt going to work anyway. Any time you have to use a microsoft service/product, know that documentation is just going to be worse than any FOSS made by teens.
- deaddodo 2y agoI have no idea how you got that idea about Microsoft's developer documentation. It's always been one of the more robust options out there. You can find full tutorials and documentation on the entirety of WinUI3, which is the literal bleeding edge; for instance.
- p_l 2y agoYou will also often see big chinking warnings that the site is no longer updated pointing you to homepage of current docs site, despite the APIs you're looking for being still current.
- deaddodo 2y agoIs the new documentation lacking something you need? Is there some reason you don't use the outdated documentation, if it's working for you? Are you mad because there are redundant resources available to you? I'm literally writing this to you on a Laptop exclusively running Fedora Linux. I do most of my development in OSS tools. I'm not some fanboy, yet despite that (or maybe due to that) I'm still able to recognize the very obvious fact that Microsoft has very robust documentation.
- p_l 2y agoIt's a problem because it makes one doubt whether they are in right place. What's more, it's a step back from how well Microsoft did it in the past. It's essentially like stepping into half-done move between two different places, and never being able to tell where did you put what. They can, and in the past did, do better.