It is a platform neutral framework.
Is a layer between the operating system and the programming language.
It supports many programming languages, including VB.NET, C# etc.
.NET
provides a common set of class libraries, which can be accessed from
any .NET based programming language. There will not be separate set of
classes and libraries for each language.
If you know any one .NET
language, you can write code in any .NET language!!
In future
versions of Windows, .NET will be freely distributed as part of
operating
system and users will never have to install .NET separately. What is Not ?
.NET is not an operating system.
.NET is not a programming language.
".NET is a framework"
Are you confused by this definition? Well, that is OK. It is really confusing!
We
cannot define .NET as a 'single thing'. It is a new, easy, and
extensive programming platform. It is not a programming language, but
it supports several programming languages. By default .NET comes with
few programming languages including C# (C Sharp), VB.NET, J# and
managed C++. .NET is a common platform for all the supported languages.
It gives a common class library, which can be called from any of the
supported languages. So, developers need not learn many libraries when
they switch to a different language. Only the syntax is different for
each language.
When you write code in any language and compile,
it will be converted to an 'Intermediate Language' (Microsoft
Intermediate Language - MSIL). So, your compiled executable contains
the IL and not really executable machine language. When the .NET
application runs, the .NET framework in the target computer take care
of the execution. (To run a .NET application, the target computer
should have .NET framework installed.) The .NET framework converts the
calls to .NET class libraries to the corresponding APIs of the
Operating system.
Whether you write code in C# or VB.NET, you
are calling methods in the same .NET class libraries. The same .NET
framework executes the C# and VB.NET applications. So, there won't be
any performance difference based on the language you write code.
What is Visual Studio.NET ?
Many
people always get confused with Visual Studio .NET (VS.NET) and .NET
technology. VS.NET is just an editor, provided by Microsoft to help
developers write .NET programs easily. VS.NET editor
automatically generates lot of code, allows developers to drag and drop
controls to a form, provide short cuts to compile and build the
application etc.
VS.NET is not a required thing to do .NET
programming. You can simply use a notepad or any other simple editor to
write your .NET code!!! And you can compile your .NET programs from the
command prompt.
Well, what I said is true theoretically.. but if
you decide to use notepad for .NET programming, by the time you develop
few sample applications, Microsoft would have introduced some other new
technology and .NET would be outdated. You may not want that. So, let
us go by VS.NET, just like every other .NET guys.
.NET supported languages
Currently .NET supports the following languages:
C#
VB.NET
C++
J# The above languages are from Microsoft. Many third parties are writing compilers for other languages with .NET support.Difference between VB and VB.NETBelieve
us, there is not much in common between VB and VB.NET other than the
name. VB.NET is a totally new programming language. It just retains the
syntax of old VB. So, if you are a vb programmer, probably you may like
VB.NET than C# just because of the syntax.
In addition to this,
VB.NET still support many of the old VB functions just for backward
compatibility. But if you are a serious .NET programmer, we strongly
suggest never use old VB functions in VB.NET. So, switching from VB to
VB.NET is just like learning a new programming language, with very
small similarities between them.
C# or VB.NET ? Which one to choose ?
As
we mentioned in earlier chapters, it makes no much difference. Whether
you write code in VB.NET or C#, when you compile, your code will get
converted to MSIL (Microsoft Intermediate language). It is this MSIL
which you deliver to your customer in the form of a DLL or EXE. The
MSIL is executed by the same .NET framework, whether you wrote it
originally in C# or VB.NET.
The MSIL generated by C# and VB.NET
is almost 99% is the same! Many believe that C# has the power of C++
and VB.NET has the user friendliness of VB. That is not true. Both are
equally powerfull and friendly.
VB.NET has backward
compatibility with old Visual basic. So, it supports old vb functions.
C# is a fresh, clean language. So strongly support using C# instead of
VB.NET just for this clean compiler.
Many old VB guys usually
like to stick with VB.NET and are kind of scared of C#. We are sure
that you will not take more than few days to get familiar with C#
syntax. This online tutorial is based on C# and all samples will be
provided in C#.
Is it platform independent ?
Many people ask this question "Java is platform independent, what about .NET ?".
The answer is "Yes" and "No" ! The
code you write is platform independent, because whatever you write is
getting compiled into MSIL. There is no native code, which depends on
your operating system or CPU. But when you execute the MSIL, the .NET
framework in the target system will convert the MSIL into native
platform code.
So, if you run your .NET exe in a WIndows machine, the .NET framework for Windows will convert it into Windows native code and execute. If you run your .NET application in Unix or Linux, the .NET framework for Unix/Linuxwill convert your code into Unix/Linux native code and execute. So, your code is purely platform independent and runs anywhere!
But wait, we said it wrong... there is no .NET framework for Unix or Linuxavailable
now. Microsoft has written the .NET framework only for Windows. If you
or some one else write a .NET framework for other platforms in future,
your code will run there too. So, let us wait until someone write .NET
framework for Linux before you run your .NET code in Linux.
Is it worth learning .NET ?
Are
you sure you have a very good job now and your job is safe for next 10
years? Then, probably you don't need to waste your time to learn this
new technology.
If you are not sure about the future of your job, better spend sometime and make sure you have fuel to run for next few years!
How long it will take to learn .NET ?
It
all depends on how fast you can learn. If you are familiar with Visual
Basic or C++, you can come to speed in .NET within 1-2 months. If you
are a new to programming, we estimate 6 months will be a reasonable
period to become comfortable with .NET world.
Future of .NET
Microsoft is moving all its technologies to be .NET based or .NET related. The next version of SQL Server even supports writing stored procedures in .NET languages. .NET runtime will be part of all Operating Systems by default. In short, if you like to work on Microsoft technologies for programming, .NET would be the only choice you will have.
|
|
No comments:
Post a Comment