VB.net programming

@@GJC@@

Active Member
Joined
Sep 12, 2010
Messages
44
Reaction score
0
Hi all,

So a while back I decided to start programming and picked VB.net as I had no programming experience and it seemed a good choice (not that difficult but also quite versatile as far as I can tell). Now I decided that tutorials were not the way to go as they do not really explain the code very well.

So I've been reading this e-book. I quite enjoyed it and would like to continue learning VB but now I have a problem. I'm trying to find another book (preferably a e-book but a hard copy is also fine) that starts where the previous book ends.

When I search for books I either find books that cover the same basic elements (declaring variables, using functions, etc.) that the other book did or I find books about multi-threading and other advanced concepts that are obviously to advanced for me.

So I was hoping someone could help me find a book that covers a bit more advanced topics but not so advanced that I have no idea whats going on. :)
 
Seeing as you are just starting, I would really rather look at C# or something in that line [I'm assuming you want to stay in Windows, otherwise I could suggest looking into Java / PHP / etc, etc.]

Then: As software developer, I would really recommend you continue searching the web until you find some sites that are on the level you need: The whole going-to-press thing for IT related material tends to make most printed material outdated by the time it reaches SA. Not saying there isn't great books available, but I tend to go for more expensive, reference type books when I buy a book: For tutorials and learning -- Stick to the web. The type of problem solving skills you will learn to apply using online examples is a great benefit later on.
 
Do C# rather.

Thanks for the suggestion, just curious if there is any particular reason you suggest C# instead of VB.net besides the fact that it's used wider? Also how much harder is C# than VB?
Also on a side note I'm not thinking of becoming a VB.net developer (as in try and get a job developing VB applications), I'm simply starting off with programming if thats why you suggested C#.

Besides it will still be a long time before I have to start looking at getting a job:)

@mh348 I checked out the website you suggested but their a bit pricey, but will probably look at that site again at a later stage so thanks for the suggestion.

EDIT:
Seeing as you are just starting, I would really rather look at C# or something in that line [I'm assuming you want to stay in Windows, otherwise I could suggest looking into Java / PHP / etc, etc.

Again quite curious what the differences of C# and VB are please tell. Also thats why I got a e-book last time, to prevent as far possible to get outdated material (although it could still be outdated and I wouldn't even know :) )
 
Last edited:
Thanks for the suggestion, just curious if there is any particular reason you suggest C# instead of VB.net besides the fact that it's used wider? Also how much harder is C# than VB?
Also on a side note I'm not thinking of becoming a VB.net developer (as in try and get a job developing VB applications), I'm simply starting off with programming if thats why you suggested C#.

Besides it will still be a long time before I have to start looking at getting a job:)

@mh348 I checked out the website you suggested but their a bit pricey, but will probably look at that site again at a later stage so thanks for the suggestion.

EDIT:

Again quite curious what the differences of C# and VB are please tell. Also thats why I got a e-book last time, to prevent as far possible to get outdated material (although it could still be outdated and I wouldn't even know :) )

In my view, C# is a more mature language then VB.NET. As far as I know it's binary equivalent, so it doesn't really matter that much in which language you code, the .NET interpreter will view them as the same.

What I like about C# is that it's a lot more 'natural' to program, and I tend to find more information related to C# than to VB.NET.

---
From a different perspective: I find it's a lot more productive to have an idea for a project and then try to find technology to apply to it, than to try to find a technology and then try to implement some type of solution in it.

Stupid example: Let's say you want an address book type application.

First question would be: do you want this to be desktop or web oriented?

This answer will then guide you to the next question: Let's say Desktop.

Do you want this integrated in .NET or do you want this to run on any platform?

This answer then guides you to the next.
---
Programming is very simple. You learn a few tools and tricks, you learn the basic grammar and syntax -- then you learn to implement it. Implementation almost always involves some type of framework. It's knowing and applying the right framework for the right problem that will give you the most benefit.

Again, as an example: You probably would not want to do embedded programming in .NET
You probably would not want to do mobile programming directly in C++

etc, etc.

The advantage of having a pet project is, that: as well as learning a new technology, you can then start looking at how different it would be using some other type of platform.

Again, a simple example might help:

A while back I needed to get up to speed again with Java 2D graphics. Wrote a small Pacman type game, think it ended up about 5000 lines of code, so really not a big thing.

Then I wanted to see how it would look in Java FX: never worked with JavaFX before, but it took me about a day and ended up at about 300 lines of code to do exactly the same thing in JavaFX.
 
Well, if you have already a little bit of programming experience (or none) I would also suggest rather looking at something like Java, far easier to pick up and get going with it IMHO.
A great book to start with is one called : Java, How to Program. By H. M. Deitel, P. J. Deitel

I used it a few years back, and its still as far as I know in print.
If you are able to understand basic programming, it took me a few days to write a couple of simple applications.
It has good examples that are explained in great detail, it also covers topics such as graphics as well as some basic database development and web application development - might not be a bad way to go considering what MS are doing with Windows 8 (HTML style apps)
 
Hmm okay I see what you mean but just one other thing about C# how much more difficult is it than VB because that is about the only deciding factor, how difficult the language is since I'm only a beginner I don't want to take a language on thats to hard and then just en up not understanding anything.

Also you say I should rather have a pet project and then learn programming as I code the project, only thing is that I find that tutorials dont always explain the code very well or explain it very short, should I just do the tutorials and pull through and try to understand or am I looking at the wrong tutorials?

PS. Thanks for the help so far :)

EDIT : @ ozziej Do you think Java is a better language to learn than C# if so why?
 
How about this article to give you reason for choose C#.

The fact that some studies show VB.NET developers being 10-15% paid less than their C# colleagues may be due to the fact that the perception about VB.NET has still not changed that much and more time is needed to realize that those languages are equal and treated as equal by Microsoft.

Doesn't change the fact that there is a salary difference and many new applications that target .NET tend to opt for C# over VB therefore more job opportunities.
 
Hmm okay I see what you mean but just one other thing about C# how much more difficult is it than VB because that is about the only deciding factor, how difficult the language is since I'm only a beginner I don't want to take a language on thats to hard and then just en up not understanding anything.

That's the lovely thing about programming: It's as complex or as simple as you make it.

For very very small programs VB.NET and C# might look almost 100% the same. It uses a lot of the same syntax, and obviously both is based / runs on .NET

I think as you get more experienced you will grow a lot more with C# than with VB. Specifically when you start going into advanced programming concepts it's easier (or it was easier for me) to go more into depth with C# than VB. To illustrate: as far as I know, the one advantage of .NET is that you don't specifically use pointers. Now, when you begin to program, the difference between a reference parameter and a variable parameter doesn't matter. Then, when you grow a bit, it starts becoming important to know if that media file you are pointing to, are you actually working with all 670MB at once, or are you just pointing to some place in memory where it starts?

And before I get a flame attack of note: I do understand that you would probably not use 'pointers' in .NET. All I'm saying is, even though the language 'hides' it, it's still based on basic computer science ...
 
Sorry I had no intention to begin a flame war just didn't know which one is better

I'm sure you didn't but comparing .NET and Java using the phrase "which one is better" is like comparing Nandos and KFC with that same phrase. Both have pros and cons. There are also highly opinionated advocates in each camp ...
 
There are also highly opinionated advocates in each camp ...

No there's not: Java is just better ...

*/ducks out, and leaves the office to check the general intelligence level of the nearest highway. Not expecting much
 
I do understand that you would probably not use 'pointers' in .NET. All I'm saying is, even though the language 'hides' it, it's still based on basic computer science

References, that's all except when doing interop in which case you'll have the odd IntPtr.

This is one of the big "problems" with new developers going straight into .NET (or Java to some degree): the language does make it "easy" to develop applications very quickly, which is good for business but isn't necessarily good for the programmer's technical ability. Working with a lower level language (or at least one that allows you to manage your own memory) that requires you to "think" more when programming and requires you to, for instance, implement your own list instead of providing some List<T>, means your skills are created and/or improved instead of being a "drag-drop" programmer. There isn't any need to go ballistic and start writing everything in Assembler, that would be the other extreme and while educational, it would also be frustrating which is never good in aspiring programmers.
 
No there's not: Java is just better ...

*/ducks out, and leaves the office to check the general intelligence level of the nearest highway. Not expecting much

Hahaha, I'm actually currently working as a Java developer after many years of Delphi and C#. Personally I don't advocate one over the other although I'm loving the switch to Java, if only for the far superior IDE that is Eclipse.

/runs
 
I have done my time with VB and Java and ASP and PHP. But I recommend JavaScript and C.

If you're looking to tool up in preparation for app programming in say 5 years time, you must get in to JavaScript now. It powers web apps and that entire paradigm which we are approaching at "cloud speed" (Ballmer's words). It's not to be underestimated. JS in Chrome's V8 engine is compiled to machine code, so it runs like a native app. Node.js does the same on the server. I expect JS will soon be powering native mobile apps.

OTOH if you are just getting in to programming for the sake of learning some of the fundamentals of computer software and algorithms (i.e. you have a theoretical interest), I'd start with straight C. It's very simple and unbeatably powerful and it's really the lowest common denominator language. It'll teach you a lot. This book is the definitive manual and very easy to learn from: http://en.wikipedia.org/wiki/The_C_Programming_Language_(book)

Ideally, learn both C and JavaScript. They are very different languages, and cover very different kinds of work.
 
Last edited:
The cloud only works in countries that actually have proper Internet :D

But seriously, Internet access has to be affordable for business as well as Joe Public before the cloud becomes really accessible to all. Although I do agree that the way software development is moving (or being forced, depending on how you look at it), much new development will be happening in the realm of web browsers and JavaScript will be a key tool.
 
So it seems for me at the moment C# is a better choice (note I'm not stating that C# is superior to Java just that I think it will be better for me atm). But what I would like to know is where should I start, as I have already learnt the basics (variables, arrays, structures, procedures and functions) in VB already I guess I'll only need to learn the new syntax for them.

Like you said Bin3 it would probably be a good idea to have a objective, program or what ever you want to call it in mind and then start programming it and learning the language as I go but what I'm woried about is the following: As an example when you guys started talking about the reference and variable parameters you totally lost me, so somewhere along the line I will have to learn these concepts and probably more advanced concepts as well. So I want to know if simply doing tutorials as I go will be enough to teach me these principles, because that was my logic behind reading a e-book, I thought that it might be better if I follow the book and assumed that it would teach me the right stuff at the right time more or less and that it would explain better but I assume I was wrong?. Also if this is not an issue where should I start looking for tutorials and with which subject should I begin (like variables, modules, etc?)

Excuse all the questions I'm quite new to this so don't know a lot about programming, but thanks for the help so far.

PS: I'm not too worried about which language I learn as long as I learn the principles behind programming, which I understand can be applied to any language.

EDIT: So read Tomtomtom's post and again what are the differences between the two languages and which one will suite my needs better (to learn programming principles)? Thanks for bearing with me :)
 
Last edited:
Personally I would focus on tutorials on object oriented programming in the language of your choice. In that way you learn the basics (types, classes, objects, methods, variables, fields, interfaces, inheritance and polymorphism) while becoming familiar with the syntax at the same time. Avoid content that goes into too much detail too quickly, it will overwhelm and you won't pick up the fundamental building blocks crucial to your own development as a programmer.
 
Top
Sign up to the MyBroadband newsletter
X