Welcome to the first installment on a series of 12 volumes dedicated to the latest technology to hit the third rock from the sun. But before diving in and getting both feet wet, a wee bit of background.
Microsoft has always had a habit of doing things in style. Whether it was the basic yet robust Disk Operating System (DOS) or the (user-friendly?) Windows Operating System, Microsoft has always managed to rewrite the rules in the computer world. In fact it won't be exaggeration to say that today it is thanks to the efforts of Microsoft and the vision of its founder, Bill Gates, that it is software and not machines, that occupy centrestage. But then that is another story altogether.
Notwithstanding its hegemony over operating systems, it must be said that Microsoft took its time to wake up to the call of the Internet. Netscape was way ahead in the race, and Internet Explorer was a distant follower, almost nowhere in the reckoning. Even as users had begun to write off Microsoft as a non-starter for the web, it has gone and done what he does best ---pounced back with technology that is more cutting edge than its peers.
Although, Netscape isn't history as yet, most people would rather use a browser that works better with the latest versions of Windows. Internet Explorer literally chooses itself. Then of course there are other utility tools like Excel, Word and Power Point - all Microsoft-owned and near-indispensable.
And now Microsoft has come out with Microsoft.Net, a project until recently called Microsoft's Next Generation Windows Services architecture. The objective is the integration of the Internet - to offer software - like Word and Excel - through your browser on the computer as well as on a range of devices such as the mobile phone and the personal digital assistant (Palm Pilot etc).
The grand design, as it were, is to change the very nature of the way people work presently. Today we generally use one computer per person. Soon, all we shall be using would be only the Internet. For all our needs. In other words, whenever you switch your computer on, you would be connected directly to the Internet and not your hard disk for even the most rudimentary of tasks.
The task is enormous: every package now on offer will need additional code (even recoding). In the new regime, Microsoft has got Visual Studio .Net which can enable even the most uninitiated to design complex websites provided of course one is web and design savvy.
And all of this will be made possible through a new programming language called C# (pronounced C-Sharp).
When people talk of computer programming languages, there is always a debate on which one is better. C++, Java, Perl, PHP3… the arguments and counter-points can be endless. However, it is our considered belief that that C# would be in a sense better than the rest. And there is a reason for this.
Normally, whenever a new product is introduced, it betters the technologies of its ilk. For existing technologies evolve with their own pros and cons. Therefore, in 1995, when Sun introduced Java, it took the best from amongst all languages and added current technology. Now Microsoft has done the same. Its taken the best features from C++ and Java and morphed them into this new programming language called C#.
Imagine those who worked on Java when it was launched six years ago. Today a CV boasting of a six-year experience in Java means the maximum possible. Simple arithmetic - Java was launched only in '95. Similarly, if you get into C# today, only a Microsoft engineer could have more working knowledge of it! Therefore, we don't think we need to elaborate further on the weight that a CV with C# exposure would command! Think for yourself. You may know of people who have struck lucky in getting a job. But when it comes to keeping it, Lady Luck is powerless.
Indeed, technology is ruthless, in that, it breaks across all age and seniority barriers. That's the reason why even a teenager could have as much experience with a new technology as a 40-year-old. Unfair, but true.
Who should read this book?
Anyone wanting to be on the cutting edge of new technology. The book is written assuming no prior programming knowledge on the part of the readers. However, we make certain other assumptions that we shall explain now.
Many a times, on a clear night when we look up at the stars, we can't help but wonder whether there is intelligent life out there - or are they just like us?
For we don't believe that intellect is a quality that we are born with. In fact we are going to share a secret with you. It is the secret of success given to us by an old gypsy woman. This magic mantra has worked with many and we assume you would also use it in your life. In fact this is the only assumption we make in this book.
The secret is in persistence - nothing in the world can take place of persistence. Talent will not, nothing is more common than unsuccessful people with talent. Genius will not, unrewarded genius is almost a proverb. Education will not, the world is full of educated derelicts. Persistence and determination alone are omnipotent. We hope you agree with the old gypsy apply the maxim while learning C#.
Now, the mere fact that you are reading this means that you are interested in learning something new. However, there is a great deal of difference between a person who wants to read a book and the person who just wants a book to read. We hope you belong to the former category.
Though we attempt to infuse a certain degree of humour in our writing, please do not buy this book for its jokes. This is no coffee table book or even bedtime reading. This is a book, a medium, which we hope will do the serious job of teaching the reader a new programming language.
And how do we propose to go about it? Just like when you eat, no matter how delicious the food in front of you is, you have to consume it, one mouthful at a time. You just cannot eat it all at once, can you?
Similarly, when learning, it is always better to take small steps - one concept at a time. Sometimes, we even repeat the same concept several times, in different ways. For we firmly believe that if you do the little things well enough, big things will come to you asking to be done.
Incidentally, the entire C# software is available on the Microsoft site, downloadable free of charge. Detailed instructions are given on the site along with a set of FAQs.
Well, that's that. We agree, it is tough to climb the ladder of success, especially if you're trying to keep your nose to the grindstone, your shoulders to the wheel, your eye on the ball and your ear to the ground. Precisely the reason why some people do not recognise opportunity - it often comes disguised as hard work.
This book presents you with precisely such an opportunity. We hope you grab it with both hands!
I wish to thank a number of people who gave me support, new ideas and
inspiration through the process of writing this book.
First and foremost, thanks to Manish Jain, BPB publication for publishing the book.
Special thanks to my co-authors, Sonal and Sandeep, who have put in their very best in the work assigned to them as without them and their efforts the book would have never seen the light of day.
Thanks to my cover designers, Altaf Hemani and Kishore Rohra, for designing the cover in a very short notice.
Thanks to Manish Purohit for putting in all the time he had to verifying the code with the explanation, testing all the applications in the book and updated them to work under the Release version of the product.
To, Pradeep Mukhi and Shivanand Shetty, who made it simple for me and my co-authors to come up with the book.
A long list of friends and my family need a mention here for their patience and cooperation on this book while it was being written.