This page concentrates on NT from the perspective of the programmer. How much of the Win32 API must I learn? Should I use C or C++? If you can't find what you need or have a suggestion on how we can improve the page, please drop us a note.
0.0 How do I develop software for Windows NT
0.1 How do I join the Microsoft Developer's Network
0.2 What books and magazines are there
0.3 What Internet resources are there
0.4 What does Certification from Microsoft mean?
0.5 What languages are available for NT?
0.6 How do I port my UNIX applications to NT?
0.0 How do I develop software for Windows NT
Windows NT does not come with any built-in development tools. Instead Microsoft's has subscription service called the Microsoft Developer's Network. By joining MSDN, as it is commonly called, you receive at least four updates per year on CD-ROM that contain a considerable amount of information, including documentation, specifications, old journal articles, even several complete books.
0.1 How do I join the Microsoft Developer's Network
You have two options when joining MSDN: useless (level 1) and useful (level 2). Level 1 consists of (typically) one CD-ROM per issue that has a lot information but no code. Level 2 has both information and code consists of about fourteen (14!) CD-ROMs per issue. Since we are talking about developing software and not reading books, level 2 is what you need.
Level 1 costs US$195/year.
Level 2 costs US$495/year. For more information send e-mail for an automatic reply, or call US, Canada(800) 759-5474, Europe +31 10 258 88 64, elsewhere your local Microsoft subsidiary or +1-(303) 684-0914 for local contact information. To do any non-trivial development under NT whether it be using POSIX or the WIN32 API, you'll need the level 2 subscription. It has a lot of wonderful material, but is licensed only on an individual basis (gotcha!).
MSDN Level 2 contains (listed from April 95 CD titles):
Windows 3.1 & WfWg Software Development Kits (SDK) & Device driver Development Kit (DDK)
Windows 3.1 & 3.11, and WfWg 3.11 (all/most languages) for testing.
NT3.1 and NT3.5 Service packs
NT3.5 SDK & DDK
NT3.5 German, French, Italian, Spanish, Dutch, Swedish, Danish, Traditional Chinese, Norwegian, Finnish, Portuguese
NT3.5 Japanese, plus Japanese SDK and DDK
Level 2 also gives you "premium releases". Current ones are NT3.51 beta and Win95 "pre release" (actually also a beta).
The international versions are extremely useful if you're developing software for overseas markets. Also included but not specifically listed above are SDKs for things like TAPI, MAPI, etc. etc.- Thanks to David Haworth
MSDN does not contain any compilers or languages. To do so would dry up the compiler market and probably cause more anti-trust problems for Microsoft (like they don't have enough already - justifiably or not). See later in this section for a list of the popular language products for NT.
0.2 What books and magazines are there?
Concerning the general Windows Application Programming Interface (API), the most commonly recommended book is "Advanced Windows" by Jeffrey Richter, ISBN 1-55615-677-4, published by Microsoft Press. It contains a CD-ROM and lots of useful information. Note: this is not the same book as "Advanced Windows NT" by the same author. The NT version is older, contains only one diskette (not CD-ROM), and does not include information you may eventually need concerning Windows 95.
A more readable pedagogical book is "WIN32 System Services: The Heart of Windows NT" by Marshall Brain, ISBN 0-13-097825-6, published by Prentice-Hall. A tremendous amount of useful information can be easily be found here. You should also look at their web site. You can also download the examples.
Arguably, the best book for Windows NT Network Programming is the eponymous "Windows NT Network Programming" by Ralph Davis, ISBN 0-201-62278-5. published by Addison Wesley.
With regards to RPC programming, you should look at "Microsoft RPC Programming Guide" by John Shirley and Ward Rosenberry, ISBN 1-56592-070-8, published by O'Reilly & Associates. You can also download the examples from this book as well.
Arguably, the most useful publications for Windows Developers are Microsoft Systems Journal and Dr. Dobbs Journal.
0.3 What Internet resources are there
The NT Resource Center operated by Dave Baker of Beverly Hills Software is the best starting point.
As if you didn't already know, Microsoft has one of the most active sites on the net. Also there is a relatively complete catalog of 32 bit applications. Microsoft also maintains its own list of NT Internet Resources.
If you are coming from the UNIX world, please question out our FAQ for many useful pointers.
Some useful FTP sites:
INFO
, or SUBSCRIBE NT-ANN
in the
body) to get new announcements. Run by Dave Gruber. There are many Usenet newsgroups associated with Windows and Windows NT programming. They all begin in the comp.os.ms-windows.programmer hierarchy. Here are some:
0.4 What does Certification from Microsoft mean?
There are four certifications available from Microsoft. To cite the Microsoft roadmap:
Microsoft Certified Systems Engineers are qualified to effectively plan, implement, maintain, and support information systems with Microsoft Windows NT and the Microsoft BackOffice integrated family of server software.
Microsoft Certified Solution Developers are qualified to design and develop custom business solutions with Microsoft development tools, technologies, and platforms, including Microsoft Office and Microsoft BackOffice.
Microsoft Certified Product Specialists are qualified to provide installation, configuration, and support for users of Microsoft desktop products.
Microsoft Certified Trainers are instructionally and technically qualified by Microsoft to deliver Microsoft Official Curriculum through Microsoft authorized education sites.
The two options that interest the developer are: MCSE (systems engineer), or MCSD (solution developer). The System Engineer is more concerned with configuration and administration issues. The Solution Developer requires less courses and is more geared to the developer. For more info:
1) call Microsoft ((800) 426-9400) and they will be happy to send you a Microsoft Education and Certification Roadmap. This is a four disk kit that has every kind of certification explained, sample exams, prerequisites, etc. etc.
2) Download (from ftp.microsoft.com) the freeware Microsoft Word 6.0 viewer software. This will allow you to view the Word-formatted documents without having to buy Word. The viewer is available in the Microsoft Software Library section of MS's FTP server (click here to download it) or, alternatively, can be found at Beverly Hills Software's excellent Windows NT Application Center .
- Thanks to Marvin Klemovitch-Rhoads
0.5 What languages are available for NT?
There are several C/C++ implementations for NT (all of these are links directly to the relevant page from the manufacturer):
An opinion according to Kenneth F. Krutsch:
My advice to you, if you are serious about developing Windows apps (commercial grade, competitive, et al.) just suck it up and use the Microsoft Visual C++. The reality is this: yeah, other products have some neat toys/tools built into their development environments, but everyone else will always be playing catch-up to Microsoft and to MFC because they build the operating system(s) and they make the rules. If you don't like it...switch to a different platform and convince your clients to do the same (good-f*cking-luck on that task).
There are many other languages available - check the catalog of 32 bit applications. [Suggestions and opinions welcome -Ed.]
0.6 How do I port my UNIX applications to NT?
Check out the FAQ for Porting from UNIX to NT, edited by members of the New England NT Users Group.
Back to contents.