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

Opinions please!

  1. Oct 28, 2005 #1


    User Avatar
    Science Advisor
    Gold Member

    Ok I suspect it may be pointless to post here considering the bad rap that BASIC gets. I have a fair amount of BASIC experience in instrument control. I started out with Commodore BASIC and moved up through QBASIC and Quick BASIC (yes there is a difference) and through Visual BASIC 6.0. BASIC is the only language I know. I've been told that it is or at least has been the number one choice of languages for instrument control. I have to admit it has pretty much done everything I need it to. However, I have run into a situation where I need to do a few things that I'm not sure if BASIC can handle. I'm considering Visual Basic 2005.

    1) I need to record and play back a short audio track from time to time. Also needs to use the serial port. From what I can tell on Microsoft's site this is not a problem.

    2) It would be nice, but not necessary to be able to make the PC reboot from within the application.

    3) It would be nice to be able to terminate other applications from within this application.

    4) The application would require a very small amount of PC resources and is aimed at a hobby market. It seems that this market demographic boasts a large number of surplus computers at a very affordable price. I can't tell so far whether Visual Basic 2005 allows its applications to run on older machines. Web site doesn't say.

    I'm not against learning C, in fact, would really like to but I don't feel like I have the time to do it right now. I don't really buy into the stuff about BASIC being a crappy language because it allows for so many sloppy habits. As far as I am concerned a good programmer should recognize sloppy habits and avoid this type of coding regardless of what language. I'll agree, it is a limited language by nature, but that is a shortcoming of the programmer not recognizing this fact (quite possibly me) and trying to do the equivalent of driving a Yugo into a sharp turn at 120 MPH. It's just something it wasn't designed to do. Kind of a ballsy statement from a lowly BASIC programmer, but I still stand by it.

    So, what should I do? You know the requirements and I don't really have the time to learn a new language at this time. Please consider this.
    Last edited: Oct 28, 2005
  2. jcsd
  3. Oct 29, 2005 #2
    Well, if this is a windows only program, I would move to VB.Net 2005. that gives you access to all the functions of windows and makes it easier to do the stuff you want to do.

    Know this though that VB.NET is almost a new language. it is basic based, but the OO features have been greatly redesigned and the language feels much more cohesive.

    Though, I would also say that moving to Iron Python in .Net would be an equally well suited move and it would be a better language :-D

    oh, and If I were you, I would learn a few other languages just for variety. it is always good to know different ways to do things so you can attack the problem better.
  4. Oct 29, 2005 #3


    User Avatar
    Science Advisor
    Gold Member

    Thanks computergeek. It is a windows only program for now at least. As stated earlier I am not against learning new languages but programming is not a primary job function. It is something I have a knack for in the context of the hardware I design that IS the primary job function. I am mostly interested in the terminating of other applications and rebooting the PC from within my written applications. All the other stuff that goes along with the application I intend to write I've done in the past.

    P.S. I wish I actually did have the time to learn some new languages. Thanks again.
  5. Oct 29, 2005 #4
    VB.Net is definitely the language for you then
  6. Oct 29, 2005 #5


    User Avatar

    Don't you have to distribute the .net runtime with your application though? This may be a problem if you are targetting PCs with not many resources, as you state in the OP.

    IIRC, the runtime is about 20MB in size.
  7. Oct 29, 2005 #6
    I think vb.net can be compiled to machine code.
  8. Oct 29, 2005 #7


    User Avatar
    Science Advisor
    Gold Member

    VB 6.0 would make a .exe file and I would hope the later versions could as well. Incidentally, that is one of the many differences between QBasic and QuickBasic. QuickBasic could make a .exe where QBasic could not.
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook