|
The .NET platform is an enirely new way to program for the Windows
platform. It is fully object-oriented and allows many different
languages to be used, such as VB.NET, C#, C++, Java and *many* more. The
.NET platform or actually the framework, provides the base services
needed to interact with the operating system. All languages use this
framework and its objects. Therefore, no matter what language used, the
undelying framework is exactly the same.
.NET differs from Java in that it allows multiple languages to be used,
while in Java or J2EE there is only one choice: Java (but it is a very
good choice!). Java allows you to run your Java code on any platform for
which a JVM exists (at least in theory - in practice there is sometimes
a bit of tweaking needed, especially when programming to application
servers such as WebLogic). There is a 3rd party effort in full swing to
port .NET to Linux and there will probably be more in the future. That
would remove that distinction between the 2 platforms.
At the language level, C# and Java are quite similar. Both are derived
from C and show it. Both have similar goals in mind such as the keeping
things simple through removal of features such as pointers. A Java
programmer should have little trouble getting used to the C# language.
The great difference is in the framework and the Java SDK.
All .NET lnaguages are created equal. VB or C# or Pascal or COBOL or
Eifel or any language can be used to do anything in .NET, including
Internet programming. You can even create an object in say, VB and then
derive from that object in C#! That's cross-language inheritance and its
quite cool - although it should be used with caution so as not to
complicate things too much.
If you are a Java programmer, I would think that using C# would be the
easiest way for you to get started. It will feel more natural in
programming OO than does VB. There are many good resources out there on
learning the .NET platform, some of my favorites can be found here.
|