Book Review

 Resume

Today (Feb. 26, 2008), I received a couple of books from Apress. The book titles are:

  1. Beginning C# 2008 Databases From Novice to Professional by Vidya Vrat Agarwal and James Huddleston.
  2. Beginning VB 2008 From Novice to Professional by Christian Gross.

I’m suppose to review these books at my leisure. I will provide my book review comments as I read the books. I’m a developer and a tester so, if I read something that peaks my interest, I will try the code in the computer. This may ultimately become a weakness because I tend to ignore the rest of the book.

19 Comments »

  1. Bennett said

    The VB 2008 book have 16 Chapters when I first opened it. Each chapter is about 25 pages:

    Chapter 1 is Ready, Steady, Go! This talks about downloading and installing the the tools to get started. Since I already have a Visual Studio 2008 installed on one of my VPC, I really did not need to read this chapter in great detail. One thing that I noted is abundance of graphic illustrations on some of the pages. It goes through the Hello World example, Understanding How the .NET Framework Works.

  2. Bennett said

    Chapter 2 is Learning about .NET Number and Value Types.

    This chapter goes through developing a windows forms application that is a calculator. The idea is to introduce organization of numbers and its operations. The following pages just goes through graphical illustration and steps to describe how to create the calculator application.

    In my opinion, the detail description does not make it clear for the new user. What I mean is the presentation format. I have done some other tutorials that puts all the description and step by step detail in a table.

  3. Bennett said

    Chapter 3 – Learning About String Manipulations.

    This chapter talks about writting a translator application. But, before writting the application, it talks about writting a Test code for the application. This is Test Driven Development (TDD). However, it did not mention any TDD concept or use any Framework.

  4. Bennett said

    Chapter 4 – Learning About Data Structures, Decisions, and Loops.

    This talks about “Understanding the Depth-First Search Algorithm”. Now, I already know what this means but, they went through a lengthy explanation of the algorithm. It also talks about value type: byRef or byVal. It again define the test algorithm. It also explains what is a data structure.

  5. Bennett said

    Chapter 5 – Learning About Visual Basic Exception Handling.

    This talks about the understanding of errors, exceptions, and exception handling. This uses the try-catch to handle exception.

  6. Bennett said

    Chapter 6 – Learning the Basics of Object-Oriented Programming.

    This talks about Object-oriented programming, datamember scopes, properties, based classes. This talks about writting an exchange currency application. But, before writting the code, write the tests for the Currency Exchange Application first. It talks about inheritance and scope modifiers. It also talks about partial classes, pre-processor directives, overrides

  7. Bennett said

    Chapter 7 – Learning About Components and Class Hierarchies.

    This chapter talks about Tax and writting a Tax application. Oh, finally, it talks about test-driven architecture. Then it talks about interface, understanding how inheritance and components work. One good thing about this chapter is the inclusion of “Module Test” for every implementation.

  8. Bennett said

    Chapter 8 – Learning About Component-Oriented Architecture.

    This chapter of VB 2008 talks about understanding Kernels. It also goes through a link list implementation in VB, defining Kernel as an interface instead of a class. This is a detailed explanation of a component-oriented Architecture.

  9. Bennett said

    Chapter 9 – Learning About Lists, Delegates, and Lambda Expressions.

    This chapter talks about managing collections. Examples of these collections are ArrayList, Hashtable, ICollection, IDictionary, IList, Queue and Stack. This also talks about declaring delegate, implementing delegates and understanding Lambda Expressions. There is not much examples, just overview and related comparisons of each technology.

    Here is an example of how to use .NET generics-based collections (System.Collections.Generics).

    Dim lst As IList(Of Example) = New List(Of Example)()
    lst.Add(New Example() With { .value= 10 })
    lst.Add(New Example() With { .value= 20 })
    For Each item As Example In lst
    Console.WriteLine(“item (” & item.Value & “)”)
    Next

    Here is how to declare a list in Generics:

    Dim lst As IList(Of Example)

    Using Delegates:

    Delegate Sub ProcessValue(ByVal value As Integer)

  10. Bennett Fonacier said

    Chapter 10 – Learning About Persistence

    Important Stuff:
    - When data is moved from one medium to another, it is streamed.
    - There two major types of streams: text and binary
    - Text streams are universal and can be read by all computers.
    - Binary strams are specific to the programand sometimes tothe processor.
    - When straming data, it is best to customize as little as possible. Doing so will complicate the program, and potentially introduce errors where none should exists.
    - It is important to understad the concept of marshaling and the fact that each medium will have a different representation of the type. A large part of the programming day will involve moving data from one stream to another.

  11. Bennett said

    Chapter 11 – Learning about .net generics

    This chapter is as clear as mud. The author attempted to explain generics using a spreadsheet application. It was not clear to me what lambda expression is doing in a .net generics.

  12. Bennett said

    Chapter 12 – Learning about Application configuration and dynamic loading.

    In this chapter, the author provided a detailed explanation of application configuration and dynamic loading of application configuration.

    Note: writing your own configuration section is not difficult, but it is tidious. It is tedious because you need to explicitly tell the configuration infrastructure what every item means and how you will use it. There is no simple way to get around this issue, because the configuration infrastructure needs to know which configuration items should be processed and how they should be processed. Thus, to implement a configuration section with multiple items, you will need to use more pieces of the predeconfiguration fined infrastructure in the same manner.

  13. Bennett said

    Chapter 14 – Learning about relational relational database data

    In this chapter, it talked about the concept of database and how it is used in VB.NET. It showed a basic use of ADO.NET and Designer generated code in Visual Studio Express.

  14. Bennett said

    Chapter 13 – Learning about multithreading

    In this chapter, the multitasking as it relates to multithreading. Multithreading is about processes and data. A single thread is like a single job or process that has its own data. A multithread is more than one process/data running at the same time. Visual Studio and .NET supports programming languages, such as, Visual Basic to run multithread application.

    The details of implementing a multithread involves AquireReaderLock, AquireWriterLock, DowngradFromwriterLock, UpgradeTowriterLock, ReleaseLock, ReleaseReaderLock, ReleaseWriterLock.

  15. Bennett said

    Chapter 15 – Learning about LINQ

    This chapter is interesting. I have attended a demo of LINQ but never read a chapter about it. This chapter provided a different view of what else is available in LINQ.

    Important stuff to remember:
    - LINQ is an API that sits on top of other technologies such as Visual Basic objects, relational databases, and XML documents.
    - LINQ can work effectively only if the underlying data source technology has been optimized for LINQ. Otherwise, you are left with having to load a single record set and then manipulate that record set.
    - Regardless of the data source, the techniques used to query and write LINQ are identical.
    When manipulating LINQ objects, the methodthe s and properties associated with various data sources are different. For example, when searching XML documents, ou can use XML Document Object Model (DOM) methods and properties that are not available when manipulating plain-vanilla objects.
    - LINQ is not just a syntax, but a series of extension methods associated with sets of data. The methods allow for more sophisticated data pipelineing and processing of information.

  16. Bennett said

    Chapter 16 – Learning about other visual basic technique

    In this chapter it talks about odd features in VB.NET, such as, bitwise operator, modulus, overloading, goto statement, generic constraints, nullable types, and partial classes.

    Important stuff to remember:
    - You will need to use the arithmetic operators.
    - Overloading operators makes sense when you need to define custom types and you want them to support basic operators such as add, subtract, and so on.
    - To be able to use methods or properties on .NET generics parameters, they need to be constrained.
    - Visual Basic has a goto keyword, even though some consider the use of goto as poor programming.
    - The nullable type is used to indicate whether not a value type has been assigned. You will use this type when interacting with database type.
    - Partial methods and classes are in the context of autogenerated source code. They make it easier to split apart the functionality that is autogenerated source code.

  17. Bennett said

    C# 2008, Chapter 1 – Getting your tools

    This chapter is a very good one to start reading and doing. It walked me through installing the necessary tools to install, such as SQL Server Management Studio, Northwind and AdventureWorks.

    Things to watchout when downloading: The author is not specific on the AdventureWorks download. It lead me to a specific website address but there are many versions of AdventureWorks msi package. In addition, the Management Studio needs to be paired with the right version of AdventureWorks or else you will be bombarded with error messages.

  18. bfonacier said

    C# 2008, Chapter 1 – Getting to know your tools

    This chapter is like a getting started with “Hello World” on Visual Studio 2008.

  19. bfonacier said

    C# 2008, Chapter 3 – Getting to know relational databases

    In this chapter, talks about database basic concepts. It also talks about desktop and server databases, database life cycle and types of keys and how they define relationships.

RSS feed for comments on this post · TrackBack URI

Leave a Comment