Visual C#.NET, Part 1: Introduction to Programming Languages
Learn today what you need to get started with Visual C#.NET. We'll be taking a look at the .NET Platform, the .NET Framework, as well as a quick look at Visual Studio.NET. We'll also take a brief look at the history of programming languages, including machine code, assembly language, as well as high-level languages, such as C#. This is the first chapter of Michael Youssef's book Visual C#.NET (The Absolute Power), printed here with the permission of the author.
Visual C#.NET, Part 1: Introduction to Programming Languages - Microsoft.NET Platform Components (Page 4 of 6 )
Most of you will think that the Microsoft.NET Platform is just C# and Visual Studio.NET, but C# and Visual Studio.NET are just a part of the big game. As I said before, Microsoft.NET is just a name for a group of technologies. In the book we will cover C#, Visual Basic.NET, Visual Studio.NET (VS.NET) and the .NET Framework (which we will discuss in the next section), which are all parts of the Microsoft.NET Platform.
To get the whole picture in your mind you must know that there is a group of servers (Microsoft SQL Server 2000, Microsoft Application Center 2000, Microsoft Mobile Information Server 2000 and many others) that Microsoft has dubbed '.NET Enterprise Servers'. These are also another part of the Microsoft.NET Platform. Also, as a part of the Microsoft.NET world and Platform there are a number of new non-PC devices like Pagers, Mobile phones, PDA, and many others that are also a part of .NET technology. How? These devices will be able to run.NET applications made specifically for them. There are also a number of services called .NET Services, which also make up the Microsoft.NET Platform.
Now that you have a good overview of the.NET Platform, we must understand two major components of this Platform.
MSDN and many other books describe the .NET Framework as "The .NET Framework is a new computing platform that simplifies application development in the highly distributed environment of the Internet", or ".NET Framework is a completely new application development platform". Actually, if this is your first programming book then you may not understand the .NET Framework as being that at all.
When you develop applications using C#, or any other language that complies to the .NET specifications, there must be a way for the Operating System to understand the applications and execute them, and that's the role of the .NET Framework. Let me explain it this way: we have some programming functionality in C# (I'll try to use simple expressions) that enable us to generate random numbers in our programs. So, when we write this function's code, how will C# talk to the operating system (Windows Platform) to generate that random number?
This is pretty easy using the .NET Framework. The .NET Framework knows how to talk to the Operating System in order to generate the random number. Think of the .NET Framework as the programming framework for C# (actually for all .NET Languages). When you program using C# the .NET Framework will understand the code you wrote and talk with the Operating System to execute your program.
Now when we say "The .NET Framework is a new computing platform that simplifies application development in the highly distributed environment of the Internet", we understand that the .NET Framework is a new platform that will help us develop applications quickly and easily while abstracting a lot of complex Operating System details.
Let's get back to our example of generating a random number. If you want to generate it using non-.NET languages you must develop a complex mathematical calculation and you will also need to get the system time of the Computer for this calculation. In other words, you, as the programmer, will deal with Operating System. But, with the .NET Framework we don't have to know these Operating System details and simply use the functionality provided by the Framework to generate the random number. Now that you have a good simple understanding of the .NET Framework you need to know two central components.