Please create an account to participate in the Slashdot moderation system

 



Forgot your password?
typodupeerror
×
Microsoft Books Media Software Book Reviews

Build a Program Now 281

Graeme Williams writes "My experience with Visual Studio was several years ago, and limited to a support role. My only serious programming experience was more than twenty years ago, so I'm the kind of hobbyist programmer that Visual Basic 2005 Express and this book is aimed at. Microsoft Visual Basic 2005 Express Edition: Build a Program Now! doesn't attempt to teach you programming in general or Visual Basic in particular. It's focused on introducing the features of the Express Edition of Visual Basic 2005. I think this focus serves the book and the reader very well." Read on for the rest of Graeme's review.
Microsoft Visual Basic 2005 Express Edition: Build a Program Now!
author Patrice Pelland
pages xi + 209
publisher Microsoft Press
rating 9
reviewer Graeme Williams
ISBN 0-7356-2213-2
summary An excellent introduction to Microsoft's new Visual Basic 2005 Express programming system


At the moment, the book is only available in PDF form as a free download from Microsoft when you register Visual Basic 2005 Express. According to Barnes & Noble, it will also be available as a paperback some time this month. The paperback will include a CD with both Visual Basic 2005 Express and SQL Server 2005 Express. This review is based on the PDF.

The PDF is an inconvenient form for an ebook. It's protected so that you can't create your own bookmarks, and Microsoft doesn't provide any, and there are no clickable links -- in the table of contents, for example. There's a menu item for find, but the text doesn't seemed to be stored as text, so find doesn't actually find anything.

The book starts off with brief descriptions of .NET, object-oriented programming and the new features in Visual Basic 2005 Express. I guess it makes sense as a general introduction, and you can skip it if you like. It's certainly not a thorough explanation of object-oriented programming, but it's enough to let someone know that there's more to learn.

The next chapter leads you through installing the software. This is of doubtful value, since it basically advises you to stay with the defaults, which you almost certainly could have done on your own. If you have a problem, the book points you to some online resources, but that's all. I had a problem because my 'My Documents' folder is on a server, and this was enough to break the default security settings. The installation offers to install SQL Server 2005 Express, but neither the installation nor the book tells you that this will leave SQL Server running all the time.

Once the software is installed, you can start programming. The examples in the book are great. Starting with a simple console application to add two numbers might seem silly, but it makes sense in Visual Basic 2005 because you can't just start typing – you have to start somewhere in particular, and you need to know how to do that. Following that, you build a Windows application to add two numbers, a web browser, a database application, and an application that retrieves data from a web service. Each example builds nicely on the one before, and they're functional enough to be useful in their own right.

As important as the examples is what you learn along the way about the tools that make up the Visual Basic 2005 system. The book shows how simple it is to use the built-in components in Visual Basic 2005 to add features and functions to your application including forms, buttons, menus, toolbars, a splash screen, an about box, web services and database connections. This is where the book really shines. It shows you very clearly how to take advantage of the time (and work) saving features of the system.

The book is pretty good at explaining how to design a form. Form design was just awful in previous versions of Visual Basic, but the book clearly explains the new features that make it a little easier. The system is still not perfect – you can't automatically create three equally spaced textboxes (input fields), for example – but that's not the fault of this book.

The book also does a good job explaining the mechanics of starting a project, building applications and libraries, debugging, and "publishing" your application. "Publishing" is what Microsoft calls the process of turning your completed program into an installer which anyone can run to install your program. There's also an excellent introduction to database tables and how to create and use them within the system.

The graphic design in the book could be better. Each step in the instructions is indicated by a large numbered green bullet, which works well when there are only a few steps on a page, but you can easily get lost when one page has ten bullets and five tables. Also, you spend a considerable amount of time setting object properties. The value for each property is shown in a table, but sometimes a single table will include more than one object and sometimes it won't, which can be confusing. Finally, the screenshots aren't very clear. These may seem like quibbles, but an introductory book has a responsibility to be as clear as possible, and then some.

As you work through the examples in the book, you can really feel yourself gaining momentum. The flip-side of this is that as you go through the book, you get less and less explanation for larger and larger chunks of code. The largest single piece of code is 56 lines long. In context, it's presented clearly enough that it's still easy to digest. One way of measuring the success of an introductory book like this is whether it gives you the confidence to keep going on your own, and I think this book does just that.

But what if you're new to programming? If you're an absolute beginner, this book won't teach you how to program in Visual Basic. For example, the book never mentions structures or recursion. You can't do any serious programming just with what you'll learn about programming from this book, but that's not its purpose. The instructions in this book ARE clear enough that you'll be able to follow along, but if you want to get the most out of this book you'll have to spend some extra time working through the examples and with learning the language, even if it's only via the online help.

On the other hand, I don't think you can know so much that this book won't be very useful. Microsoft in its wisdom changes terminology regularly (toolbar is now toolstrip??) and there are many new features in this version of Visual Basic, so it's a good idea to hire a guide.

Depending on your level of experience, you may need other resources to learn everything you want to about programming in Visual Basic 2005, but this is a great place to start."


You can purchase Microsoft Visual Basic 2005 Express Edition: Build a Program Now! from bn.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page.
This discussion has been archived. No new comments can be posted.

Build a Program Now

Comments Filter:
  • Finding VB Express (Score:5, Informative)

    by hotspotbloc ( 767418 ) on Monday December 05, 2005 @03:10PM (#14187003) Homepage Journal
    It seems VB Express (http://msdn.microsoft.com/vstudio/express/vb/defa ult.aspx [microsoft.com]) is a free (445M) download.

    VB Express (.img file)
    http://go.microsoft.com/fwlink/?linkid=54764 [microsoft.com]

    VB Express (.iso file)
    http://go.microsoft.com/fwlink/?linkid=57033 [microsoft.com]

  • Save THREE BUCKS!!! (Score:0, Informative)

    by Anonymous Coward on Monday December 05, 2005 @03:16PM (#14187057)
    Save yourself $3.74 by buying the book here: Build a Program Now [amazon.com]. And if you use the "secret" A9.com discount [amazon.com], you can save an extra 1.57%!
  • Re:It's not bad (Score:3, Informative)

    by adolfojp ( 730818 ) on Monday December 05, 2005 @04:09PM (#14187570)
    For example, no crystal reports, you can only connect to a sql 2005 mdf file for a database. (No connecting via odbc or ole)
    The database issue is true only if you intend to use the wizards or designers to do your database binding, which, in any case is not a good thing to do. You can connect, as with any other piece of software, to any database that you want using inline ADO.NET or much better yet with a data abstraction layer.

    About Crystal Reports... have you tried using the SharpReport library that comes bundled with SharpDevelop?

    Cheers
    Adolfo
  • by Latent Heat ( 558884 ) on Monday December 05, 2005 @09:15PM (#14190228)
    I don't dismiss the idea that there are language snobs, but part of the disdain for VB comes not from people developing quick-and-dirty applications in it but from people asked to maintain massive applications that started out as quick-and-dirty.

    Part of the problem may be that VB enables people with not a lot of experience at program design in any language to generate these quick-and-dirty applications that morph into critical applications in some business that some person then has to maintain. I guess the ability to work with C++ is regarded as a kind of "union card." The C++ qualification weeds out a lot of people. But this idea of choice of language to control programming is not a new one: currently the idea is C++ as a kind of intelligence test; some 20 years ago the idea was forcing programming in Pascal as a kind of test for patience or perhaps obsessive/compulsive neatness as a qualification for good programming.

    I also think there is some fault in Visual Basic itself. If you look over the GoF Design Patterns, Visual Basic is pretty much stuck on the Mediator Pattern, which may tend to flatten program structure and lead to spaghetti code.

    The basic pattern in GUI programming is that you have a widget, say a button, that responds to user input, say the user clicking the button with a mouse. You then have some "business rules" or "program logic" that is supposed to be invoked in response to the button click. The Observer pattern states that you can register some Observer object with button object to be activated in response to clicks. The Mediator pattern states that if you have a collection of button objects, you register a single observer, the Mediator, with all of those buttons, to contain all of the "program logic."

    In Visual Basic you have a form, and you place widgets on that form, and when something happens in those widgets, you have one or more functions for the main form object that respond to those events. Some of the widgets require a lot of hand holding -- they fire off a lot of events for a variety of conditions and the main form code has to figure out what to do in response. The consequence of this is that the main form can get complicated very quickly with numerous event functions and numerous state variables to keep track of what event got fired and which mode one is in.

    In Java, you have these action listener and event listener interfaces that you can register with widgets that signal mouse clicks and other actions. You have the flexibility of having a separate listener object for each widget or having the main form Frame or JFrame object be the listener by implementing the listener interface. You have the design choice of having a flat hierarchy or of having a collection of objects respond to different events. Whether people programming Java are able to use this flexibility effectively is another matter, but Java programmers are not forced to stuffing all of the program logic into the main form Frame object.

    For example, if you have a widget that fires a large number of events and requires specific responses to all of those events, and implementing a widget that way may be a way of make a widget very flexible and easy to customize, you could write a specific Java listener class to not only respond to all of those events but also to implement some filtering logic on those events. In Visual Basic, my understanding is that all of that filtering logic has to go into the main form and that there isn't a simple and obvious way to parcel off that logic to another object. It is for this reason that the language snobs consider that for all of its faults, Java is "industrial strength" while Visual Basic remains a "toy language."

    Now there are language snobs who fault Java for not having closures, the ability to register functions with classes or objects on the fly, for a clunky way of inspecting an object for functions and function signatures called reflection, and so on. But the number of people who understand how to use those features effectively is more limited. There are a lot of people who know how to use objects effectively and are frustrated by VB 6 having a crippled object system.

It's a naive, domestic operating system without any breeding, but I think you'll be amused by its presumption.

Working...