April 20, 2014
Hot Topics:
RSS RSS feed Download our iPhone app

Q&A with Microsoft on .NET

  • May 15, 2001
  • By Developer.com Staff
  • Send Email »
  • More Articles »
Q&A with Microsoft on .NET

The following are questions posed by the editor of Developer.com as well as a number of readers from Developer.com. A few questions from CodeGuru.com were also included. This report will be updated as additional answers are provided for the unanswered questions. Answers are provided by Microsoft product people.


Question from Developer.com

Around 1995 Microsoft was pushing OLE and COM, however, developers didn't seem to be jumping on the band wagon. Around 1996 Microsoft started pushing ActiveX more than the OLE and COM. Around 1999 Microsoft started pushing Distributed iNternet Architecture (DNA). It seems like every 2 to 3 years there is a new initiative being pushed by Microsoft that is quickly pushed to the side. How is the .NET initiative different from these past initiatives?  Will it be pushed aside in 2 or 3 years from something else?


Charles Sterling, Product Manager .NET Framework
: Despite the different names Microsoft has been singularly focused on making distributing computing easier for developers to create scalable modular applications (which in turn means the applications are more maintainable); and despite the name changes all of these past initiatives have been based on COM.

A brief look at COM's history: 

7         COM (initially called OLE) is a specification for applications to interact, in a language agnostic open way.

7         The term ActiveX refers to additions to the COM specification for creating controls and for doing scriptable automation.

7         DNA was a map of how the Microsoft technologies could/should be used together as a platform to create distributed applications (all based on COM).

 Other useful terms:

7         DCOM = The protocol COM uses for remoting and is based on RPC.

7         COM+ = The suite of COM based services that Windows2000 provides developers for creating applications (i.e. Transactions, security, events, messaging etc)

 So where does .NET fit into this?

The Internet offers tremendous opportunities to developers to  expand the way they write programs, this in turn dramatically changes the requirements of the tools used to develop applications -if developers are to take advantage of the internets capabilities.

For instance protocols:

HTTP is a stateless protocol that powers the World Wide Web and the mechanism by which Web Servers communicate with clients.  By contrast existing component object models are based on strongly session-based protocols that don't lend themselves to running over the Internet.)

Development tool vendors had a couple of choices: don't run objects over the internet, mandate servers also run their additional protocols (and which really weren't designed for they loosely coupled world of the internet) or the route Microsoft choose to take with .NET, work with the developer community and come up with a set of standards to run objects over HTTP (For more information on this aspect of the .NET Framework please see books or articles on the topic "SOAP" or Simple Object Access Protocol). 

Is this a departure from COM? Absolutely, our customers indicated they needed a different set of features for creating applications over the Internet and the .NET Framework was the result. That is not to say Microsoft abandoning the skills and applications developers have already invested in; using COM objects from within the .NET Framework (or using .NET objects from with a COM based application) is no harder than it was before but now with there is the added benefit that objects can now be accessed over the Internet as XML Web Services.  

Finally to the question asked:

So what is to keep Microsoft from abandoning the .NET as an Initiative in the next 2, 3 or 6 years (95-Now)?  The design of the .NET Framework lends itself to responding to customers needs. If in the future customers do indicate the Internet isn't what they need for development (as unlikely as that may be), SOAP may play a less important role but the architecture of the .NET Framework is modular so new languages, protocols etc can easily be incorporated and meet the demands of future developers. 
 


Question from Bud. P. (System Integrator)

I've invested a considerable amount of time learning MFC and Win32 programming. Just as I feel I'm grasping the pertinent concepts I'm thrown a curve ball called .NET (with a whole new Language under the covers). Are the skills I've acquired now antiquated? Do I need to learn .NET and C# to be a productive member of the development community? Everyone talks .NET as though we've just emerged from a Cave and now we have light. Heck, I was just gaining vision in the Cave.
 


Charles
Sterling, Product Manager .NET Framework: Hello Fellow Spelunker!

If there are only two things developers should understand about .NET:  

1. Open protocols & standards are going to expand how we develop applications (namely through XML Web Services)

 2. Your existing skills and investments are still relevant and valuable.

For example the question was raised: "Do I need to learn .NET and C# to be a productive member of the development community?"  The answer is Absolutely NOT!!  -Let your skill set choose the language you program in: be it- Cobol, VB, C++ or whatever.   


Question from Developer.com

 What programming language is going to be the best to use with .NET development? Are developers going to have to learn C#?


Charles Sterling,
Product Manager .NET Framework: The .NET Framework is language neutral; virtually any language can target the .NET Framework. Currently, you can build .NET programs in a number of languages, including C++, Microsoft. Visual Basic.NET, JScript., and Microsoft's newest language-C#.  A large number of third-party languages will also be available for building .NET Framework applications. These languages include COBOL, Eiffel, Perl, Python, Smalltalk, and others.   So in essence, the best language is either the one you are most comfortable with or the language that best suits the development task at hand.  

Developers do not have to learn C#, however C# was designed to provide the computing power of the C++ language and the ease of use of its own Visual Basic language. Microsoft predicts this power and function will allow developers to fully utilize the potential of its new .NET Platform, created to help developers more easily build and maintain Web applications.   And MS feels once developers get an opportunity to experience its power and productivity, C# will rise in popularity.


Question from Perry from CodeGuru.com

I get the feeling that .NET has knocked the wind out of COM+, however I haven't read anywhere whether the .NET runtime will supercede COM+ or whether it will run side by side, on top of, etc.  More interesting; will the runtime have all the promised features that were not shipped with COM+?


Charles Sterling, Product Manager .NET Framework:
The .NET Framework gives you full access to COM+ services, while also making it easier to build serviced components.  .NET Framework components can be added to a COM+ application. There they can take advantage of automatic component services such as transactions, object pooling, queued components, events, and so on.


Question from Harshang **

In one of the .NET seminar, a Microsoft Consulting Service (MCS) guy said that it is possible to keep your application platform independent with Visual Studio.NET. What other runtime environment for platform will be available other than Windows.
 


Charles Sterling, Product Manager .NET Framework
:  Microsoft hasnt announced any plans to take the full .NET Framework to non-Windows platforms. We have, however, submitted specifications for the core of the .NET Framework and the C# programming language to ECMA for standardization. Under ECMAs open rules, anyone can build an implementation from these specifications on any platform, and we have been approached by several companies about partnering to create non-Windows implementations of these specs. It's important to note that there is already a version of the .NET Framework that is hardware and operating system independent: the .NET Compact Framework, which enables the fundamental architecture of the .NET Framework on small devices such as mobile phones and digital TVs.


Question from Teddy

Can you address the architecture (abstractly) and security implications (production system and development related separately) of .NET.
 


Charles Sterling, Product Manager .NET Framework
: Microsoft Product Manager: Several really good articles have been writing on both the generalized .NET Framework architecture and security. These articles can be found at:  http://www.msdn.microsoft.com/net 

A couple I highly recommend:  

Avoiding DLL Hell: Introducing Application Metadata in the Microsoft .NET Framework <netresources/metadata/metadata.htm>" by Matt Pietrek, MSDN Magazine, Oct. 2000 is reprinted by permission. Copyright 2000 Microsoft Corp. and CMP Media, Inc. All rights reserved. For more information on MSDN Magazine, please visit <http://msdn.microsoft.com/msdnmag>.

"Garbage Collection: Automatic Memory Management in the Microsoft .NET Framework <netresources/GCI/garbagecollection.htm>" by Jeffrey Richter, MSDN Magazine, Nov. 2000 is reprinted by permission. Copyright 2000 Microsoft Corp. and CMP Media, Inc. All rights reserved. For more information on MSDN Magazine, please visit <http://msdn.microsoft.com/msdnmag>.

"Microsoft .NET Framework Delivers the Platform for an Integrated, Service-Oriented Web <netresources/framework/framework.htm>" by Jeffrey Richter, MSDN Magazine, Sept. 2000 is reprinted by permission. Copyright 2000 Microsoft Corp. and CMP Media, Inc. All rights reserved. For more information on MSDN Magazine, please visit <http://msdn.microsoft.com/msdnmag>.

"Part 2: Microsoft .NET Framework Delivers the Platform for an Integrated, Service-Oriented Web <netresources/framework2/Framework2.htm>" by Jeffrey Richter, MSDN Magazine, Oct. 2000 is reprinted by permission. Copyright 2000 Microsoft Corp. and CMP Media, Inc. All rights reserved. For more information on MSDN Magazine, please visit <http://msdn.microsoft.com/msdnmag>.

"The Programmable Web: Web Services Provides Building Blocks for the Microsoft .NET Framework <netresources/webplatform/WebPlatform.htm>" by Mary Kirtland, MSDN Magazine, Sept. 2000 is reprinted by permission. Copyright 2000 Microsoft Corp. and CMP Media, Inc. All rights reserved. For more information on MSDN Magazine, please visit http://msdn.microsoft.com/msdnmag.


Question from Dhanesh. (Software Engineer)  **

I would like to get a basic concept of .NET architecture. Where is a good place to go for information?

Developer.com Editor comment: Our CodeGuru.com site contains information on C#, Visual C++, and Visual Basic. This includes .NET related information. We also offer a C# newsletter--CodeGuru C#/.Net Tech Notes--available at newsletters.internet.com in the EarthWeb channel.  
 


Charles Sterling, Product Manager .NET Framework:

This site is an MSDN reference for .NET technical articles and probably the best place to start:
http://msdn.microsoft.com/library/default.asp?URL=/library/techart/netanchor.htm

This one is .NET Framework Developers Guide:
http://msdn.microsoft.com/library/default.asp?URL=/library/dotnet/cpguide/cpguide_start.htm

This site is Visual Studio.NET Beta 1 Evaluation Guide Download:
http://www.msdn.microsoft.com/vstudio/nextgen/evalguidedownload.asp


Question from Etienne from CodeGuru.com

 I heard somewhere about a new thing that the VS.NET environment is suppose to provide. A template to define comments in your code to generate html documentation automatically. Does it really exist or it's just a "vaperware" ?


Nick Hodapp, Product Manager C#:
 In C# you can document the code you write using XML. C# is the only programming language in Visual Studio.NET 7.0 with this feature.  In source code files, lines that begin with /// and that precede a user-defined type such as a class, delegate, or interface; a member such as a field, event, property, or method; or a namespace declaration can be processed as comments and placed in a file.  This file is an XML document containing the developers comments plus some compiler generated information that identifies the context of particular comments.  (The compiler will also validate the XML syntax entered by the developer).  This XML file can be processed using a XSL style sheet to generate HTML documentation.   


Question from Daniel from CodeGuru.com

How can I get Free C# compiler and C# Editor?


Nick Hodapp, Product Manager C#:
 The Microsoft Visual C#.NET compiler is presently the only publicly available C# compiler that I am aware of.  It is widely available during our beta cycle, and ships as part of the VS.NET beta and the .NET Frameworks SDK beta.  A C# editor ships as part of the VS.NET beta as well. 

Info on obtaining the beta is found at: http://www.msdn.microsoft.com/vstudio/nextgen/beta.asp


Question from Hiro (Technical Director)

Will Web Services and .NET trap everyone into a system with continual costs being incurred at every step?  The trend across the entire internet towards 'pay-per-view' services is a very disturbing one indeed. Won't such charges end up being negative to the end-user?


Answer pending...


Question from Developer.com

In simple terms, what is .NET?  Who in the development community will be impacted by  .NET?


Answer pending...


Question from Developer.com

 Who in the development community will be impacted by  .NET?


Answer pending...


Question from Developer.com

Web Services seems to be an important key to .NET. How does Microsoft's definition of Web Services differ from the Web Services announced by other companies such as Sun and Oracle? Or, are all these Web Services the same thing?


Answer pending...


Question from Rob. A. **

 This isn't really a question to be passed onto Microsoft...

[Is there a reason to] go with the Vignette/Oracle approach for site management as opposed to the .NET architecture or even products like Open Market or Broadvision.  We would like to introduce distributed authoring and dynamic content distribution. I was just wondering [how .NET could help in this area verses these other products].  Does the .NET architecture have any real (or perceived) shortcomings in this area?


Answer pending...


Questions from Lars (Development Manager)

What .NET services will be available on other platforms (Linux / Solaris) and what is the time schedule for it? Will the basic economy for .NET be based on a yearly rent? Will the XML part be open, meaning that non-MS applications can access and use XML data generated with MS tools?
 


Answer pending...


Question from Frank

With hailstorm and the like, there would be a definite chance of storing personal information on your own PC rather than on Microsoft's passport servers. Why not follow that route, providing a sort of peer-to-peer approach in distributing information?
 


Answer pending...


Question from Hdlsningar

You asked in your newsletter if we readers had any questions regarding the new Microsoft .NET thingie (it encompasses to much for a single word I think). Now, I'm a modest developer that hasn't had the time necessary to read up on .NET so actually I have lots of questions but the question that I'm most anxious to have answered is this (right now anyway). Will the Microsoft certifications be replaced by new certificates? If so, what will be the worth of already existing certificates when .NET is launched?
 


Answer pending...

The editors at Developer.com and CodeGuru.com would like to thank the people at Microsoft and Waggener Edstrom for taking the time to provide these and future answers.
# # #






Comment and Contribute

 


(Maximum characters: 1200). You have characters left.

 

 


Sitemap | Contact Us

Rocket Fuel