What a week! The first 2 days of Microsoft's Professional Developers Conference (PDC) 2000, held this year in Orlando, have generated a slew of announcements: Microsoft released to developers the first 64-bit version of Windows 2000 (Windows 2000/64); Internet Explorer (IE) 5.5 is shipping; Microsoft is showing in public for the first time the replacement for both Win2K and Windows 9x, code named Whistler; and the company introduced a new language called C# (C Sharp). Then, of course, there are all the announcements about Microsoft's new .NET strategy.
Because Window 2000 Pro UPDATE provides news for end users, I want to start with some news of more immediate interest. As soon as you finish reading this newsletter, click here and download a Win2K compatibility kit. The kit contains an updated version of the application compatibility tool that ships in the Win2K distribution CD-ROM's Support directory, along with additional tools and documentation. The upshot: If you have a problem running an application on Win2K, this kit helps you diagnose the problem and maybe even fix it. Developers can use the tools to determine why a program fails, and IS administrators can actually deploy compatibility patches using the kit. It's a cool toolkit and only a 1.2MB download.
At PDC, I've learned about an undocumented Win2K feature related to compatibility: local DLLs. If you run into a situation where an application requires a particular DLL version, try the following procedure:
1. Copy the DLL(s) in question into the same directory as your application.
2. Create an empty text file using Notepad. Save it with the name: <app>.exe.local (replace <app> with the name of the .exe file for your program)
Run the program as usual. The dummy <app>.exe.local file acts as a flag and causes Win2K to load the copy of the DLL from the local directory instead of from the Windows/System32 directory tree.
Whistler, Win64, IE, .NET, and C#
Microsoft is previewing some of Whistler's user interface (UI) features at PDC. Features include Fast User Switching: After you log on with a particular username, your applications don't shut down when you log off. Instead, each user gets a separate session that stays up until the system shuts down; your next logon is practically instantaneous. This feature is based on a subset of Windows Terminal Server (WTS) technology. The same technology permits remote diagnosis of problems over the Internet on Whistler desktops. Whistler also detects and warns you if the Caps Lock key is on during logon, offers a new Control Panel divided into logical categories, and features UI Themes (think along the lines of both TweakUI and the Windows 9x Plus Pack).
If you're a developer lucky enough to have access to an Itanium machine, Microsoft is providing prerelease Win2K/64 code and a software development kit (SDK) to go with it. If you don't have access to an Itanium, but have a legitimate need to test code for compatibility with the 64-bit edition of Win2K, Microsoft can provide you with credentials to log on to an Itanium in Redmond. Email Microsoft's developer relations group at email@example.com.
Internet Explorer (IE) 5.5 shipped yesterday. For details, click here. This version contains many enhancements—most notably, sophisticated local editing features. Demos include an interactive greeting card designer implemented as a Web page.
Then there are the .NET announcements. I won't spend much space on .NET because it's not really end-user material, and it probably won't have much effect outside the developer community for at least a year. Basically, Microsoft is trying to extend today's Windows programming model to the Web. The result will be a truly distributed application platform. Microsoft is demonstrating the underlying .NET technology at PDC (attendees get six CD-ROMs with pre-beta code that runs on Win2K), and it's quite impressive. Among other things, Microsoft has made the platform language-neutral: One demo showed a Web page that included a script written in (no, I'm not kidding) COBOL!
The announcement that's getting the least appreciation from developers here at the show is Microsoft's C# language. C# runs on the Common Language Runtime that all .NET languages use and is an attempt to make C++ easier to code and more difficult to mess up (which is pretty much how Java got started). Most programmers I've talked to at PDC have asked, "Why do we need another language?" Given that Microsoft has already ported C++ and Visual Basic (VB) to the Common Language Runtime, you certainly don't have to. And lots of third parties are showing ports for other languages, including APL, COBOL, Perl, and Python. Java, however, is notable by its absence (there are rumors about a third-party port).
Finally, it wouldn't be PDC without some silly moments. These include Gates' dry remark, "I thought we'd have a terrible time getting the press to pay attention to a subject like Garbage Collection. . . then Larry Ellison solved the problem for us." There were hilarious films: One called "Austin Gates, International Sultan of Software" featured you-know-who in the title role and none other than Microsoft CEO Steve Ballmer as Dr. Evil.
As I write this article, there are 3 more days of technical sessions (I'll be staying only for the next 2) and probably a few more surprises. I'll have more about those in next week's UPDATE.