![]() |
![]() |
|
|
| Home > PROGRAMMING WITHOUT A .NET | |||||
|
|
|||||
|
PROGRAMMING WITHOUT A .NETBy Tamara L. CravitMicrosofts .NET initiative is huge. If one doubts that, one need only read Bertrand Meyers series of articles in this and other issues of Silicon 2.0. The question isnt whether .NET is here to stay. Microsoft doesnt routinely spend $2 billion on nothing. The question is whether .NET is really going to change the landscape for software and Web developers. My view, based on more than a decade as a software developer: wait and see. .NET is not the first technology that has promised to revolutionize software development. Sun made similar promises with the release of its Java technology in 1996. Javas promise was write once, run anywherea sweeping vision of cross-platform compatibility and interoperability. More than five years later, Sun still has not really delivered on that promise. As a software developer, I watched the evolution of Java with interest. The original release of Suns Java tools was provocative and useful, but did not deliver on Suns overarching vision. Now, six years later, I can run Java applications on my PalmPilot. I can write Java code that willmore or lessrun with little modification on Windows and Macintosh systems. Has Sun delivered a useful tool? Absolutely. Has it forever changed the face of software development? I dont think so. Microsoft is facing a tough road if it plans to radically alter how software development is done. Many individuals and companies are used to the way things work now and are resistant to change. Nowhere is this more clearly seen than in the discussion of proposed language changes in Visual Basic. In the first Visual Studio .NET beta, Microsoft made several low-level changes to the Visual Basic language, used by an estimated 3.5 million software developers. These changes made good sense and were intended to reduce errors when combining Visual Basic source code with source code from other languages. Bowing to pressure from the development community, Microsoft has removed these changes from the forthcoming beta 2 release. Microsoft decided that making all its development languages work together was less important than keeping legions of developers who were used to a certain way of doing things happy. In this climate, its hard to see how Microsofts new vision is going to win the developer support needed to carry it. Its not easy even for those of us who want to join the .NET bandwagon to do so. When the first version of the .NET toolkit (known as the PDC Preview version) became available, I decided to take a look. I downloaded and installed the 60MB file, and wrote a simple application. Because Microsoft is still refining the tools and interfaces, my test application wont work with the newer beta 1 release of .NET. If I want to use my test application with beta 1, Im faced with rewriting about 20 percent of it to conform to the newer tools. This constant state of change makes it unattractive for those developers who wish to test .NET by writing real-world applications with it. As a software developer, I cannot recommend to my clients that they develop software solutions whose source code will be obsolete in three or six months. I cannot justify spending the time to learn a set of tools and procedures, which will be obsolete as soon as Ive learned them. I cannot even justify evaluating .NET again until its a stable, shipping product. Adopting .NET is not just a technical decision, either. Microsofts Hailstorm initiative, recently unveiled as a key component of .NET, raises serious concerns as well. Hailstorm aims to provide a variety of common functions for application developerssuch as user authentication and registrationin the form of reusable, off-the-shelf components. This would, in theory, enable a Web developer to shorten development time by removing the burden of developing this common core of functionality. Sounds good, right? In practice, this is problematic from a privacy and security standpoint. The underpinning of this whole new set of components is a Microsoft technology called Passport. Microsoft already uses Passport for connections to its Hotmail service, as well as on other Microsoft and third-party Web sites. Microsoft has announced plans to integrate Passport technology into Windows XP, which is currently in beta testing. Microsofts vision is that any Web site could tie into Passport for user authentication, as well as to obtain user addresses, credit card numbers and so forth. In theory, this is a good idea. In practice, I am uncomfortable with the ramifications of this vision. For one thing, the Passport database, which lives on a Microsoft server, is a highly attractive target for hackers. If the Passport database were compromised, site accounts, credit card information, and even computer and e-mail logins and passwords would be vulnerable. Alternately, someone who compromises the security of my laptop today cannot gain my credit card number. Under Microsofts new vision, my credit cards would be at risk. In concept, the ideas which .NET embracesreusable components, consistent software architecture and a greater ability to meld software applications to the Internetare laudable ones. The .NET initiative is not the first, and I suspect, not the last, effort to bring these goals to market. Whether or not Microsoft will be successful in selling its vision, and in delivering on that vision, remains to be seen. Until theres more substance behind the .NET hype, it will remain just thathype. Tamara L. Cravit is a partner of Taylored Software, a Buellton firm providing custom Web and business software development services. She can be reached by e-mail at tcravit@taylored-software.com, or on the Web at http://www.taylored-software.com/. |