Live data from Hacker News

Ask HN: Can anyone recommend a Windows Systems programming book?

news.ycombinator.com

41–50 of 83 posts

Re: Ask HN: Can anyone recommend a Windows Systems programming book?

#41
I would recommend "Programming Server-Side Applications for Windows 2000" by Jeffrey Richter and Jason D. Clark.

Richter also wrote "Windows via C/C++", which was previously titled "Programming Applications for Windows 2000" (4th edition) or "Advanced Windows" (3rd and earlier editions).

I realise these books are now very old (17 years old for "Windows via C/C++" and 25 years for "Programming Server-Side Applications") but really, the Windows API hasn't changed all that much in that time.

Re: Ask HN: Can anyone recommend a Windows Systems programming book?

#42

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/get-started/s... 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…

I 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…

I'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.

Re: Ask HN: Can anyone recommend a Windows Systems programming book?

#43

The Windows Internals series is typically the go-to for what you're looking for. Combine with MSDN browsing to determine what you want to do and how you want to do it.

That's the answer.

Windows Internals is a really good source for deep understanding of the OS.

Re: Ask HN: Can anyone recommend a Windows Systems programming book?

#44
post #19

Earlier quoted context omitted.

I 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.

I'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.

I'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.

Re: Ask HN: Can anyone recommend a Windows Systems programming book?

#45

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/get-started/s... 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…

Wow 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.

Re: Ask HN: Can anyone recommend a Windows Systems programming book?

#46
post #37
post #19

Earlier quoted context omitted.

I 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.

Back 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-so...

I really wish we had these manuals nowadays. However we are in the mentality of fast iteration so it's probably a bad idea.

Re: Ask HN: Can anyone recommend a Windows Systems programming book?

#47
post #40

For the people here who know windows and Linux, what are some of the major differences between the two that you like/dislike? I know nothing about windows internals, but I’m curious

In Linux, everything is a file / a file descriptor. In Windows, everything is a handle (except sockets, which are copied from BSD).

In Linux, configuration is done via plain text files. In Windows, there is the registry.

In Linux, there is the root filesystem, where everything else is mounted beneath. In Windows, there is C: and more.

In Linux, the native string encoding is UTF-8 code units stored in char of one byte size. In Windows, the native string encoding is UTF-16, stored in wchar_t of two bytes size.

In Linux, there is fork. In Windows, there is no fork.

In Linux, there is no unified graphics API. There is GTK and Qt for UI, and OpenGL and Vulkan for games (roughly speaking). On Windows, there is Win32, WinForms, WPF, WinUI, DirectX and also OpenGL and Vulkan.

Re: Ask HN: Can anyone recommend a Windows Systems programming book?

#48
Off topic maybe, but would like recommendations for macOS too, especially C/C++ given that everything is Swift now while I suspect that even so major apps are not using Swift. Windows has much more available.[1], [2]

[1]:https://learn.microsoft.com/en-us/sysinternals/resources/win... [2]: https://www.amazon.com/Windows-Kernel-Programming-Pavel-Yosi...

Re: Ask HN: Can anyone recommend a Windows Systems programming book?

#49

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/get-started/s... 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…

I 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…

you can download MS documentation via visual studio installer. Under "Individual Components", it's called "Help viewer"

Re: Ask HN: Can anyone recommend a Windows Systems programming book?

#50
post #40

For the people here who know windows and Linux, what are some of the major differences between the two that you like/dislike? I know nothing about windows internals, but I’m curious

The Windows APIs like types more than POSIX, which likes to use integers for everything (though windows uses handles a lot)

Also The Windows API pattern is typically:

1. Initialize a "descriptor" struct

2. Pass that descriptor struct by reference to a "create" function

3. Get ComPtr for resource

Where a ComPtr is a smart pointer that manages the lifecycle of an object across different processes

Also Windows built UTF-16 support into their APIs 30 years ago, so a lot of API calls involve constructing UTF-16 literals

Post reply on HN