Written for those with some previous C/C++ or Java experience, A Programmer's Introduction
to C# is a fast-moving and smart tutorial to using Microsoft's new programming
language. This book is filled with both basic and advanced language details that
show you how to use C# effectively.
A quick tour of C#, covering nearly every language detail, starts things off. Because
the author assumes that you already know about basic concepts like objects, inheritance
and the like, the pace is pretty lively. Concise descriptions of key language features
are anchored by short, clear code excerpts that demonstrate each C# principle. Early
chapters concentrate on using objects, data types and flow control done the C# way.
Where appropriate, background material is provided on the new Microsoft .NET Frameworks
environment (where C# runs), but this text is by and large a language-based tutorial.
Readers will get a handle on key C# features and even advanced nooks and crannies
of the language (such as nested classes and improvements above and beyond C++ and
Java) like built-in support for properties, the delegates keyword and support
for versioning.
The book is careful to discuss the philosophy and style of C#, especially when it
comes to class design. Of course, if you are trained in C++ or Java, you will be
right at home. Later sections turn to the nuts and bolts of .NET Frameworks with
material on writing classes using methods that will cooperate better with the framework,
garbage collection and guidelines for creating reusable classes for other programmers.
The book finishes up with a point-by-point comparison of C# and C++, Java and Visual
Basic, which can show you what's the same and what's been improved in this new and
exciting language from Microsoft.
In all, this title arrives at just the right time for the reader who wants to get
ready for C#. Although the language is still under development, reading A Programmer's
Introduction to C# will help you stay ahead of the curve with its concise
and effective tutorial that's perfect for the busy working developer. --Richard Dragan
--This text refers to an out of print or unavailable edition of this title.
Book Description
C# is the key language for Microsoft's next generation of Windows services, the
.NET platform. This new programming language is fast and modern and was designed
to increase programmer productivity. C# enables programmers to quickly build a wide
range of applications for the new Microsoft .NET platform. The .Net platform enables
developers to build C# components to become Web services available across the Internet.
Using C# language constructs, these components can be converted into Web services,
allowing them to be invoked across the Internet. Gunnerson's book is designed as
a comprehensive reference for professional programmers to help get them up to speed
on C#. The author is a lead developer on Microsoft's C# development team, and has
logged many developer hours writing and testing C# code. As such, he is uniquely
poised to teach developers the effective use of this new language. A Microsoft insider,
Gunnerson is also able to explain to readers how C# fits into Microsoft's new .NET
framework. A final section of the book provides a history of C#, and a language
comparison to other widely used programming languages. Gunnerson's book provides
a foundation upon which programmers can begin to develop in C#. Among the core topics
covered are the COM+ environment, statements and flow of execution, classes, structs,
interfaces, expressions, arrays, enums, delegates and events, exception handling,
interoperability, and selected advanced topics. --This text refers to an out of print or unavailable
edition of this title
Introduction to C#
In today's computing world, there is a wealth of various programming languages available
to us; however, they can each be categorized into one of the three major types:
- Machine Languages
- Assembly Languages
- High-Level languages
Machine Languages
As was mentioned earlier, a computer can only understand its own machine language.
The machine language is the language that the hardware designers create and is quite
complicated if you decide to use it to create a program, simply because it consists
of sets of numbers (0s and 1s). Machine language uses these sets of numbers to perform
various operations.
NOTE In our Human-Computer programming languages analogy
if two English-speaking people speak to each other their brains will compile the
code and understand it directly. If you are a machine code programmer then you will
write the code that the computer will understand directly and execute the program.
Assembly Languages
Programmers found that developing even the simplest programs, using sets of numbers,
was a very complicated process so they developed assembly languages. Assembly languages
use keywords and symbols, much like English, to form a programming language --
I can personally say that this is much better than the huge amount of numbers used
in the machine languages -- but at the same time introduces a new problem. The problem
is that the computer doesn't understand the assembly code, so we need a way to convert
it to machine code, which the computer does understand.
Programmers developed assemblers which are programs that convert assembly language
code to machine language code. By using these assemblers programmers can write
code in assembly language and convert into machine code.
High-Level Languages
Computer scientists found that computers were quickly becoming popular all over
the world, so they needed faster, easier, and more powerful programming languages
than what was currently possible using assembly languages. They designed "high-level"
languages and they called them high-level languages because when you develop applications
using a high-level language you don't have to deal with low-level details like machine
code, which allows you to write keywords that are much easier than assembly and
that can perform multiple operations. An example of a high-level language
is C#.
A lot of beginner programmers who learn C# don't care to understand what .NET is
all about? But, as we will see, they are setting themselves up for failure.
I can't simply jump into a technical discussion about Microsoft.NET, as I'm assuming
that you don't know much about programming. I will not use any technical expressions
in this section, so when you finish the book please read appendix A -- "About Microsoft.NET".
Today there are more than 400 million computer users in the world, and most of them
use the Internet daily for shopping, chatting, business, and many other things.
Still, there are a lot of things they can't do by using the Internet, such as comparing
prices from various airlines to find the cheapest flight to Paris, or finding the
nearest car rental companies and comparing their prices to find one that suits your
budget, as well as many other tasks that will make our lives much easier (ie: sending
a message to my car via .NET instructing it to unlock its doors in five minutes).
Before Microsoft.NET all these services were simply a dream, and did not exist as
there were no platforms that were capable of dealing with these types of services.
Also vendors used various techniques for describing their information, and developing
the code necessary to integrate such services was a very complex process.
Microsoft realized that the future for Internet -- especially these types of services
- needed to be improved, so they spent three years creating the .NET platform and
released it in July, 2000.
Microsoft considered creating these
web services as
the future of selling computer applications. For example, if your company specializes
in creating services for car rental companies, they would be interested in your
products for their own services. Also of note is that there are also various
free services offered by a number of companies. You can think of these web
services as a new way of executing business logic. Here are some examples
of these services:
-
Service for specifying the nearest Car Rental Companies in my area based on ZIP
code.
-
Service for comparing books prices.
-
Service for providing times; for example, a service that will provide the local
US time for other countries.
-
Service for comparing airline ticket prices based on the information entered by
the user.
- Service capable of searching for Internet
users between specified intervals.
This is a very simple list of web services that companies can implement; this list
can grow enormously in size. Microsoft and a number of other companies have already
begun developing such services. Some will be offered at no charge, while others
will charge various fees (ie: subscriptions, one-time, etc.).
Applications will be produced that will make use of these services to further extend
their capabilities. For example, we have a service that will retrieve the car rental
companies based on a ZIP code, so we must develop an application that will use this
service and return the results to the user of the application. With thousands
of these services and applications to use, users will have rich and powerful applications
at their fingertips.
In order to create these powerful applications there must be a programming platform
capable of using these services through a powerful international network, such as
the Internet, and make the world an integrated unit. This is what Microsoft.NET
is about.
NOTE The concept of Microsoft.NET may not be clear right
now, but when you learn more about C# and when you work with Web services you will
see the big picture. Do not worry as we've only started wetting our fingers.
In the.NET world these services are known as Web Services. Web Services are
connected through the Internet in order for multiple applications to make use of
them. There is a part of the .NET puzzle known as the .NET Framework, which
provides developers with an easy way to access Web Services. The .NET Framework
is the development platform that
we will use to develop .NET applications. In a few words we can say that the
Microsoft.NET platform is the group of technologies and products that Microsoft
spent the last few years, and about 80% of its budget, in research and development.
I think you will understand much more after we talk about the components of this
gigantic platform.
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.
|