Where to start learning VB

I know HTML, a little Perl and a little Javascript. I want to start learning about VB primarily winsock type stuff. Please keep in mind that about all I know how to do right now is open up VB and plop buttons and things on the screen I know ZERO code. I have tried to start with the "learn VB in 24 hours" type books but they seem like they assume some previous programming knowledge, either in VB or some other language like c or?? Any help is appreciated, web type, free resources would be best. Winsock apps like email and FTP programs that I can get the code for so I can look at it would help also.  I got a few books already and need to learn something before I dump more into books.


 BY theway the books were great for things like Perl and JavaScript but not doing me much good in VB.
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

You could look at the books at mcp.com ..  but they are mostely the 'Learn VB in 24 Hours' type of thing, but at least the online books are free :-)
A good place to start is the 'samples' directory (assuming you installed that option). Just look through all the projects there, they start quite simple and get quite complex...

but remember, the more you play with it the harder it gets....
Or you could enroll on a course !!
The Ultimate Tool Kit for Technolgy Solution Provi

Broken down into practical pointers and step-by-step instructions, the IT Service Excellence Tool Kit delivers expert advice for technology solution providers. Get your free copy for valuable how-to assets including sample agreements, checklists, flowcharts, and more!

Books and tutorials and all else are nothing but a source of reference....real learning comes from doing...every time you make a mistake you learn a valuable lesson and they are well remembered. If you want to learn VB then roll up your sleeves and do it.
Find a project for yourself, make a list of the things you want your app to do and then research each item one at a time until you can put them all togeather.
My first app was nothing more than a conversion pgm for my lady...I converted her DMC numbers into WR numbers (Cross Stitch Thread Numbering System). Of course looking back...it wasn't much of a program...but every time you research one item you can improve upon your older programs....before long you will write programs...everything you need is out there on the web.......research..research..research...Look up Visual Basic and visit every site to gather information but if you are not working on a project it will all be code and nothing but code.
If you put a little program togeather then you will be better armed to handle the next one.

Good Luck and write write write.

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
VB is *NOT* where I would start to learn the art of "Programming". It is a sophisticated, complex tool and if you don't understand the fundamentals of programming in *any* language, VB is just not going to be easy to master (not that it's *easy* to master period!)

Additionally, VB's structure is based on events instead of typical linear execution models of classic languages. This makes debugging it problematic because events sometimes fire in a radically different order than you would normally expect.

There are tools to learning VB, but yes, most of them assume that you understand the fundamentals of programming.

You should take a couple of courses in (or look for books on) programming fundamentals and learn things like loop controls, conditionals, structured logic, data structure and design, etc. These skills will help no matter what language you choose to code in.


Hmmm, I know the answer has been accepted, but I'd be inclined to give mark2150 the points - I think he's got the strongest point (and just look at his profile)..

Although you can learn a lot from just 'playing', you may not be learning the correct methods etc.. you MUST have a base programming knowledge before dabbling in VB.

VB has this thing about it, in that it initially appears easy, and it is (on the tip of the iceberg)- but the problem with 'easy' is that it's also easy to program badly.
muchowebdotcomAuthor Commented:
I was not really sure what the best answer was so I am sorry if you disagree Smegghead. What I really want to do is learn by example, I would like to take a ftp or email program and tear it apart and modify it. That is how I learned what I know about Perl and JavaScript. I look at existing code and eventually learn how to write my own stuff from scratch. I would like to take a course but do not have the time right now. So I have tinker when I can. Thanks to all of you for the comments, problem is I can only give the points to one expert.


I don't disagree with your allocation of points, It's entirely up to you which view you take on board. I was just saying that if you ... "I know ZERO code" and you also say ... "they seem like they assume some previous programming knowledge" then maybe you should learn how to walk before you execute .. umm I mean run (with full compile obviously)...

Good luck  ¦-]

If you want some (hopefully well written - ahem) sample code. Check out my web page. I've got quite a few modules, examples, and full programs, most with complete source.

The examples in the VB docs tend to be cryptic and/or not "real world". Their level of documentation can be, shall we say, less than complete?

Anyway, don't worry about the points (thanks Smeggy!), but you really may want to  try and learn more about conceptual programming than just by diving in. VB is easy to rough out programs in, it's also easy to write completely undecipherable rubbish. There is a draft of a VB style manual on my page that you should look at no matter what language you're going to use.

Good programming is an art. If you want a career (i.e. earn money) in programming you should learn to do it the right way (yes, there is a right and wrong way to code, just generating a .EXE is only the start). Good code can be maintained, modified, updated by someone other than the original coder. It's internal structure should be clear to the most casual observer.

There are things that separate the "men programmers" from the "boy programmers" and we already have too many "code hacks" out in the world. If you're going to learn how to do it, learn how to do it *RIGHT*. Writing a program involves much more than getting the 1's and 0's in the correct order. There are human factors, documentation, installation, management, support issues that are almost never addressed by starting programmers.

Little things that make an app easy and intuitive to use, like:
  o - supplying a .HLP file
  o - adding tool tips
  o - being consistent with the arraingement and layout of screens
  o - picking an appropriate color scheme
  o - using consistent control sizes and fonts
  o - making your screen layouts simple and clean instead of busy
  o - getting the tab order right
  o - Defining your data structures in the code comments
  o - Showing passed/returned values in functions & subs
  o - Indenting and subordinating your code
  o - Learning to write both ends of a loop first and then filling in the middle
  o - Writing a clear & consistent *MANUAL*
  o - etc., etc., etc.

All of these traits are found in good, clean commercial code that are usually NOT found in "beginner" code and are *NOT* usually taught in books or courses.

Sorry for getting on my soapbox, but I've seen too much crap passed off as programs (quite a bit of it from M$) to let this pass w/o comment.


muchowebdotcomAuthor Commented:
Thanks Mark2150 I will keep this in mind, I can use all the help I can get. I do want to do it right....


Also thanks to Smegg

It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Programming Languages-Other

From novice to tech pro — start learning today.