Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!

 



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:
  • It's not bad (Score:3, Interesting)

    by bwd ( 936324 ) on Monday December 05, 2005 @02:51PM (#14186827) Homepage
    Although severely crippled when compared to the enterprise edition, Microsoft's express edition of their Visual Studio products are actually decent. You can get basic programs coded in Express without a lot of the overhead (or features) of the professional editions.
  • Re:Could be worse (Score:5, Interesting)

    by CastrTroy ( 595695 ) on Monday December 05, 2005 @03:09PM (#14186989)
    If you're just starting out programming, you probably shouldn't even be using anything as complex as Visual Studio, any edition. At most you should be using something that has code highlighting, and maybe some code completion. A full fledged IDE is not a good tool for teaching programming. Mind you, eventually people should learn how to use and IDE, but only after they actually know how to program. I find that this is where a lot of courses lack. They either get you using the IDE from the start, and you don't learn anything, or they never teach you about the IDE, and therefore you don't know how to use really useful features such as the debugger.
  • by grasshoppa ( 657393 ) on Monday December 05, 2005 @03:16PM (#14187048) Homepage
    Why not just start with QT and BAM! Instantly portable app ( well, not instant. I'm sure there are considerations you have to keep in mind if you want portable, but it's easier at least )?

    I do light programming, nothing professional, so maybe I'm just not in on the loop on this one.
  • Re:Could be worse (Score:5, Interesting)

    by Lumpy ( 12016 ) on Monday December 05, 2005 @03:16PM (#14187056) Homepage
    buit they have fixed that recently. VB.net is NOTHING like Vb of yesteryore. they got tired of all the bitching about how VB is not a real language so they convoluted it into a bastardized C++,C# mess.

    Honestly most VB dev's I know still have a copy of VB6 around to do the stuff they need running in a hurry... you can not program anything fast in VB.net Even printing is a major PITA compared to the old VB6 days.

    Many are abandoning it for other RAD languages. Python for example it's better cross platform and with the right setup your GUI looks good across platforms as well as able to compile to a single EXE.

  • by MosesJones ( 55544 ) on Monday December 05, 2005 @03:18PM (#14187077) Homepage
    Heading for Karma hell on this one but...

    I've used VS 2005, and I have to say that its poor at doing this sort of thing in comparison with a decent Java IDE these days. MS has lost a lot of its "ease of use" in this area (decent layout managers for instance) that it used to pride itself on.

    I'll burn some Karma... but then I'm probably one of the few who has actually tested this stuff out.
  • by veg ( 76076 ) on Monday December 05, 2005 @03:23PM (#14187125) Homepage Journal
    What is VB for ?
    Is it for beginners ? If so then well done - people who don't understand the essentials of coding can now knock out their dodgy apps at a faster rate.

    Is it for experienced developers ? Only Joking.

    Is it for everyone across the board ?
    No! You have to go out of your way to develop a serious app in VB because the abstractions that make it attractive to the uninitiated are a bugger to get round.

    OK, in honesty, I don't like IDEs, debuggers or any of that stuff, but if you want it simple then the problem was cracked years ago.
    There's a movie in existence (I have it if you want a copy) of Steve Jobbs creating a full-on-graphical app, that does database lookups and does the washing-up, and he proudly adds "and I still haven't had to write a single line of code!". This was in 1992 and on the NeXT. The wonderful development environment he was on about has grown into XCode and is given away FREE with OS-X.

    Now, the idea of writing apps without needing to write code scares the pants off me...but Xcode also lets you, and indeed encourages you, to get deeper - *and makes it easier to do so*
    You don't even need to spark-up the IDE.

    If I *had* to design a graphical dev environment then XCode is what I'd use as a reference.

    But I prefer vi and gcc...so what do I know ?
  • by Gulthek ( 12570 ) on Monday December 05, 2005 @03:25PM (#14187137) Homepage Journal
    Ruby, Perl, Python?

    Sure basic was easy, but it was very...basic.
  • Your a CS major... (Score:2, Interesting)

    by everphilski ( 877346 ) on Monday December 05, 2005 @03:30PM (#14187188) Journal
    ...not a (insert-language-here) programmer. Get that through your head. (the sooner, the better) A good CS major should be able to pick up any language because the concepts are mostly the same.

    -everphilski-
  • Re:It's not bad (Score:4, Interesting)

    by EvilMonkeySlayer ( 826044 ) on Monday December 05, 2005 @03:31PM (#14187196) Journal
    It's severely crippled when compared to the standard edition dude.

    For example, no crystal reports, you can only connect to a sql 2005 mdf file for a database. (No connecting via odbc or ole)

    That said...

    The express editions (and free until november 2006) are pretty good if you're wanting to do general programming (non-sql/db) stuff.

    However, let me advertise something i've used in the past Sharpdevelop [icsharpcode.net] which can create programs written in VB.NET, C# and C++ (requires MS Visual Studio 2003 C++ Toolkit).
    Version 1.0 only has a database viewer type thing, version 2.0 [sharpdevelop.net] (which is still a work in progress.. classed as alpha I think) is apparently at some point going to have a proper database explorer akin to VS 2005 where you can drag and drop db fields etc into a program you're creating.
  • by RobinH ( 124750 ) on Monday December 05, 2005 @03:34PM (#14187225) Homepage
    Actually, if you just want to get in an write some code quickly, back in the early 90's, QuickBASIC was the way to go. You didn't need to worry about line numbers, and it was structured.

    I find VB6 is also a quick way for a beginner if they wanted to jump from console applications to GUI development. However, for the hobby programmer to jump from anything non-object oriented to VB.NET is going to be a huge jump.

    At work we've used VB6 extensively to write front-end GUI's for our systems, where the mission critical stuff is run either on a server or in an industrial controller of some kind. We love that VB6 is a "RAD" development environment and has a huge volume of "howto"'s available online for any task you might want to do. It's just a good fit for what we were doing.

    Now that we're looking at switching to VB.NET, we're finding it much more cumbersome. We agree that it's more powerful, but we don't need any of that extra power - we just want simplicity and speed (of development). There are just too many cases in .NET where you have to remember to modify the code in 3 places just to make one little change, and VB6 took care of more stuff for me (like the whole "do I use Dispose(True) or Dispose(False), and do I even need to call it on this particular object?"). Don't even get me started on the compact framework.

    I would have liked to see a VB7 that had no connection to the .NET framework. As it stands we're going to be programming in VB6 for several more years until something better than VB.NET comes along.
  • by killjoe ( 766577 ) on Monday December 05, 2005 @03:42PM (#14187305)
    I honestly don't know why companies like MS spend so much time trying to make programs easier to write. The initial building of the application is less then 10% of the lifecycle of the application and it makes no sense to try to make it faster to BUILD the application. They should instead concentrate on making it easier to maintain, debug, update, install, document, and deploy the application.

    That's where Eclipse and the rest of the java stack beats the .NET stack hands down. Unit testing, build systems, xdoclet, maven, etc combined with the MVC frameworks are much better then anything MS gives you.

    ROR, django, zope, webobjects etc are also fantastic frameworks that look to the long term and help ease the drugdery of maintaining and debugging complex applications.

    VS.NET makes it all to easy to slap a few controls on a page, embed the SQL into the that page and display a gee-whiz grid but you pay for that every day the application is in existance.
  • by Anonymous Coward on Monday December 05, 2005 @03:50PM (#14187394)
    "It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration." - Edsger Dijkstra

    'nuff said
  • Free E-Book (Score:1, Interesting)

    by Anonymous Coward on Monday December 05, 2005 @04:32PM (#14187786)
    You can get the Microsoft® Visual Web Developer(TM) 2005 Express Edition: Build a Web Site Now! e-book free when you register the Express Edition(s).

    https://connect.microsoft.com/downloads/downloadDe tails.aspx?siteid=40&downloadid=240 [microsoft.com]
  • by Hosiah ( 849792 ) on Monday December 05, 2005 @06:28PM (#14189020)
    What's wrong with coding as a hobby and using these tools ?

    The fact that your "hobby" attatches more strings to your life than other people's "jobs"? Until you've made the *jump* from MS to an Open Source platform, you have no idea. You're like somebody who's lived in a little box all their lives and doesn't believe in the sky. Once you can look far back on your MS days, you'll wonder if there's that much difference between "programming" in Visual Basic and huffing glue. Sure, it's a hobby, and you're hurting no one but yourself...

    You get a major Linux distro, and you have not one or five or ten but something on the order of twenty programming languages and the compilers and interpretters and tools appertaining thereto, available to you immediately - FULL STRENGTH! - ready to WRITE Microsoft Windows out of the box - not crippled until you buy the super-duper-pooper-deluxe enterprise "professional" edition - all for free, nothing to buy at all, and very little to download (the odd library or development package, also free). Now *that's* a good start to a hobby.

Mystics always hope that science will some day overtake them. -- Booth Tarkington

Working...