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:
  • hmm.. (Score:5, Insightful)

    by naelurec ( 552384 ) on Monday December 05, 2005 @02:53PM (#14186846) Homepage
    Book Title: Microsoft Visual Basic 2005 Express Edition: Build a Program Now!
    From Review: If you're an absolute beginner, this book won't teach you how to program in Visual Basic.

    Brilliant!
  • Could be worse (Score:3, Insightful)

    by ezweave ( 584517 ) on Monday December 05, 2005 @03:01PM (#14186903) Homepage

    Everyone has to learn somewhere, although if you are serious, VisualBasic is not the place to start. In my experience, the typical VisualBasic developer is just that. A good developer needs to understand concepts outside of the frame of wizards and such. Probably one of the biggest flaws in VisualStudio in general. MS loves wizards.

  • Re:Could be worse (Score:3, Insightful)

    by pilkul ( 667659 ) on Monday December 05, 2005 @03:05PM (#14186953)
    You'd be right if this was VB6, but VB.NET is basically C# with different syntax. There's no reason why you couldn't learn proper programming with it.
  • Re:Could be worse (Score:3, Insightful)

    by Malc ( 1751 ) on Monday December 05, 2005 @03:06PM (#14186960)
    I'll not argue with you about what it takes to make a good developer. But what hobbyist programmers, like say the author of the story? It strikes me that they have different needs and interests.
  • by ATeamMrT ( 935933 ) on Monday December 05, 2005 @03:08PM (#14186974)
    Back in the 80's, my first language was basic on an Apple II+. It was a very easy language to learn, every line of code was numbered, and everything was logical. Line 10 would run before line 20, and so on. For those who have never seen it before, a very simple password protection program might be:

    10 Home
    20 Print "What is the password: "
    30 Get A$
    40 If A$ = "b" then goto 70
    50 Print "Wrong!"
    60 Goto 20
    70 Print "Right"
    80 End

    Now compare that kind of linear logic to a Java program with classes and { () and all that jazz. I remember when starting Java, thinking why do I need 3 different classes imported just to do a simple hello world? VB was no different, they had forms where you needed to drag and drop control boxes, and the like. Very little is straight forward, where a user/programmer could figure out the logic without a teacher/tutor.

    I wonder how much more difficult the learning curve is? Maybe the programs will be better, and the programmers more skilled, but there was an element of fun in a language that is so simple a 7 year old can write his own code. Compare that to my college level Java class, which started 28 strong, and ended with only 16 students for the final exam.

    What happened to a computer language that is intuitive and very easy, that anybody can learn?

  • Re:Could be worse (Score:3, Insightful)

    by Swamii ( 594522 ) on Monday December 05, 2005 @03:12PM (#14187017) Homepage
    Not all wizards are bad. When machines do things for us, there's the benefit that the machine will do it the same way time, whereas human coding is error prone and different every time. Intellisense (auto-complete) is one such "wizard" feature I love about IDEs, and I've found VS's auto-complete to be superior to several other IDEs I've tried. Other wizards such as Eclipse's "Add a class" wizard and Visual Studio 2005's properties & settings UI are examples of useful wizards that save time and are tedious for a human to do.

    What you're really arguing is that real developers should understand what's going on under the hood. Yes, that is a valid, up to a point. Eventually, the software & hardware worlds begin to blur, and frankly, I don't care how a particular piece of hardware handles my register variables, simply because I'm almost always coding for a variety of hardware.

    Also, I would argue this book is not targetted at "real" developers. VB jokes aside, a book shouting at you "write a program now!" is probably geared more towards hobbyist devs, and people new to VB & programming in general.
  • by RandoX ( 828285 ) on Monday December 05, 2005 @03:13PM (#14187023)
    Serious question. If you need to build a quick, simple, gui app for an end user (in a Windows environment), what's better? You can do a lot of useful stuff with a couple minutes worth of code.
  • by RandoX ( 828285 ) on Monday December 05, 2005 @03:19PM (#14187091)
    I at least KNOW that VB isn't exactly the best language on the planet. And knowing is half the battle!

    How do you KNOW if you haven't had any exposure to it yet? Forget the moaning masses at /. and make up your own mind. I started with C, then C++, Java (and others I don't care much for, Cobol, Lisp, etc) then VB6 and now VB.Net. Professionally. Day in, day out. Guess what, it's not that bad.
  • A little... (Score:5, Insightful)

    by everphilski ( 877346 ) on Monday December 05, 2005 @03:24PM (#14187133) Journal
    What happened to a computer language that is intuitive and very easy, that anybody can learn?

    Security mostly. Scope is huge. Being able to define things that only exist within the curly braces is a blessing. Namespaces. Classes. Inheritance. All of that stuff that makes development such a joy. I'm not a computer scientist, I'm an aerospace engineer but I do simulation programming and all of these developments in object-oriented programming make my life so much easier. It is harder then when I was a kid and wrote my first programs in QBASIC, but man I'd much rather dig into a book and have to scratch my head a little learning C++ than go back to the old days...

    -everphilski-
  • by Jackmn ( 895532 ) on Monday December 05, 2005 @03:27PM (#14187156)
    As far as learning goes, there are still toy languages available for people to cut their teeth on.

    For serious programs, however, simply things like binary trees and linked lists can be all but impossible to create with old BASIC-style languages. A complete lack of pointers and references makes it very difficult to write reusable code, and even trivial changes can require modifications to the code in a large number of places.

    Traditionally trivial code now has more overhead than it once did, but complex code is far more manageable.
  • Re:Could be worse (Score:3, Insightful)

    by LWATCDR ( 28044 ) on Monday December 05, 2005 @03:38PM (#14187271) Homepage Journal
    "If you were using a framework in the pre-.NET days (such as the old MFC stuff) the wizards would generate a lot of the required macro code and skeleton classes for you. Since the underlying framework itself was so hideous, there didn't seem to be a real need for everyone to understand what the wizards generated then either."
    I think you said it all right there. The Wizards in VS allowed MFC to flourish. IT was a nightmare and if you have a lot of MFC code you are stuck with it until you port it all to the new .net framework. Wizards like just about any tool can be useful. The problem is that hey can also be abused, which MFC did.
  • Well... (Score:5, Insightful)

    by TheSkepticalOptimist ( 898384 ) on Monday December 05, 2005 @03:38PM (#14187275)
    Teaching a person how to create an application WITHOUT programming skills is edging on insanity. Its like teaching a person how to gut the fish, without learning how to get the fish in the first place.

    I found that an uncle of mine going through a VB course focused on this kind of approach, learning how to write an application without learning how to program. The problem is, anytime he came across a programming problem he had to solve, he phoned me up and asked me how the code should look. Without understanding the fundamentals of conditional statements, loops, and functions, few can really start to develop a useable application.

    The fact is, if you want to do anything NOT mentioned in the book (i.e. anything the examples don't cover), your out of luck, because you will not have learned the necessary skills to find out how to do more then what the book mentions.

    I would think this books sounds best for those familiar with programming, but NOT with the VB.Net 2005, for instance, those that are wondering what that new ToolStrip object does. It's designed as a refresher for those looking to understand what new features are and how to use them.

    In any regard, VB is a good tool to be able to develop an application with MINIMAL programming skills, but I would be hard pressed to find someone actually wanting to design an application without some desire to understand how to do some basic programming. Anyone earning a paycheck by writing application swithout understanding how to program should seriously consider the morality of cashing his paycheck.
  • Re:Could be worse (Score:3, Insightful)

    by amliebsch ( 724858 ) on Monday December 05, 2005 @03:45PM (#14187336) Journal
    so they convoluted it into a bastardized C++,C# mess.

    Huh? It is almost exactly the same as C#, but with different syntax. I don't get what's so hard about printing, either. Create a PrintDocument class, add graphics elements to its Graphics(GDI+) class. What's a PITA about that?

  • by LouSir ( 681838 ) on Monday December 05, 2005 @03:54PM (#14187421)
    What's wrong with VB or VB Express ? What's wrong with coding as a hobby and using these tools ?
    Did you read the article where he says he's a hobbyist ? Why do you all need to rag on him, the book and program ?
    In architechture schools you learn to build houses with cardboard first to understand the concepts, then you get to work with concrete.
    Are you all so insecure about your jobs that you wouldn't encourage others to learn to write programs ? I don't see any other ideas from this audience, just hostility.
    LouSir
  • by ScottyH ( 791307 ) on Monday December 05, 2005 @04:26PM (#14187724)
    Not for experienced developers? VB.net is just another language that compiles down to MSIL, so you can do anything that C# does. Although I'm not too big a fan of the syntax, this language can do a ton. And how can you not like debuggers? They can save you a lot of time, and accomplish things that tracing never can. The new version of VB.net even lets you edit code while debugging (just like the old versions of VB)...how's that for cool?
  • by linguae ( 763922 ) on Monday December 05, 2005 @04:42PM (#14187879)

    Well, as a former VB user (don't flame me Slashdotters, I have redeemed myself by learning C, C++, and Java), VB itself isn't half bad. Need a GUI for an application? With Visual Basic, you are done in just ten minutes or so. Need to access a database? Just drag the control, change some variables, type some minimal code, and you're done. Visual Basic allows you to make simple programs very quickly. Now, Visual Basic becomes impractical for larger, more complex projects (such as high-end video games, office suites, real web browsers, and other more complex applications), but Visual Basic is very efficient for small, business applications (e.g., keeping payrolls, databases, etc.). It is so easy to use, a 10-year old can learn it within a few days (I learned VB when I was 10, after learning QBasic for a year, and I know of other programmers who done the same when they were 10. Note that my Visual Basic knowledge is limited to VB 6.0; I don't know anything about VB.NET, so things might have changed).

    So, why do people criticize VB? Well, Unix people don't like it because it is Windows-only and proprietary. Computer scientists and "real programmers" don't like it it breaks their style of programming; while CS majors and "real programmers" think of projects in terms of algorithms and data structures and our languages support that way of thinking, VB users think of programs as GUIs and controls, and their language supports that. VB users are criticized because, on average, they tend to not know as much about computer science topics (such as algorithms, data structures, etc.) than their counterparts, and they tend to only know VB (as compared to many computer scientists and other programmers, who know multiple languages and multiple ways of doing things). There is a culture clash between VB coders and other programmers. Finally, there is some hostility from Unix users who had some experience with badly-made $29.99 shareware Windows applications written in Visual Basic, and now resent VB and VB coders.

    VB is perfectly fine for the projects that it was designed for: GUI wrappers, database accessors, business applications, and other small GUI applications. VB is quickly outgrown, however, when dealing with much larger problems, and if you want portability, forget it. Just use the right tool for the job.

  • Doomed to Repeat (Score:2, Insightful)

    by Bucc5062 ( 856482 ) <bucc5062@gmai l . c om> on Monday December 05, 2005 @05:56PM (#14188705)
    Seems every time a news item about VB comes out, we get the usual I hate VB because, or VB is not a real language, or Real Programmers Sneer at VB, or you can't learn programming in VB.

    Give it a break!

    As an MCT I taught Visual Basic from 3.0 to 6.0 to employees at a software company. it was a fundamentals class that focused first and foremsot on *concepts of programming* (gasp). Conditions, itterations, statments, structure flow, variable scope all hammered in before we got to anything to do with Objects/controls. I used the ease of VB to make learning fun, but always was the focus on the foundations of programming.

    Funny thing, my next class was Objects in VB and again we designed classes outside of the language before using the tool VB to help build a Class. Had I tried that in Java or c++ then the "basic" concepts would be lost in the detail of just getting programs to compile. VB may not be 100% OO, but it is a god platform to show the basics.

    Just because something is easy to use does not make it a bad tool. A hammer is a simple tool that in the right hands can build a house.

    For those who Hate VB, why? What has it done to you? Call your mother a name? date your sister? Do you hate Visual Basic, or Microsoft in general. hate is such a strong emotion against a language that has done nothing more then provide a means for some to learn, others to earn. I hate java....I hate C++...nope, I can't feel it. Can't even come close to hate of two languages that come to mind. I would most likley never code in either language, but mainly because I lack the skill, and the time to master. Such happens after 24 years of programming. I've written in VB, COBOL, RPG, FORTRAN, Pascal, and dabbled in RatFor, C, Java, and now XML. None I hate; not all I like. Now only two am I comfortable with, and yet, given a change (time mainly) I'd *love* to learn C#, or C++. or more of Java. Hate? If's a fine line between hate and love.

    I've said this before, it's not the language, it's the programmer. If someone understands the basic fundamentals of programming then language *does not matter* for that person will apply their understanding of concepts to bring out the best in a language. The rest wil hack, patch, kludge, or slap strings of statements that resemble a program but in fact look like a Rube Goldberg monstrosity left for others to fix.

    As a general rule, when I hear a so-called programmer utter the sentence " I hate ????? language" they either are not a good Programmer, they haven't tried to see the good in anything, or their brilliance limits their vision of other peoples lives.

    (And /. posters complain about the editors who dups news items...)

  • by killjoe ( 766577 ) on Monday December 05, 2005 @08:08PM (#14189793)
    There is no such thing as a self contained EXE for VB. It seems that your bosses computer had the proper runtimes already installed.

    Oh one more thing. VB is never the right tool. It was merely the tool you knew how to use. In this case Delphi was probably the right too.
  • by Jaime2 ( 824950 ) on Monday December 05, 2005 @09:34PM (#14190338)
    Writing code that works is only a small part of the battle. You have to write code that works, is readable, maintainable, reuseable, and extensible. By the time you describe (through the programming language) what the program should do, what interface it should expose to the outside world, what interface should be exposed only to the project, and what should be held internally, also deal with a robust error managent system that works for attended application as well as service programs, possibly deal with packaging issues, security, and information scope and lifetime -- you're so-called simple program isn't so simple any more. Any code that ignores a significant number of the issues listed above is toy code and not suitable for any production environment.

    So, if you want to write crap, a 1970's language is just fine. Feel free to write hobby code in GWBASIC. We won't stop you. Heck, many of us will have a great time helping you. But, truely simple applications don't exist in the professional arena. Modern languages aren't designed to tackle issue that were solved 30 years ago.

    My OO programming students usually gasp when I tell them that there is no application that can be written with an Object Oriented language that cannot be written with an old-fashioned language. The whole point of OO programming isn't to do better things, it's to do the same things we did 30 years ago, only do them better. It's all about the process.

    BTW, line numbers weren't invented to make the program easier to read. They were invented because many systems didn't have a text editor. The best way to insert a line between 30 and 40 was simply to make a new line 35. Going up a few lines and inserting simply wasn't an option.

Saliva causes cancer, but only if swallowed in small amounts over a long period of time. -- George Carlin

Working...