In this section I will try to answer some of the most Basic question that may arise in the Minds of New Developers about the .NET Platform. Please remember that these answers are my Interpretations of the .NET platform and may be not be exactly right.
1) .NET Platform FAQ
1 What is .NET Platform?
According to Microsoft, .NET is a "revolutionary new platform, built on open Internet protocols and standards, with tools and services that meld computing and communications in new ways".
A simpler way of saying that would be that the .NET Platform is a new Runtime Environment for developing and running applications which are easier to build, deploy and scale. Also it features a a Common Language Specification which helps to solve the interoperability issue. Also components written in one programming language can be used by other programming language.
2 How do I develop in .NET ?
Get the .NET SDK from Microsoft. The .NET SDK contains command-line compilers and utilities which can be used to build .NET apps. Visual Studio (called Visual Studio 7 or Visual Studio.NET) also is fully supportive to .NET development.
3 Where can I download the .NET SDK & Visual Studio 7?
You can download the .NET SDK from http://msdn.microsoft.com/net (110Mb). You can also order CD's of Visual Studio 7 beta from Microsoft (Visual Studio 7 contains the .NET SDK).
4 What are the key technologies within .NET?
ASP.NET, CLR (Common Language Runtime), C# (a new Java-like language), Visual Basic .NET, Managed C++, Visual Foxpro .NET, SOAP, XML, ADO+, multi-language support (Eiffel, COBOL etc)
5 What platforms does .NET run on?
This version of .NET runs on Win95/98/ME & Windows NT/2000. Please remember to install Personal Web Server on Win95/98/ME or IIS 5.0 on WinNT/2000 which is needed to run ASP.NET before installing the .NET SDK.
6 What languages does .NET support?
At present MS provides compilers for C#, C++, VB and JScript. Other vendors have announced that they intend to develop .NET compilers for languages such as COBOL, Eiffel, Perl and Python.
2 C# FAQ
1 What is C# ?
C# can be defined as, "C# is a simple, modern, object oriented, and type-safe programming language derived from C and C++. C# (pronounced C sharp) is firmly planted in the C and C++ family tree of languages, and will immediately be familiar to C and C++ programmers. C# aims to combine the high productivity of Visual Basic and the raw power of C++."
2 Is C# C+++ ( a new version of C++)?
C# is not a upgrade to C++. C# is a totally new Object oriented programming language. You could say its much more easier and Object oriented than C/ C++.
3 Does C# support RAD like Visual Basic ?
Yep C# is a RAD (Rapid Application Development) Language like Visual Basic. It supports the Drag- Drop and Build features of Visual Basic.
4 Where can I get C# Compiler ?
The C# compiler is not distributed as a separate entity yet. You will need to download the .NET SDK (110 Mb) from http://msdn.microsoft.com/net . The SDK contains the C#, VB.NET, JScript Compilers and full documentation and its Free.
5 How can I start learning C# ?
First download the .NET SDK. The SDK contains compilers, documentation, code samples and Quick start pages to help you learn faster. You can also visit many web sites which provide tutorials and articles on .NET.
6 Where can I get information on Books on C#?
Check out http://www.dotnetbooks.com/ they have a listing of all books available for the .NET platform.
7 Is C# easy to learn ?
If you are a Java programmer then you will find it very easy to migrate to C# (I did migrate from Java to C#). Also if you are a C / C++ programmer then you will find much similar syntax of C#.
8 Is C# platform Independent ?
The answer to this is a bit tactical. C# applications cannot run without the .NET runtime. As present the .NET platform has been released for Win95/98/ME and Win NT/2000. MS plans to release the .NET runtime for other platforms soon . Now if a .NET runtime has been released for your platform then all the .NET programs will run on your platform. This is quite similar to the working of SUN Java which is considered to be Platform Independent. In the case of Sun Java you need to install a Java Virtual Machine on your Platform to run Java programs. If your platform does not have a Java VM then it cannot run Java programs. Hence you can consider the concept Java VM similar to the .NET Runtime Environment (not literally ).
9 I have written programs in C# how can I run it on my Clients Machine ?
Till the time a separate runtime environment is released for .NET, you will have to install the Full .NET SDK on every machine you can to run you programs.
10 Is C# better than Java ?
I will not fall in the heated debate that's going on on this topic. You will find many sites which have discussion boards running for this debate. I will just like to add that Microsoft Products has a very big market, and MS will surely do all it can to promote its Feature language C#. Thus there surely will be a demand for C# programmers, now it depends on you to use Java or C#.
11 Is C# Object Oriented ?
Yes, C# is a fully Object Oriented Programming Language.
1 Is ASP.NET and ASP+ the same ?
Yep ASP+ and ASP.NET are the same thing. First ASP.NET was called ASP+ since its a upgrade to ASP. Its also called ASP.NET since its a part of the .NET platform.
2 Is ASP.NET a upgrade to ASP ?
Yes again, ASP.NET is a major upgrade over ASP. It does have backward support of ASP, but ASP.NET is better managed, and well developed.
3 Should all ASP programmers learn ASP.NET ?
This depends on what kind of ASP programmer you are. One thing is sure that ASP.NET will overtake ASP in the coming years, but it will at least take a year for that to happen since to run ASP.NET you need the .NET platform installed on the server. Till that time ASP will surely be a more popular choice.
4 Does ASP.NET need the .NET Platform ?
Since ASP.NET is part of .NET platform you have to install the .NET SDK first till a separate runtime is released .
5 I am a Web Server Admin, How do I install support for ASP.NET on my server ?
You will have to install the .NET SDK. The SDK contains all the code to convert your server to ASP.NET. Just remember that the .NET SDK is it its beta stage and can affect your Web Servers performance.