Readers often call and ask - Which is the best book for me ? Or, Which book should I buy?

This is not an easy question to answer, as we will not be knowing each caller's exposure to programming and their skill levels.

However, we will try and answer the question - Who should buy a particular book? To answer this question, we will begin with the goal of every programmer, which is to learn all the skills required to build software applications for furthering his/her business and career.

As programming evolved over the last many years, companies began to expect new recruits to have a fair idea of various aspects of programming, such as oops techniques, client/server programming, web application development, user security and networking etc. This resulted in a more rigorous pre-employment training.

Acquiring these skills and knowledge is more crucial and necessary when you set out to develop a database application on your own.

The picture given below gives all the skills which you need to acquire, to become a better programmer.

List of skills for developing database applications

A good programmer is expected to learn all these skills and implement them during application development. When you are in the process of learning these skills, the obvious question you will ask is - Where should I start? Or, Which is the first skill should I begin with?

There is no one best place to start. And, remember that all the skills should be learn't while you are learning application development. The easier skill to start with is designing of forms and displaying of data. Form designing is also a fun activity to an extent. In the earlier days of programming, form designing was very straight-forward. Each form was associated with an event in an organization, suitably designed to use and record the event. For instance, to record purchasing of goods a purchase invoice form was designed and the purchase transaction event was recorded. Similarly, for every organization's event such as sales, purchase, expense, returns a corresponding form was designed and used to record the transaction.

For very small applications this worked well. However, for organizations this was not suitable because of the number of forms which had to be created and maintained. OOPs technology was introduced to enable programmers achieve better code re-use and in the above example, lager number of events could be recorded using lesser number of forms. This also resulted in better user interface management and higher overall efficiency. Note that using OOPs in forms is only one instance of implementation of OOPs. There are hundreds of other implementations of OOPs which you will come across during application development. The book titled "Develop An Inventory Management Application Using Microsoft's Visual Basic" leads you through all the concepts of OOPs using Inventory as the domain and application development as the overall objective.

Readers should note that a thorough understanding of OOPs is a must to understand the working of development tools like Visual basic and C# which ever version they are. Readers should also note that knowledge of OOPs is a must for developing modern two-tier or three-tier applications.

If you are already aware of OOPs, both the concepts and implementation, you can start with the title "Develop An Accounting Package Using visual basic 6.0 (Client/Server Edition)" which introduces you to developing a database application for the accounting domain using Visual Basic and Sql Server.

Sql server plays an important role in developing modern database applications. This is because, for a particular organization, there will be a single and central database which is accessed by many applications locally or over the Internet. In this scenario, Sql server becomes the heart of any organization's software solution.

When developing software solutions for organizations, "user security" becomes an important feature. Users security refers to the functionality using which you can protect your software application from being accessed by unauthorized persons and protect valuable data contained in the Sql server database. To implement this feature programmatically you have to build the logic into the application. This is the underlying theme of this book while the overall objective is to teach application development using the two-tier concept. The "tiers" concept was introduced by Microsoft to enable programmers develop applications which can be used by many users simultaneously. Using the "tiers" concept applications can be logically partitioned and deployed over different machines. This enables many users access a software application efficiently.

Once you have built up a solid programming foundation for yourself after reading the above two books, you can start with either web application development or client/server application development.

Since last ten years or so, programmers have been demanding technologies from Microsoft which can be used to develop applications which can run internally inside an organization and at the same time can be accessed from outside the organization over the Internet with authenticated security. To meet this and many more such requirements, Microsoft introduced the .Net framework. Using the .Net framework, programmers are now able to build distributed applications.

Building distributed applications requires knowledge of the new .Net technologies along with tested and proven technologies such as OOPs.

Brodly, a programmer can develop two types of applications for the .net framework. One is the client/server multi tier application and the other is the multi tier web application. The titles "Database Programming using Visual Basic 2005, C # 2005 and SQL Server 2005" and "Develop your own Web Accounting Application using ASP.Net" teach you how to develop these applications using the .net framework.

With these two titles, you can build applications which will allow users in the same organization access their applications from within their organization located in a paricular site and also access the applications over the Internet. Note that for an organization, it makes sense to have a single database which is used by both the client/server applications and the web applications. This is one of the underlying themes of the .net titles and AJAX booklet.

As the web application usage increased Microsoft introduced its own version of AJAX which facilitates instant updates and faster response times. AJAX provided one more tool in the hands of the programmers to meet the growing worldwide demand for fast web applications.

In conclusion, experienced programmers can go for the expert pack which includes the titles "Database Programming using visual basic 2005, C # 2005 and SQL Server 2005" and "Develop your own Web Accounting Application using ASP.Net". Along with the expert pack, the AJAX booklet is included free of cost. Note that for maximum benefit, the AJAX booklet has to be read after reading both the .Net titles.

Beginners can go for the learner pack which includes all the four titles and the AJAX booklet is free. You save the maximum with this pack as you pay for only three books.