Slashdot Mirror


Justified: Visual Basic Over Python For an Intro To Programming

theodp writes ICT/Computing teacher Ben Gristwood justifies his choice of Visual Basic as a programming language (as a gateway to other languages), sharing an email he sent to a parent who suggested VB was not as 'useful' as Python. "I understand the popularity at the moment of the Python," Gristwood wrote, "however this language is also based on the C language. When it comes to more complex constructs Python cannot do them and I would be forced to rely on C (which is incredibly complex for a junior developer) VB acts as the transition between the two and introduces the concepts without the difficult conventions required. Students in Python are not required to do things such as declare variables, which is something that is required for GCSE and A-Level exams." Since AP Computer Science debuted in 1984, it has transitioned from Pascal to C++ to Java. For the new AP Computer Science Principles course, which will debut in 2016, the College Board is leaving the choice of programming language(s) up to the teachers. So, if it was your call, what would be your choice for the Best Programming Language for High School?

6 of 648 comments (clear)

  1. So not Python, but VB? by pscottdv · · Score: 3, Interesting

    I use Python every day and I love it, but he may have a point about variable declaration. Statically typed languages are important to learn about.

    I do find it hard to imagine what other constructs he is teaching his beginners that cannot be done in Python. Anonymous functions, maybe? Does VB do that yet? It didn't when I last used it. Tail-end recursion? I don't think VB does that either.

    But with so many languages to choose from, VB seems like it would be way down on the list.

    I also disagree about C being "incredibly complex for a beginner". I found C to be very easy to grasp and very good at exposing what the computer is actually doing under the hood. I would agree that programming C well is complex (and also time-consuming), but that is because it is simple, not because it is complex.

    --

    this signature has been removed due to a DMCA takedown notice

  2. Two Camps by djbckr · · Score: 3, Interesting
    I see two camps:
    • The people that want to know what goes on in the computer - systems level stuff
    • The people that want to get something done - application developers

    The first people would do good to learn straight-up C, and graduate to C++. The latter group should learn Python/Java/C#/Javascript/HTML/CSS/SQL. Though I don't use Python regularly, I think it's a good starter language.

  3. How about No Language by Egg+Sniper · · Score: 3, Interesting

    I knew a Professor (of biomedical engineering) who suggested it would be best to teach introductory programming outside of any language. Teach the concepts in their most general, basic form before allowing an individual language to force understanding into an arbitrary syntax.

    I first learned in C++, then later relearned and made extensive use of Visual Basic, then switched to Matlab, and now I'm just starting to learn Python. I personally had a very difficult time with C++ and found Visual Basic to be much easier to grasp. That is likely the result of many things, only one of which is the specific languages I experienced.

    In my opinion what's more important than the first language you learn is that you learn a few languages early on, all at once - the more varied the better. Seems to work for learning statistical analyses.

  4. Households without a PC by tepples · · Score: 3, Interesting

    What about stuents that have a Mac or Linux at home?

    For that matter, what about students that have only smartphones, tablets running a smartphone operating system, and game consoles? Such households exist. A $200 laptop that includes a copy of Windows is no more expensive than some textbooks that college students are required to buy.

    1. Re:Households without a PC by morgauxo · · Score: 3, Interesting

      What about them? They do the same thing kids have ever done who take a computer class but don't have one at home. They use the school computers.

      Actually.. there are ways to program on a smartphone. So long as it isn't iOS you can even get compilers for just about any language. But... that doesn't mean you get to use it for class.

      No teacher is going to want to support that. They would have to either limit everything to the least common denominator (Yay, everybody gets to write a hello-world console app!) or teach a dozen variants per class. (this is how you create a window in Windows, here is the code for Linux umm.. is that X or Wayland... here is how to create a form on Android... here is how to do it on OSX..)

      No, the school will standardize on a type of PC, maybe Windows, maybe Mac and the teacher will pick the rest of the development environment. If you are too much of a trendy butthead to own a real computer and expect to do everything on your smartphone then you use the school lab. If they are nice maybe they set up a vnc or remote desktop server that you can log in to with whatever device makes you happy.

  5. Re:Proprietary by rockmuelle · · Score: 3, Interesting

    Look, I'm a huge Python and open source advocate and use it for almost everything I do, but the "proprietary" argument doesn't hold any water. VB, and Microsoft's languages in general, have seen more long term support than any open source language. They have consistently had a level of commitment to backwards compatibility and long term support that no open source language implementation can match. Sure, with an open source language you can fix problems yourself*, but if there's good support from the vendor, as is the case with MS, you never need to.

    You're going to need to give a much better reason than "proprietary" to discount the VB argument. There are lots of good ones, but this isn't one.

    -Chris.

    *though I'd argue that there are only a few of us out there with the chops to actually do that