What exactly do you consider systems programming, i.e. what would you like to achieve? Windows is not open source, so unless you work for Microsoft, you won’t really be doing much “real” systems programming probably. Do you want to program applications? Windows services? Device drivers?
Ask HN: Can anyone recommend a Windows Systems programming book?
51–60 of 83 posts
Re: Ask HN: Can anyone recommend a Windows Systems programming book?
#52What exactly do you consider systems programming, i.e. what would you like to achieve? Windows is not open source, so unless you work for Microsoft, you won’t really be doing much “real” systems programming probably. Do you want to program applications? Windows services? Device drivers?
Do you think that "real" systems programming only occurs at the kernel level?
What would you consider systems programming on Windows for example?
Re: Ask HN: Can anyone recommend a Windows Systems programming book?
#53What exactly do you consider systems programming, i.e. what would you like to achieve? Windows is not open source, so unless you work for Microsoft, you won’t really be doing much “real” systems programming probably. Do you want to program applications? Windows services? Device drivers?
Considering the absurdly huge number of hardware devices that have windows support, SCADA and automation system that run on windows, lab instrumentation, security and compliance software, I wouldn't be surprised to find that there are more system programmers making a living out of windows in a professional setting than linux system developers.
Re: Ask HN: Can anyone recommend a Windows Systems programming book?
#54Earlier quoted context omitted.
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?
#55Earlier quoted context omitted.
Do you think that "real" systems programming only occurs at the kernel level?
No, do you think operating systems only consist of a kernel? What would you consider systems programming on Windows for example?
Re: Ask HN: Can anyone recommend a Windows Systems programming book?
#56For 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…
Re: Ask HN: Can anyone recommend a Windows Systems programming book?
#57The 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 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.
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.
Re: Ask HN: Can anyone recommend a Windows Systems programming book?
#58For 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…
A handle to an object. I think that is the main difference that is also visible in tools like PowerShell (as compared to the UNIX shell).
Linux is very free form, Windows is much more structured and strongly typed.
Re: Ask HN: Can anyone recommend a Windows Systems programming book?
#59The 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…
You can find full tutorials and documentation on the entirety of WinUI3, which is the literal bleeding edge; for instance.
Re: Ask HN: Can anyone recommend a Windows Systems programming book?
#60The 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.
https://learn.microsoft.com/en-us/sysinternals/resources/win...
But you have to be aware the part 1 is now a bit dated, the 7th edition is from 2017. The part 2 is from 2021. It’s not a big deal but some references are a bit outdated and some modern stuff is missing, but nothing that will be a blocker.
The books aren’t focused on programming though, but they explains the security, threading model, etc. Really interesting reads.
I comment it often but something great with windows API is that you can still use all the Win32 APIs, almost all old examples you can find on MSDN are still relevant to this day. The only thing you need to get started is a way to interact with C, and learn windows conventions (parameter names are weird at first but make sense, the error handling can also be confusing at first, the process model is a bit strange at first if you come from Unix, etc)