.NET UPDATE, January 23, 2003


.NET UPDATE--brought to you by the Windows & .NET Magazine Network http://www.winnetmag.com



PacWest Security Road Show http://www.winnetmag.com/roadshows/security2003


~~~~ SPONSOR: PACWEST SECURITY ROAD SHOW ~~~~ BACK BY POPULAR DEMAND - DON'T MISS OUR SECURITY ROAD SHOW EVENT! If you missed last year's popular security Road Show event, now's your chance to catch it again in Portland and Redmond. Learn from experts Mark Minasi and Paul Thurrott about how to shore up your system's security and what desktop security features are planned for .NET and beyond. Registration is free so sign up now! http://www.winnetmag.com/roadshows/security2003


January 23, 2003--In this issue:

1. COMMENTARY - Java on Windows: Responses, Updates, and Conspiracy Theories Abound

2. DOT-TECH PERSPECTIVES - .NET Framework Basics: The Relationship Between the CLS and CLR

3. ANNOUNCEMENTS - Catch the Microsoft Mobility Tour--Time is Running Out! - New! News, Tips, and More to Keep Your Network Humming

4. NEW AND IMPROVED - .NET Developers: Refer to a Source Code Library - Learn More About Visual C++ .NET

5. CONTACT US See this section for a list of ways to contact us.




(contributed by Paul Thurrott, news editor, [email protected])

* JAVA ON WINDOWS: RESPONSES, UPDATES, AND CONSPIRACY THEORIES ABOUND My January 9 commentary "Will Forcing Microsoft to Carry Java Create an Even Playing Field?" (http://www.winnetmag.com/articles/index.cfm?articleid=37658 ) elicited an unprecedented amount of mail from .NET UPDATE readers. Thanks to everyone who responded; I'm sorry I can't personally reply to many of the email messages. However, in this issue I'll summarize the responses, provide an update to the court case, and take a quick look at a related conspiracy theory that's making the rounds online.

Readers Respond Readers' responses to the Java bundling issue were fascinating. Responses were about 60 percent in favor of the court decision and about 40 percent against the decision; a majority of respondents said they thought Microsoft should be required to carry Java technology in Windows. Many readers pointed out that Sun Microsystems' failure to effectively market Java was at least partially Sun's fault. Although Sun's marketing might have been inadequate, keep in mind that a federal court ruled that Microsoft acted illegally to harm Java. An appellate court upheld this ruling. Microsoft's actions toward Java are now a matter of legal fact. This legal fact enabled Sun to sue Microsoft in the first place.

Many people said they felt that the .NET Framework is superior to Java, and this is certainly my opinion. The technical advantages of .NET over Java are legion. You can use the language of your choice when developing .NET applications and services, for example, and the .NET garbage-collection routines don't incur the performance overhead that Java's do. Arguably, many of Microsoft's best products have been--ahem--inspired by other products. And you could make the case that the syntax and programming style of .NET languages such as C# are obviously similar to Java. But this assertion isn't fair because C#, like Java itself, is just a modern implementation of a C-like, object-oriented (OO) language. If we're going to criticize Microsoft for copying Java, we must criticize Sun for copying the languages that came before Java.

Some readers felt uncomfortable with the precedent of forcing Microsoft to bundle Java. What's next, one reader asked, a bloated copy of Netscape in each Windows copy? That fear isn't too far-fetched: Netscape owner AOL Time Warner is preparing a similar lawsuit to Sun's, and Netscape, like Sun, was one of the companies touted in the Microsoft antitrust trial as being harmed by the software giant's actions.

Finally, one reader posed an interesting question: How successful would Java have been if Microsoft hadn't embraced it, for whatever reason, in the first place? If Microsoft hadn't announced its intention to include Java in Windows years ago, would so many developers have embraced the technology? It's a fair question, and one to which we might never get an answer, especially from Sun.

Microsoft vs. Sun: an Update Sun and Microsoft recently agreed on the way in which Java will be implemented in Windows XP Service Pack 2 (SP2), and Judge J. Frederick Motz has given the companies 4 months to make the implementation happen. First, however, Microsoft has a 2-week reprieve so that the company can present its appeal to an appellate court. If the appeal is denied, the preliminary injunction forcing the company to bundle Java will be in place while Sun's $1 billion lawsuit against the company progresses. What a country.

Conspiracy Theory One reader forwarded me an interesting, and even somewhat plausible, conspiracy theory. IT titan IBM recently made a bid to purchase Rational Software, makers of open industry-standard software tools based on Java 2 Enterprise Edition (J2EE) and .NET. Industry watchers had expected Microsoft to contest the purchase and perhaps even make its own bid for Rational. However, Microsoft did nothing. The rumor is that Rational is working on a full Java implementation for Microsoft's Visual Studio .NET environment, dubbed Java .NET, that will also include a high-performance Java Virtual Machine (JVM), which IBM/Rational would distribute for free. The theory is that Microsoft will argue to the appellate court that it shouldn't have to bundle Java if two high-quality Windows-compatible implementations, from Sun and IBM/Rational, are available for free online.

I don't believe that one for a minute.



(contributed by Christa Anderson, [email protected])

* .NET FRAMEWORK BASICS: THE RELATIONSHIP BETWEEN THE CLS AND CLR In my January 9 column ".NET Framework Basics: the Common Language Runtime" ( http://www.winnetmag.com/articles/index.cfm?articleid=37657 ), I examined the role of the Common Language Runtime (CLR) in the .NET Framework and how CLR's developers intended CLR to make .NET development language-agnostic. The CLR has this capability because of the Common Language Specification (CLS), a set of rules that languages must follow for full compatibility with .NET. The CLR and the CLS are not synonymous. This column will explain the relationship between these two parts of the .NET Framework's support for language diversity.

The CLR is the runtime environment for executing .NET applications. As all runtime environments do, the CLR manages the way applications execute by providing services that the languages in which the programs are written expose. The syntax that accesses runtime environment services varies with the language, but the services themselves don't change. Not all languages can use all the functionality in the CLR because getting optimal functionality from the CLR would entail writing the languages with CLR compatibility in mind.

However, a language doesn't need to support all the features in the runtime environment. The CLS's role is to define a minimum subset of features that languages must support to work with .NET applications. For example, although the CLR supports both signed and unsigned integers, languages conforming to the CLS are required to support only signed integers. (In binary notation, an unsigned integer's most significant bit is data, not a positive or negative sign; a signed integer's most significant bit is its sign. Therefore, unsigned integers are always positive. End of digression.) The rules defined in the CLS apply to features visible outside the assembly (or, if you'll recall, equivalent to a DLL or EXE), where they're defined. For example, the CLS requires that public names--names visible outside their assembly--be case insensitive because some languages don't distinguish between FILENAME, Filename, and filename. These rules keep .NET assemblies from conflicting with one another. (For a complete list of CLS compliance rules, go to http://dotnet.di.unipi.it/EcmaSpec/PartitionI/cont10.html#_Collected_CLS_Rules_1 .)

Again, CLS compliance rules apply only to public features. Features contained within an assembly and not directly addressable by other assemblies don't have to follow these rules.

CLS-compliant languages are either consumers or extenders. Consumers can use any CLS-compliant type: They can call methods, create instances of CLS-compliant types, read and modify fields, and so forth. Extenders are consumers that can also extend base classes, define new types, and otherwise extend the framework. Of Microsoft's CLS-compliant languages, Visual Basic .NET, C#, and C++ with Managed Extensions are extenders, and JScript .NET is a consumer. Not all languages that you can use in .NET applications are, strictly speaking, .NET languages. For example, a third-party tool that creates a .NET component from a Perl class lets .NET applications call Perl modules, but Perl is neither a consumer nor an extender.

In short, the CLR defines all the capabilities available to applications and modules written for the .NET Framework. The CLS defines the set of rules to which languages must conform to work in this framework.



(brought to you by Windows & .NET Magazine and its partners)

* CATCH THE MICROSOFT MOBILITY TOUR--TIME IS RUNNING OUT! This outstanding seven-city event will help you support your growing mobile workforce. Industry guru Paul Thurrott discusses the coolest mobility hardware solutions around, demonstrates how to increase the productivity of your "road warriors" with the unique features of Windows XP and Office XP, and much more. You could also win an HP iPAQ Pocket PC. There is no charge for these live events, but space is limited, so register today! Sponsored by Microsoft, HP, and Toshiba. http://www.winnetmag.com/seminars/mobility

* NEW! NEWS, TIPS, AND MORE TO KEEP YOUR NETWORK HUMMING Networking UPDATE brings you the how-to tips and news you need to implement and maintain a rock-solid networking infrastructure. We'll explore interoperability solutions, hardware (including servers, routers, and switches), network architecture, network management, network security, installation technology, network training, and WAN disaster recovery. Subscribe (at no cost!) at http://www.winnetmag.com/email/networking



(contributed by Carolyn Mader, [email protected])

* .NET DEVELOPERS: REFER TO A SOURCE CODE LIBRARY FMS announced Total .NET SourceBook, a source code library software program that provides samples, tips, and how-to code for Visual Studio .NET developers. The resource includes thousands of lines of C# and Visual Basic .NET code. When you start the Total .NET SourceBook software program, your PC automatically connects to Code WebService, which downloads new code, articles, and tips to your database. FMS licenses Total .NET SourceBook on a per-developer basis. Pricing is $399 per license, $1299 for 5 licenses, and $3999 for 25 licenses. Contact FMS at 866-367-7801. http://www.fmsinc.com/dotnet/sourcebook

* LEARN MORE ABOUT C++ .NET Prentice Hall PTR released "Visual C++ .NET: A Managed Code Approach for Experienced Programmers," a book by Harvey Deitel, et al. The book is for C, C++, or other high-level language programmers who want to learn about key Visual C++ .NET concepts. The book applies the Live-Code approach to teaching programming. The 1000-page book costs $53.99. Contact Prentice Hall PTR at 800-282-0693. http://www.phptr.com



Here's how to reach us with your comments and questions:

* ABOUT THE COMMENTARY -- [email protected]

* ABOUT THE NEWSLETTER IN GENERAL -- [email protected] (please include the newsletter name in the subject line)

* TECHNICAL QUESTIONS -- http://www.winnetmag.com/forums

* PRODUCT NEWS -- [email protected]

* QUESTIONS ABOUT YOUR .NET UPDATE SUBSCRIPTION? Customer Support -- [email protected]

* WANT TO SPONSOR .NET UPDATE? [email protected]


This biweekly email newsletter is brought to you by Windows & .NET Magazine, the leading publication for Windows professionals who want to learn more and perform better. Subscribe today. http://www.winnetmag.com/sub.cfm?code=wswi201x1z

Receive the latest information about the Windows and .NET topics of your choice. Subscribe to our other FREE email newsletters. http://www.winnetmag.com/email

Hide comments


  • Allowed HTML tags: <em> <strong> <blockquote> <br> <p>

Plain text

  • No HTML tags allowed.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Lines and paragraphs break automatically.