Click Here to Install Silverlight*
IndiaChange|All Microsoft Sites
MSDN
|Developer Centers|Library|Downloads|How To Buy|Subscribers|My MSDN
 
Chat Transcript
 
Developing Applications Using the .NET Framework SDK
Host
: Mythreyee Ganapathy – Product Manager, Visual Studio .NET – AE, Microsoft Corporation
August 13, 2002
 
KunalS_MS: Good Evening and welcome to yet another session on eXPerienceDotNet.com Expert Chat Session

KunalS_MS: It is my pleasure to introduce a special chat host

KunalS_MS: who is from the VS.NET Academic Edition development group in Redmond.

KunalS_MS: Please welcome Mythreyee Ganapathy, Technical Product Manager, Academic Developer Tools

Mythreyee_MS: Thanks, Kunal.

Mythreyee_MS: Hello, Everyone! Thanks you for the opportunity to discuss the .NET Framework SDK

KunalS_MS: Mythreyee has been largely instrumental in working with the academia and educational institutions

Mythreyee_MS: with developers in India....

KunalS_MS: and has done a great job of exploring the usage of the .NET SDK

KunalS_MS: for building applications

KunalS_MS: and she is going to be sharing the same with us today

KunalS_MS: Over to you Mythreyee.

Mythreyee_MS: Thanks, Kunal.

Mythreyee_MS: I would like to start by explaining more about what I do at Microsoft

Mythreyee_MS: so that I can set expectations for the chat room participants accordingly

Mythreyee_MS: I work with Academic in general - faculty and students to find out how Microsoft

Mythreyee_MS: can make the .NET Framework, Visual Studio .NET and other tools and technologies

Mythreyee_MS: that will come of Microsoft more applicable to the Academic Developer.

Mythreyee_MS: Through these efforts, we have recently (Feb 2002) launched Visual Studio .NET Academic

Mythreyee_MS: My main responsibility is to manage the direction and feature set of this product.

Mythreyee_MS: Having said all this, I will briefly introduce the .NET Framework as learning environemnt

Mythreyee_MS: for a developer

Mythreyee_MS: THe .NET Framework's main design goals were component development for the internet,

Mythreyee_MS: Cross-language development, simple deployment and development as well as

Mythreyee_MS: device-agnostic application development.

Mythreyee_MS: I will address feature set for VS .NET Academic in a little while. I would first

Mythreyee_MS: like to address why I think the .NET Framework is a great development environment

Mythreyee_MS: It's two main components are the Common Language Runtime and the Base Class Libraries as most of you are aware, I think.

Mythreyee_MS: The CLR is a virtual runtime engine for the source code that targets the .NET Framework -

Mythreyee_MS: it basically does memory management, applies security models, does garbage collection,

Mythreyee_MS: and most important of all, it allows the developer to handle cross-language

Mythreyee_MS: integration with inheritance and exception-handling.

Mythreyee_MS: The Base Class Libraries provide a rich set of 'utilities' if you will that cover a number of

Mythreyee_MS: basic services like File I/O, Networking, Resource Management, etc.

Mythreyee_MS: On top of the Base Class Libraries are the libraries that support ADO .NET,

Mythreyee_MS: ASP .NET, Windows Forms and Web Forms.

Mythreyee_MS: Sorry - I was disconnected for a while there...

Mythreyee_MS: Ok - back to my thread...

Mythreyee_MS: The main thing to remember about the .NET Framework being a great enviroment

Mythreyee_MS: for developers is that it is truly object-oriented. So all of the classic things about OOP

Mythreyee_MS: like inheritance, polymorphism, encapsulation all can be easily implemented in this

Mythreyee_MS: framework.

Mythreyee_MS: I think that is a brief introduction to the .NET Framework which we can extend as we go along. Kunal - over to you.

Moderator: (Gurneet) What are the features available in the Academia version? Is it the full product or has limited features?

Mythreyee_MS: VS .NET Academic is based on VS .NET Professional. On top of this code base

Mythreyee_MS: it has additional tools for students and faculty to do course management in programming

Mythreyee_MS: type courses. So faculty can sends students VS .NET projects as assignments,

Mythreyee_MS: student receive notification of these assignments via email,

Mythreyee_MS: they download their assignments, complete them and submit it back to the faculty member.

Mythreyee_MS: The faculty member can then automate the build and checking process (to match correct output)

Mythreyee_MS: and then provide the student with a grade.

Mythreyee_MS: Each activity that requires an action is punctuated with an email to the person who has to complete the activity.

Moderator: (Gurneet) What kind of tools for management? Also, are you talking of an online system developed for students where they can submit and do their job? Isn't it a lot similar to Project 2002 where you can also do the same thing within a team?

Mythreyee_MS: It is not similar to Project 2002 in that not all of the functionality of Project is included here.

Mythreyee_MS: Also the objective is to able to share and review code in VS .NET Projects

Mythreyee_MS: which has not heretofore been implemented (at least a 'Project' style app)

Mythreyee_MS: The online system is really mimicked by a client-server environment that

Mythreyee_MS: students and faculty log in to through VS .NET Academic. Special add-ins

Mythreyee_MS: written in C# using the extensibility model of VS .NET were written to facilitate this.

Moderator: (madhu) Why is there a difference in the object model for VB.NET & C# as far as add-ins are concerned?

Mythreyee_MS: I am not really sure that the object model is different -

Mythreyee_MS: what kind of add-ins did you try to implement, Madhu?

Moderator: (madhu) Basically, Iwas trying to access the code-element.

Mythreyee_MS: You mean you tried to access CodeElement using VB .NET and C#, and you were not able to do so in VB .NET?

Moderator: (madhu) Exactly. Most of the code doesn't work in VB.NET. It throws NotImplemented exception.

Mythreyee_MS: Well, I must admit that I am not conversant with the entire object model for both VB .NET and C#...

Mythreyee_MS: However, if I can hazard a guess -

Mythreyee_MS: I would say that VB .NET is a restricted a little in it's object model (much like Managed C++) since

Mythreyee_MS: it has to consider interoperability with previous versions of the language..

Mythreyee_MS: Whereas C# is a pure .NET language, that is truly OO from the ground up.

Mythreyee_MS: VB used to be an object-based language...

Mythreyee_MS: If you got a 'NotImplemented' exception, then I am sorry to say

Mythreyee_MS: that CodeElement is not accessible from VB .NET...

Mythreyee_MS: And to be honest, I have no idea why - could be a design issue...

Moderator: (Kumar) I admit that .NET makes cross language development a lot easier than what it was earlier. But was this the reason CLR, and IL were implemented?

Mythreyee_MS: Madhu - I will follow up with you separately to answer the remaining questions you have...

Mythreyee_MS: could you send your email to the Moderator?

Mythreyee_MS: To continue answering other questions...

Mythreyee_MS: Kumar - yes, I would agree. IL or Intermediate Language is truly machine-independent

Mythreyee_MS: When source code is complied using .NET langauge compilers, what is emitted is not binary code

Mythreyee_MS: but Assemblies which consist of IL and Metadata...

Mythreyee_MS: When you want to execute the assembly, the JIT or Just-in-Time compiler is called by

Moderator: (Kumar) But how would that machine independence help if the underlying VM isn't.

Mythreyee_MS: the CLR to convert the IL into machine-specific or native binary code.

Mythreyee_MS: Why do you think that the underlying CLR is not machine independent, Kumar?

Mythreyee_MS: To answer your next question...

Mythreyee_MS: Yes - I agree with the OS specific functionalities, especially the GDI classes since

Mythreyee_MS: they are specific to Windows OS.

Mythreyee_MS: I am glad you went down that path since what I am going to say ...

Mythreyee_MS: will also answer your second question...

Mythreyee_MS: If you check the specifications for the Common Language Infrastructure at www.ecma.org

Mythreyee_MS: which is what was used to implement Rotor..

Mythreyee_MS: you will see that the specs list out only the core set of features required to implement

Mythreyee_MS: the CLR on any OS/machine

Mythreyee_MS: As far as Commercial implementations of .NET, the Linux community

Mythreyee_MS: has started work on the Mono project, the GNU community has started work

Mythreyee_MS: on dotGNU and so on.

Mythreyee_MS: Further commercial implementations on other platforms will be determined

Mythreyee_MS: by whether those vendors want to provide .NET on their platforms.

Mythreyee_MS: Right now, we have provided Rotor as a proof of concept, yet a full implementation.

Mythreyee_MS: Future plans will be disclosed to the public as appropriate, I can only say

Mythreyee_MS: for now that there are no new platforms targeted.

Mythreyee_MS: Kumar - the question of different vendors having different versions is not applicable

Mythreyee_MS: Only because all versions will have to emit the same IL.

Moderator: (Sreejumon) Can we develop an IDE for .NET coding and debugging (similar to VS.NET) using the free SDK and distribute feely?

Mythreyee_MS: You can redistribute applications by using the .NET Framework redist - check out http://msdn.microsof.com/net

Moderator: (Gurneet) Is the academia version of the same price? What are the licensing issues involved with it?

Mythreyee_MS: The Academic version is available in two way - one is through MSDN Academic Alliance

Mythreyee_MS: which is $799 (transalates the equivalent curency in any country) which can be

Mythreyee_MS: used by a SINGLE department within a University to get access to all Microsoft products including

Mythreyee_MS: OS, Servers, Tools, etc (except Office XP) for instructional and research purposes only...

Mythreyee_MS: the other is for students to buy it through valid and verified educational resellers (like college bookstores)

Mythreyee_MS: at a single unit price of $99 (again translate to equivalent currency in any country)...

Moderator: (Saurabh_MVP) Can you highlight some of the next set of features been added in the .NET Framework Class libraries?

Mythreyee_MS: The feature set for the next version of the .NET Framework will be made publicly

Mythreyee_MS: available sometime in Sept/Oct.

Moderator: (Gurneet) When you talk of code review there are many people who would not know what the right coding practices are. Is there any add-in available for that where students can know if they are adhering to the right coding practices?

Mythreyee_MS: No - the add-ins for VS .NET Academic is not intelligent to suggest 'proper coding practices'..

Mythreyee_MS: This is something the prof/faculty member can advice to the student through special instructions in the

Mythreyee_MS: code itself...

Deepak[MS]: You could also look at FxCop - which helps you impose coding guidelines on your assemblies

Deepak[MS]: so students could possibly run their code through FxCop prior to submission to faculty

Mythreyee_MS: They could - but the reason why we don't advice that is most faculty feel this is too complex for a

Mythreyee_MS: beginner programmer. For a developer who has programmed for a few years, this process

Mythreyee_MS: will be easy enought to attempt.

Moderator: (Saurabh_MVP) There have been many problems with the Design editor for ASP.NET (in VS.NET) like HTML vanishing, mess-up of HTML, etc. What are steps been planned and time frame for a fix to this problem?

Mythreyee_MS: Yes - this has been observed before. I would think that .NET Framework V1.1 will address it - but I can't make any guarantees.

Moderator: (Saurabh_MVP) Any changes to the security policy planned for Smart Windows Controls downloaded from the Internet through IE? Since current policy, would not even allow these controls to load from the Internet!

Mythreyee_MS: I am sorry, Saurabh. I cannot comment on future changes and updates at this time. I recommend

Mythreyee_MS: that you watch msdn.microsoft.com for updates on when the feature set changes to the .NET Framework and

Mythreyee_MS: Visual Studio .NET will be announced.

Moderator: (Kumar) Will we witness the same scenario as the JVMs, each OS/developer having their own version of the CLR?

Mythreyee_MS: Even though each version has his own version of the CLR, so long as CLR version emits IL that is type-safe and

Mythreyee_MS: verifiable (use PEVerify.exe, ships with the .NET Framework SDK), there will be no issues.

Mythreyee_MS: The key thing is that the compiler that targets the CLR should emit the right native binary code.

Moderator: (Sreejumon) Is MS focused on a platform independent .NET? If we can do platform and language independent programming that will be great! For every platform separate CLR, will MS be working on this or leave it to vendors.

Mythreyee_MS: Microsoft has not made an official position on how to handle mulitple vendors who want to build

Mythreyee_MS: commercial versions of the CLR.

Mythreyee_MS: One strong reason for this (in my opinion) is that since the CLR specs are standards

Mythreyee_MS: (through ECMA, and now will be through ISO as well)...

Mythreyee_MS: it is really upto a specific vendor how they want to implement the specs

Mythreyee_MS: If the vendor does not meet the specs, his CLR will not interoperate with other versions

Mythreyee_MS: and therefore he will not see adoption of his product.

Mythreyee_MS: This is no different from the various XML parsers that are available today....

Mythreyee_MS: if all of them don't parse the right version of XML, developers won't use them.

KunalS_MS: We are at the end of today's chat session. However, before thanking Mythreyee and winding up - I have one question for Mythreyee.

Mythreyee_MS: Yes.., Kunal?

KunalS_MS: Mythreyee, if anybody is interested in developing .NET applications using the SDK, where should they start off from? And, what can they expect from the applications developed using only the SDK and not VS.NET enterprise tools.

Mythreyee_MS: The .NET SDK ships with the following sets of tools: Configuration and Deployment tools,

Mythreyee_MS: Security tools, Type library (COM DLLS) import and export tools,

Mythreyee_MS: as well as C# and JScript compilers.

Mythreyee_MS: Developers can choose to use these tools along with the textpad type editors

Mythreyee_MS: or any of the free development tools built by the C# Community (check out www.codewise.com)

Mythreyee_MS: VS .NET Enterprise is ideal for large scale enterprise applications

Mythreyee_MS: where the onus is not only software development, but all the management of the software project,

Mythreyee_MS: source code check-ins, application templates, code templates and so on.

KunalS_MS: Thank you very much Mythreyee

Mythreyee_MS: Thanks, everyone!
     

©2009 Microsoft Corporation. All rights reserved. Contact Us |Terms of Use |Trademarks |Privacy Statement
Microsoft