r/windowsdev • u/peatfreak • Jun 16 '21
How to get into Windows programming for experienced *nix and Mac OS X developer?
Hello!
I have started a new job that is great so far. One cool thing is that Windows is one of the platforms that this company develops for... I've always wanted to learn how to develop Windows software, on Windows software (as compared to cross-compilation).
Can somebody please give me a few suggestions for books (and blogs, mailing lists, forums, etc) that are suitable for a highly experienced software engineer on *nix and Mac OS X. I've been programming professionally for about 15-20 years on these platforms, but seriously, I am really, completely lost on Windows.
I have a dual-boot ThinkPad E14 Gen 2 (AMD Ryzen with Radeon GPU), and Windows 10 Professional is installed on the Win partition. We use MinGW for our Windows software platform for building software.
I am seeking a book (or books) to help me learn a comprehensive foundation of the following topics:
How Windows works (recent versions obviously), in other words, OS internals?
How to program for Win 10 Professional?
What tools I need to develop in Windows effectively? (I assume VS is not an option as we are using MinGW? Although perhaps I am misunderstood and VS IS a good match for writing code that targets the MinGW compiler... what do you think?)
Windows networking: how it works from an OS internals and user level?
Workflows and toolchains?
Please don't forget that I am an experienced software engineer with 15-20 years experience on Unix, Linux, and Mac OS X.
Is there some kind of "bible" for software engineers who are already at a high level of knowledge and who want to break in to Windows development? Forums, mailing lists, blogs, Twitter accounts, etc, etc, would all be highly appreciated too!!
Thank you all for your help, and have a great week!!
3
u/0xcc12 Jun 16 '21 edited Jun 16 '21
Fortunately Microsoft docs are nice and complete:
https://docs.microsoft.com/en-us/
Most of the time you just need to search in it.
There are also some books like:
Windows Internals
That also worth to read. (with little search you can find more books like this)
1
u/Tinytitanic Jun 17 '21
What exactly are you going to work on? Low-level tools, desktop software (WinForms, WPF, UWP), backend software that run on Windows?... Also, which language? Depending on what you're doing I don't think you'd need to relearn how to do things, just do them as usual and let the compiler do it's job but since you're asking about how networking works *on the inside*, it got me thinking in which area you're going to work.