Rating: Summary: Code Download Corrections Review: I'm still trying to catch up with the "rest of the gang" so this review is later than the others.It is a very good book in applying computer science knowledge like data structures to .NET. I have seen better explanations of interfaces in other books: for example, Deborah Kurata's "Doing Objects in Visual Basic 6", Jesse Liberty's "Programming C#", and the classic on C#, Grant Palmer's "C# Programmer's Reference". Regarding the downloaded code, I found it to be much better than most. I corrected 5 problems: 1. A "Shuttles" dll had to be created so "ShuttlesInjectorUI" would work (make sure the reference for this is set correctly, also). 2. "Math" didn't have a module, which I created from the book (though the two formulas for area mystify me: correct formula, area = pi * radius **2). 3. The reference to "vb7cr" in "Nodals" had to be corrected in the project properties. 4. The "BaseTree" module was in the appropriate directory, but had to be added to the "Nodals" project. 5. The "protected" access modifier for "StopInjector" in "Shuttles" had to be changed to "public".
Rating: Summary: Code Download Corrections Review: I'm still trying to catch up with the "rest of the gang" so this review is later than the others. It is a very good book in applying computer science knowledge like data structures to .NET. I have seen better explanations of interfaces in other books: for example, Deborah Kurata's "Doing Objects in Visual Basic 6", Jesse Liberty's "Programming C#", and the classic on C#, Grant Palmer's "C# Programmer's Reference". Regarding the downloaded code, I found it to be much better than most. I corrected 5 problems: 1. A "Shuttles" dll had to be created so "ShuttlesInjectorUI" would work (make sure the reference for this is set correctly, also). 2. "Math" didn't have a module, which I created from the book (though the two formulas for area mystify me: correct formula, area = pi * radius **2). 3. The reference to "vb7cr" in "Nodals" had to be corrected in the project properties. 4. The "BaseTree" module was in the appropriate directory, but had to be added to the "Nodals" project. 5. The "protected" access modifier for "StopInjector" in "Shuttles" had to be changed to "public".
Rating: Summary: Extremely Useful Knowledge Review: If you are new to programming or if you want to find a book that introduces you to key concepts. You need this book. Mr. Shapiro introduces the new .net platform by giving you a summary of all the components that go into the framework. He provides you with a robust but concise understanding that will guide your programming in such a fashion to promote full use into the potential Microsoft is offering. Without this understanding you will fail to understand the unavoidable failures in your code. Secondly, it is extremely hard to find book that blend a good understanding of Object Oriented Programming with Visual Basic .Net. The .NET framework centers around creating powerful classes and objects. Mr. Shapiro gives you the full story, illustrating his full knowledge on the subject and creating understandable illustrations that bring concepts to full understanding. When I started reading this book I approached OOP with fear and now I feel I can use its full power to accomplish great feats with ease. Many books may be thicker, offer more information on specific form controls and components, but few attempt and succeed at creating an efficient and knowledgeable programmer in the end. Mr. Shapiro provides the theory that brings VB.NET to life. I highly recommend that if you are interested in programming with expertise and joy, that you purchase this primer immediately.
Rating: Summary: Extremely Useful Knowledge Review: If you are new to programming or if you want to find a book that introduces you to key concepts. You need this book. Mr. Shapiro introduces the new .net platform by giving you a summary of all the components that go into the framework. He provides you with a robust but concise understanding that will guide your programming in such a fashion to promote full use into the potential Microsoft is offering. Without this understanding you will fail to understand the unavoidable failures in your code. Secondly, it is extremely hard to find book that blend a good understanding of Object Oriented Programming with Visual Basic .Net. The .NET framework centers around creating powerful classes and objects. Mr. Shapiro gives you the full story, illustrating his full knowledge on the subject and creating understandable illustrations that bring concepts to full understanding. When I started reading this book I approached OOP with fear and now I feel I can use its full power to accomplish great feats with ease. Many books may be thicker, offer more information on specific form controls and components, but few attempt and succeed at creating an efficient and knowledgeable programmer in the end. Mr. Shapiro provides the theory that brings VB.NET to life. I highly recommend that if you are interested in programming with expertise and joy, that you purchase this primer immediately.
Rating: Summary: A must-have book despite being mis-titled Review: If you really want to know they whys, hows and wherefores of Visual Basic.Net and the .Net framework in general then you should read this book. However, it is not really a reference, like a dictionary. It is a well-written, carefully thought-out explanation of Visual Basic.Net and the .Net framework. There are several chapters on important concepts like delegates, data structures and design patterns and why they are used. You don't see such concise and clear explanations like these in most books. The author does not spend as much time discussing the details of the language or the framework as other books(there are many good books for that out at this point- I liked Programming Microsoft Visual Basic.Net by Franseco Balena). But this book was very important to me to know why- why delegates? why arrays? why structures? why objects? etc. If you want a really good and thorough understanding of this subject then buy this book. You will need another to go over the details or if you need an introduction (or just use the online documentation which is very substantial and has plenty of detailed examples and explanations).
Rating: Summary: Great Book! Review: Simply put, this book is amazing. In order to take fully advantage of the .NET Muscle, you need a full understanding of the .NET Framework. This book will take you there. The chapter that covers the differences between Value Types and Reference Types is hands down the best I've read. Mr. Shapiro has a gift for writing, so be sure to take advantage of it. - MKP
Rating: Summary: Examine the code in the book... Review: the first code example doesen't even work! He must have tested it in the beta version because his examples are sloppy, and poorly organized. I would have liked to have seen more code. In some spots his explinations are overly simple. In some spots it seems like he doesn't know what he is even talking about so he just fills in with techno-jargon. Mostly the code is just plain disappointing, what does work, needs to be re-worked so that it is not so buggy, for example, he uses implicit class declarations to demonstrate inheritance, then talks about the importance of strong type declarations. It goes on and on like that. His code on the web is not any better. Don't waste your money, I think that I will get a Wrox book next.
Rating: Summary: Examine the code in the book... Review: the first code example doesen't even work! He must have tested it in the beta version because his examples are sloppy, and poorly organized. I would have liked to have seen more code. In some spots his explinations are overly simple. In some spots it seems like he doesn't know what he is even talking about so he just fills in with techno-jargon. Mostly the code is just plain disappointing, what does work, needs to be re-worked so that it is not so buggy, for example, he uses implicit class declarations to demonstrate inheritance, then talks about the importance of strong type declarations. It goes on and on like that. His code on the web is not any better. Don't waste your money, I think that I will get a Wrox book next.
Rating: Summary: Five stars to mastering Visual Basic .NET Review: When I started investigating Visual Basic .NET it became clear that the "complete reference" could run to thousands of pages and still not teach you how to program in Visual Basic .NET. I have thus devoted most of this book to five critical areas: Inheritance, interfaces, aggregation, delegates and the core. Concentrate on these five elements, the five stars of this book, and you'll soon be writing the software you never thought you could. Star 1: The first seven chapters cover the core elements. Besides the lexical and syntactical elements of Visual Basic, I devoted one chapter to operators; one to control, flow and iteration; and one (long) chapter to methods. Star 2: Fully understand inheritance. Pay no attention to the "experts" that claim it's "dangerous," "problematic," and "unnecessary." Sure, any powerful tool in foolhardy or untrained or undisciplined hands can be dangerous; but that's all the more reason to obtain an unshakable understanding of inheritance (and all aspects of OO). The reason: Not only is inheritance one of the three legs of the object-oriented programming stool, it is the keystone of .NET. Without it there is no .NET. My chapter on classes covers every aspect of inheritance. Star 3: Understand interfaces like you understand your own soul. I devoted a whole chapter to interfaces and numerous sections in this book, and I probably covered interfaces more than any other author. Interfaces are the very fabric of polymorphism in .NET. You can write software and pretend interfaces don't exist; but know this: unless you master interfaces, you will never be a good .NET programmer. Ignore interfaces and you will not be able to tap into the neural network of .NET. Star 4: Understand aggregation and composition in OO design and how these patterns are translated to code. Yes inheritance is a critical element as I just said; but it's aggregation and composition that allow you to inherit a form or a component that has all kinds of "embedded" components and controls in it. I cover aggregation in many places in detail. In the chapter on data structures I show you how to write a linked-list that utilizes the aggregation, composition and interface patterns. Couple with inheritance the list is easily extended to binary-node or multi-node trees. Star 5: Become an expert on delegates and delegation. I spent so much time on delegates my publisher thought I would never finish the book. I have not given you pages and pages of code showing delegates in action; rather I have gone to great lengths to help you understand them, how they are used, what they accomplish and why they were invented (with code of course). Delegates are better understood when compared to interfaces as well as pointers. (Sun hates delegates and loves interfaces (for Java), but Microsoft loves and gives you both in .NET). Delegates are found everywhere in .NET. They are the foundation of the event model, the thread model, and more. You'll use them in many sophisticated algorithms, such as sorting data. And they promote the highest level of loose coupling between objects of any OO technology in existence today...
Rating: Summary: Quite Appalling, Actually Review: When you buy a book with "Complete Reference" in the title, you expect one of two things:
1. A thorough reference book that you can use for, uh, reference.
2. A book that will completely explain whatever is in the last half of the title - Visual Basic .NET in this case.
This book fails dreadfully on both accounts.
Let me start by saying that I absolutely love Visual Basic .NET. It is a terrific development environment, and once you start to get a feel for working with objects, you wonder how you ever finished a project before.
This book was actually the first .NET book I bought, over two years ago. I found it utterly incomprehensible and had to go on to other books for help in learning to use Visual Basic .NET. Recently, I've been reading through it again - thinking the book might be useful as a reference now that I have a much better understanding of Visual Basic .NET.
Wrong again. You are much better off with the online reference material that comes with Visual Studio. After realizing that I had wasted $30 and a lot of my precious time on this gigantic paperweight, I was stunned that this sucker got 4.5 stars!
It turns out that one of the first reviews was written by none other than the book's author, Jeffrey Shapiro. (Needless to say, he gave himself five stars.) After reading some of the other five star reviews, I darkly suspect that they must be close, personal friends of the author.
The fundamental problem with this book is that it is so abstract. A reference should, by definition, be detailed. This book spends hundreds and hundreds of pages talking about abstract concepts in object-oriented development in a very vague way. It uses lots of abstract object-oriented terms without really defining them. It doesn't really tell you "how to" do anything. You just come away with a vague impression that however you go about developing something in Visual Basic, it should be "object-oriented".
The book was also poorly organized. (I don't believe that this is the fault of the author, though. It's the fault of the book's editors.) It is very hard to find anything in the book, which severely limits its effectiveness as a "reference". The index is terrible. Concepts which are mentioned in many places throughout the book will only have one or two entries in the index. This, too, severely limits the book's usefulness for its stated purpose.
If you want to learn Visual Basic .NET (and you want to learn it from books) here are my recommendations:
1. MURACH'S BEGINNING VISUAL BASIC .NET, by Anne Prince - This book is 700 pages of meticulous and thorough reference. This book tells you "how to" do almost any basic programming task in VB.NET, from creating user interfaces to accessing databases. The format is very easy to read and understand. Each section is very short, takes one topic at a time and covers it very thoroughly. The entire book is meticulously cross-referenced, making it very easy to find whatever you need. This should be the first book you buy.
2. REFACTORING, by Martin Fowler - This book isn't specifically a Visual Basic .NET book. In fact, it isn't really language specific at all even though all of the references are in Java. However, you do not want to pass up this book. It is a classic in object-oriented development. It is very, very easy to read. (In fact, the very readable Java examples illustrate just how similar VB.NET is to Java.) REFACTORING is absolutely stuffed with simple, easy to follow advice on how to write better code (and how to fix the really lousy code you just wrote). I have had this book for nearly two years, and even now hardly a week goes by but I am picking up this book and leafing through it to glean more and more useful advice. One of the nicest things about REFACTORING is that the author, Martin Fowler, never talks down to you, the reader. He speaks to you as a colleague. The book also displays the author's very finely developed sense of humor. This makes the book easier and more enjoyable to read, but it never gets in the way of the material. I can't recommend REFACTORING enough.
3. MURACH'S BEGINNING VB.NET tells you how to do all of the basic stuff that you're always asking about when you are first learning. REFACTORING tells you how to organize your code in such a way that it is easier understand and maintain. Once you've got these two books as a foundation, you can pick up any of the other excellent "how to" types of programming books for tips on specific topics.
4. You certainly don't need it in order to be an effective developer, but if you want to study the abstract concepts of Object-Oriented Analysis and Design, go straight to the source and buy one of Grady Booch's books. Just be sure to bring your own oxygen: Booch tends to stay up in the stratosphere where the air is cold and thin.
|