This blog is targeted at beginning / novice programmers for the Visual Basic (VB) language.

Saturday, March 10, 2007

Get at least 1 book for referencing

I frequent message boards and find that there are so many questions posted that can be answered by simply reading a book. I write this posting not to discourage you from posting a question on a message board; or from someone answering simple questions. We all have been there at one time or another; and I'm a strong believer in there is no such thing as a stupid

I suggest to each and everyone who is in the near beginning of learning a programming language to read one of the 100’s of books out there that are specific to helping the beginners. There are two main reasons this is beneficial to the beginner. The first main reason is that the book is always readily available and has a very useful index of keywords that can provide the answer with in-depth description of why that is the answer. The second reason, and this may be more prevalent than the first one, is that it will cover a huge span of topics and give insight in areas that the beginning programmer may not have ever known about.

Message boards can be great in getting the immediate answer to the new programmer; however, they typically lack a thorough explanation of how the answer was created.

An example would be a new user might ask how to make their application to confirm a request by the user to exit the application. A typical answer might be: to use a statement or method that will pose the question and return the results to the application and then to handle the returned results appropriately. While this is an acceptable answer for the new user to
continue plugging away at creating their application, it is not beneficial to the user because it doesn’t explain on how to determine the best method to pose the question; it also doesn’t delve into the best method to handle the returned results. A more in-depth answer may include providing exact coding to be used, such as:

Create a button to be clicked for exiting the application (assuming the button is labeled “Button1”; use the following code):

Private Sub CmdButton1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdButton1.Click

dlgExitAppResults As DialogResult

dlgExitAppResults = MessageBox.Show _
"Are you sure you would like to exit?, _
"Exit Application",_
MessageBoxButtons.YesNo, MessageBoxIcon.Question, _

If dlgExitAppResults = Windows.Forms.DialogResult.No Then
Exit Sub
End If

End Sub

While this is a little better of an answer; it again doesn’t explain to the user how it was determined to use a dialog result and a message box. It also doesn’t explain how the application is determining what the user’s input is or what the best practice is in a situation such as exiting the application. An arguable problem with this solution would be that it doesn’t ensure the application is properly disposed and especially if the application is properly released from the computer’s memory resources. The first arguable problem would easily be discussed in the most common beginning VB books; the second arguable problem would definitely NOT be discussed on most message boards answering this question. A book would definitely brush upon the subject of releasing the application from the memory, if not going in to detail of the subject it would at the minimum ensure the reader was aware of the importance in doing this.

My best suggestion is that even with the vast amount of resources available to the new and experienced user to still pick up at minimum 1 book that covers a broad spectrum of topics in the programming language. It will typically offer better ability to help understand why certain aspects of the language are important to accomplish and typically what downfalls are related to using other aspects of the language in certain ways. The other reason I cannot stress enough is that while thumbing through the table of contents you will typically find topics you are not as strong in and possibly not even know anything about. These books will provide insight into how, when and why to use certain methods / techniques for a programming language.

No comments: