Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Should I start with VBASIC?

  1. Jan 26, 2012 #1
    I have dabbled with programming before but never really learned it really thoroughly, I've tried C, C++ and Java but never really got anywhere with those 3. I did learn enough of Python and C# to make a simple program, ~100 lines.

    I want to do Computing next year for A level but they use VB6 for the program language component. Now what I'm wondering is as I would be a bit behind the rest of the class as some of them with have done Computing at GCSE, should I start learning BASIC now or should I just try and learn a computing language with a similar syntax to VB6 and then learn VB6 as I go next year so I don't get into any bad habits now?

    Thanks
    AL
     
  2. jcsd
  3. Jan 26, 2012 #2

    rcgldr

    User Avatar
    Homework Helper

    The "non-visual" part of Basic won't be that difficult to learn. The main advantage of VB is how easy it is to create tables or graphs that display on the screen under windows. You have the option of working with a drag and drop development menu where you essentially draw the screen the user will be using, and VB generates that part of the code for you.

    Other "visual languages" have a similar drag and drop development system, but VB apparently includes more mathematcially oriented types of objects (like those graphs), based on feedback I've received from co-workers.
     
  4. Jan 26, 2012 #3

    phinds

    User Avatar
    Gold Member
    2016 Award

    VB6 is probably a terrible choice for the simple reason that it is beyond obsolete. Although you can still run VB6 programs under Window 7, it is not in any way supported any longer and the announced plans are that under Windows 8 (or whatever the next Windows is called) VB6 programs will not run at all (the VB6 runtime library will not be ported to the next version of windows)
     
  5. Jan 26, 2012 #4
    But if they use VB6 for the class, it's probably a good choice :wink: But if you want to do any serious programming beyond the class (whether it be for professional reasons or just for fun) then you might also want to learn another language in parallel. Just focus on learning 'programming' and not so much the language (i.e. the general ideas and practices) and then learning other languages will be easy.
     
  6. Jan 26, 2012 #5

    phinds

    User Avatar
    Gold Member
    2016 Award

    Also, be aware, in case you're not already, that VB6 does NOT translate well to VB.NET and in fact knowing VB6 can almost be an impediment to learning VB.NET

    The fundamental syntax of the language is pretty much identical (outside of pure OO stuff) but that's not particularly helpful since everything under the covers is quite different. Even simple stuff like file I/O has changed.
     
  7. Jan 26, 2012 #6

    jhae2.718

    User Avatar
    Gold Member

    "...the teaching of BASIC should be rated as a criminal offence: it mutilates the mind beyond recovery."

    --Edsger W. Dijkstra
     
  8. Jan 26, 2012 #7
    :rofl:
     
  9. Jan 26, 2012 #8

    phinds

    User Avatar
    Gold Member
    2016 Award

    Yes, but VB6 has very little to do with BASIC and VB.NET has NOTHING to do with BASIC.
     
  10. Jan 27, 2012 #9
    I asked one of the teachers today and he confirmed that it would be VB6 next year as well He said that I would be better learning another different programming language to stop me picking up any bad habits or short cuts, as there is no danger of being "behind" the rest of the class as the course content is adjusted so it eases people with no previous programming experience in gently so to speak.

    So is there any language which is similar to VB6 in function or syntax or should I just start fresh with something like Fortran or Python?
     
  11. Jan 27, 2012 #10
    I suggest C but I think most of the community colleges around here use VisualC++. That may be fine if you are going to write only for windoze environments but it is too restrictive for me. I am relearning ANSI C so my apps can be portable (work on any machine and any operating system) but it is also difficult to do a lot of what you take for granted. (clearing the screen takes a three line "for" loop and leaves the cursor at the bottom left of the screen) There is no way to move the cursor to a specific location.
    You can use line feeds, carriage returns, tabs, and back-space but there is no "GOTO(x,y)" to place the cursor in a given spot.
    It will make a better programmer out of me (if I live through it) because you really have to think every step through from start to finish.

    Paul
     
  12. Jan 27, 2012 #11

    jhae2.718

    User Avatar
    Gold Member

    If you want to do C, I'd start with K&R.

    I'd recommend Python as a good general language. C is very good, but it's not necessary for most applications.
     
  13. Jan 27, 2012 #12
    I understood C until it got to the point of memory pointers and stuff and I just lost interest after that.

    Is K&R C the original version of C?
     
  14. Jan 27, 2012 #13

    jhae2.718

    User Avatar
    Gold Member

    K&R ed. 2. covers the basic ANSI C (specifically C89 IIRC), but it's still a great book for learning C. That said, you may want to look for something targeted towards beginner programmers.

    Right now the current standard is ISO C11.
     
  15. Jan 27, 2012 #14

    Mark44

    Staff: Mentor

    If you do anything with C or C++, you need to learn about pointers.

    OTOH, if you work with Java or C#, these languages shield you from pointers, so you don't really have to think about them.
    Brian Kernighan and Dennis Ritchie designed the language back in the early 70s, as a sort of high-level assembly language. K&R refers to the book they wrote, "The C Programming Language," not the language itself. K&R is sometimes referred to as "the Bible."

    Like others in this thread, I would advise against learning VB6, but would instead advise one of the C-related languages (C, C++, Java, or C#).
     
  16. Jan 27, 2012 #15
    Frankly, if they're going to be teaching you a class in VB6, I think you should avoid taking that particular class. Find another.

    If you want to go the VB route I think learning VB.NET would be at least worth it as that is a language you could believably find use for in the real world.
     
  17. Jan 27, 2012 #16

    Integral

    User Avatar
    Staff Emeritus
    Science Advisor
    Gold Member

    VB is a useful skill to develop just for the power it adds to Excel.
     
  18. Jan 27, 2012 #17

    phinds

    User Avatar
    Gold Member
    2016 Award

    +1 on that.
     
  19. Jan 27, 2012 #18

    phinds

    User Avatar
    Gold Member
    2016 Award

    I agree completely and use it extensively, but as a FIRST language choice it's a horrible idea.
     
  20. Jan 28, 2012 #19
    I would go to another class but its the only one my high school offers and the local tech which holds night classes only has a level 6 course which is too advanced to start straight into.
     
Know someone interested in this topic? Share this thread via Reddit, Google+, Twitter, or Facebook