Computer programming class question

I don’t believe you could find a job actually programming in Basic. VB on the other hand will give you plenty of opportunities. Yeah, it’s low on the respect ladder, but there’s lots of application for it, if you intend to make money with your new-found coding knowledge.

Other thoughts:

The suggestion to take Pascal is an aweful one. You’ll probably find people who’ll suggest Cobol or Fortran as well, but ignore 'em. Learn something that’s relevant today and tomorrow, not legacy crap (including Basic).

C is my primary language, but I disagree with Chronos. You’re better off to learn something more object-oriented and relevant for the future. Best bet: Java.

I am an VB programmer and I have to agree with Chronos that it is a bad language to learn programming with. Learn C instead. If you can learn that you can learn anything.

Some peole have commented that VB teaches you bad habits (and in some cases encourages it). It does allow you to write some awful code but then so does C/C++. Bad programs dont come from bad languages they come from bad programmers.

ultrafilter
I would like to consider myself a serious programmer that writes serious programs. I can do anything in VB that a Visuall C++ programmer can do, and in a lot less time.
As for variables changing type during the course of a program you are incorrect. They do not change type, they never had a type in the in first type.

Just to put my own spin on this; I know that there are ‘right/good’ and ‘wrong/bad’ ways to write programs, but bryanmaguire is right, there are good and bad programmers, the good and bad programs are only the result.

OK, BASIC does allow you to do things in a very messy way if you want to - I did admit that earlier, but I’ve worked with programmers who were so hung up on the ‘right’ way to do something that they would tell the user/customer that certain things simply weren’t possible and that they should reorganise their business to fit around what could be done.

It’s possible to write very efficient, useful and stable applications with VB, but the discipline to do so has to come from the programmer, it’s not enforced by the environment, this isn’t intrinsically a bad thing.

I’m not saying that C or Java or whatever isn’t faster and more portable, but IMHO they involve bigger learning curves and are less intuitive.

Didn’t mean that as a slight–I certainly do recognize that there are serious programmers who primarily write in VB. And you’re right about the variables, but that doesn’t really change my objection.

We’re talking about Variants aren’t we? are they unique to VB?

I’ve never seen any other language that uses them. Take that as you will.

To answer Mangetout we are talking about variants.
Although they are part of the language they are generally considered by professional VB programmers to be a bad thing. I have personally bitch-slapped junior programmers who used them.

So essentially, the consensus is as follows:

[ul]BASIC is a poor choice for introductory programming because it is antiquated and encourages sloppy coding. Or, BASIC is a good choice for introductory programming in spite of its problems, because it introduces fundamental programming concepts and it has been improved over the years.

VB may or may not be a good choice, because it is useful for applications environments but it lacks certain fundamental features that other languages contain (and this absence would make other languages harder to pick up). Further: VB is either easy to pick up without knowing BASIC, or it is hard to pick up without knowing BASIC. However, people who know VB are employable, and it is at least in some circles considered “serious programming done by serious programmers”.

C or C++ get at least two people’s vote (do Mod votes count more?) for best language to begin with. Theory being, learn a more intricate (?) complete (?) language first, and others will seem easy by comparison. But,

A few people also say Fortran would be okay, or

Pascal would probably be just as good. And a certified BS in Computer Science suggests Pascal to begin since it is a training language, and recommends completely against either BASIC or VB. [/ul]

Basically, so to speak, no consensus, other than that clean code should be the goal regardless of what language is used. This is good. I have learned way more hearing everyone’s opinions than I would from just “Take BASIC first, yeah”. Thanks to all for your responses so far.

I guess I should make some statement about why I plan to take any CS courses. I am currently enrolled in nursing school and hope to someday (in the next 5 or so years) work in public health in the developing world. I currently know next to nothing about programming. I think that the cross training will be helpful – not only in the raw “I can write code, so I’m more employable” way, but also in building logic and reasoning skills, clean problem solving, and encouraging patience in detailed work. 'Course, I wouldn’t think I’d be less employable for knowing how to program. After all, technology will come to the third world fast, once the infrastructure is there, and someone’s going to need to know how to make it all work.

And a final question: If I do make it into the class, can I get some help from you VB experts if I need it? :slight_smile:

missdavis102: You have good reasons for wanting to learn to program. With regard to logic/problem-solving skills, it doesn’t really matter what language you take; any programming language will give you those skills. Best of luck with the BASIC/VB.

Always happy to help someone who wants too learn. Ask away.

missdavies102: It helps to know whyyou want to persue programming. Thanks for the clarification.

If you were on course to become a professional programmer, I would suggest learning C as your first language. Although the syntax is at first difficult for the novice and the overall learning curve is steep, it is a foundation language which will expose to you the fundamental concepts and problems invovled in software development.

That being said, I am a professional software developer who prefers VB for daily programming tasks. Most of my company’s clients don’t care what language we develop in as long as we can do the job: quickly, efficiently (low-cost), and write scalable, maintainable code. For these reasons, our development shop prefers VB. We write extremely complex code for some of the more prestigous companies in the US that you’ve probably never heard of. :slight_smile: VB is easy to learn and there is a huge pool of labor. We can prototype in days, rather than weeks or months. Lately my skills have been in more demand for (non-java) intranet web applications, though.

In my experience, professional C/C++ programmers are more likely to be found in academics than in industry. So here’s my recommendation. If theory is your game, learn C/C++. It can’t be beat If you want to learn a programming language that will be valuable and in demand for quite some time, learn VB. But also, learn some web programming beyond simple HTML.

If you are simply interested in being a useful addition to any office, learn MS Access. The purists among us will decry that statment because it isn’t “real” programming. However, you will learn the fundamentals of programming with VBA (a subset of VB), user interface design, and the basics of database development and management. Most small office problems can be solved much more quickly in an Access application than with any solution you can roll with a custom program. Classes in Access are easy to find. In the past 5 years or so, I’ve seen a lot of competent programmers come out of Access development. They’ve worked in small offices doing simple work, got a taste for it, and wanted something more. Sure they may not know OO theory, but the job gets done.

      • Now that I read it again, it sounds like we might be attending the same college. I had to take an “Intro to the PC” class because they added it as a prerequisite, after two years of taking numerous courses VB, Java, COBOL, C++, database and web programming. “This is the monitor. This is the mouse…”
        zzzzzzzzzzzzzzzzzzzz…
        ~
  • A lot of people here seem to forget that the reason the school wants students to take Quick Basic before Visual Basic is that having some experience with the former helps quite a bit with understanding the latter. Learning other languages involves lots of other stuff that VB doesn’t involve, and it makes little sense to go on about high-flying concepts when a beginning VB course very likely isn’t going to require such knowledge at all. - MC

I second this. Data management is one of the biggest challenges an office faces today, and you will be invaluable if you know how to design/implement/manage database applications. Access is pretty easy to get started in, so it’s a good first choice; plus, it does use VBA, which will put your VB experience to good use.

Some years ago I kept an alternate database at work in DBase. A new geek came to work with us and immediately moved it into MS Access, which he said was “more powerful.” Well yeah, anything is more powerful if you know how to use it, but I didn’t find Access intuitive to learn at all. And DBase did every single thing I needed to do with that database. I hate it when people do that. Anyway, that being said, I’m thinking there is no “factual” answer to this question. I think it might go better in the IMHO forum. - Jill

I’ve had cause to use them once only when I needed a function that would work on a string or a number (and the result that it returned was always an integer); I could have written two virtually identical functions, one for each parameter type, but that seemed wasteful.

Speaking as a software developer geek with over twelve years of professional experience and a Masters’ in CSCI, I’ll respectfully disagree.

For large, complex systems that are both reliable and efficient, C and C++ are currently the languages of choice (with C++ being in the lead). By “large, complex systems,” I’m talking about things like nationwide air-defense command and control, automated traffic management, real-time rail control, military-grade battlefield communications, and so forth. The only time Visual Basic even gets into the picture is if someone needs to bang out a quick-and-dirty tool to reduce and analyze 5 gigabytes of simulation/test data for the latest performance results. Suggesting that Visual Basic be used systemwide would earn you derisive laughter – if you’re lucky.

Like other Microsoft titles, IMO Visual Basic is a mediocre product that’s survived as long as it has only because it’s used by people who don’t know better. It’s good for dinking around and quickie prototype efforts, but I wouldn’t use it for real work.

  • Language of choice. Of choice. A few years back I spilled a stale bottle of Yoo-Hoo on my PC Jr’s keyboard and while mopping it up, happened to write a fairly secure missle defense system in Quick Basic. I stored it on a cassette tape drive and during my walk home, noticed the Ramones playing a bar mitzvah and popped the wrong tape in to my Walkman to record the event. Turns out the darn batteries were almost dead, and it only recorded a couple minutes at a speed that made Joey sound like Barry White. I sold it to an Israeli on EBay and he must like Barry, because for a while I kept getting fairly large amounts of cash in the mail every now and then.
    It’s a wonderful life. - MC

Pascal - if you wish to learn proper structured programming techniques

C - if you wish to be able to write tight, fast programs

COBOL - if you wish for your remains to be studied by archeologists in 1000 years. :smiley:

C++ - as a first language, just say no. If you ever do get proficient at it, you will be highly employable.

Java - fairly decent primer in object orientation; make sure to learn some OOP principles on the side.

VB - In the first year of development, you will be one of millions of other developers, but you can easily stand out from the crowd with some effort and experience. When you start talking about threading issues and API calls, you’ve left the millions and joined the tens of thousands that are highly sought after. “Option Explicit” is your best friend.

I would probably recommend starting with C or Java. C is fairly accessible to a novice, yet still an extremely powerful way to get your feet wet. Java is probably easier for a new programmer to learn than for an old hat procedural developer, and you’ll learn some decent OOP that can be useful in other languages.

After that, pick up whatever suits your fancy. Java, C++, or the combination of VB, SQL, and normalization techniques, will make you very employable.

:tapping my nose:

You got it. Once you learns to do that IN ANY LANGUAGE you can transfer those skills TO ANY OTHER language.

True, I suppose, but most of us don’t write “large, complex systems” like that. Most programs are “quick and dirty” and any variety of BASIC is ideal for that.

I’m gonna have to half-disagree with that. C++ was my first language, and after my first two classes in it (with teachers who left a bit to be desired), I had enough background to intern as a developer with a major internet company. The half-disagreement is because I had to help teach it and take some theory classes before I got really proficient at it. However, it’s definitely a realistic choice for a first language.

With regard to the OP, though, some sort of BASIC is fine.

And I agree with what dropzone said about clean code. And for the sake of all involved, comment your code. It will save everybody who has to use it (including you six months down the line) a huge amount of time.

I also agree with what DMC said about VB. If you can do threading, you will stand very far above the crowd. But that’s a pretty advanced topic.