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.