Why is GW-BASIC still taught in schools?

3.9k Views Asked by At

I dunno about USA and the UK, but in India, schools still teach GW-BASIC. Yes, it's:

10 PRINT "HELLO WORLD"
20 GOTO 10

As far as my experience goes, even writing assembler is easier than this mess of a language. It could easily be replaced by something like Python, which would make it easier for students to actually understand the basic concepts of programming and help them to understand the logic behind what they're doing better.

13

There are 13 best solutions below

3
On BEST ANSWER

Because Basic is the most uhh... basic introduction into von-Neumann architecture which is what all modern computers and (by extension) programming languages are based on.

Think about it:

  • Line numbers = Memory Addresses
  • Variables = CPU Registers
  • Current Line = CPU Instruction Pointer
  • Goto = Jump instruction
1
On

I think GW-BASIC is a good tool to teach programming to children. I am teaching programming to school children for about 10 years. GW-BASIC provides an easy to learn enviornment without going into techniqual details.

If we use some hi-fi programming language to teach kids they will learn the programming language not the programming. Using GW-BASIC it is easy to teach programming, and we can concentrate on programming techniques rather then discussing the structures of programming languages. It has very easy and english like syntax so students understand it easily.

Another thing to keep in mind is its an interpreter to BASIC so we can execute different instructions line by line and can execute any part of the program, this give clear understanding to students.

Direct mode of GW-BASIC provides great help to explain the memory concepts as we can monitor the changing states of variables (memory addresses and values)

0
On

I am from India and GW-BASIC was my first language way back in 1995. It was fun. Things have changed now. My school now teaches another BASIC variant, QBASIC as the first language. Then students move to C++ and Java in standards 8,9,10. Hopefully, Python will take over sometime.

As someone already pointed out, its plain inertia. Its not much of inexpensive hardware which is the reason. Its just the mindset to continue doing whatever has been going on.sigh.

1
On

Ever try teaching programming to someone with no idea what it's about?

I did for 4 years. For absolutely starting out, GWBASIC is pretty good. You can get the most action for the least effort, while still conveying basic ideas, like:

  • The computer finishes one statement before starting the next. (Newbies are inclined to think the computer does everything "at once".)

  • A program is like something built out of tinker-toys. There are only a few basic pieces, and you assemble them to make it do what you want. (Newbies often think since the language has words like IF and PRINT that it will just understand whatever they type in.)

  • Variables are a key concept. They have a name that you give them, and they have values that they get when the programs runs. That's complicated. The name and the value are not the same thing, and there is a distinction between write-time and run-time.

Once you get past some basic concepts with the help of GWBASIC you can begin to introduce a more modern disciplined language.

0
On

It's funny how fast humans forget.

Remember the first time you struggled with the concept of a loop? With the idea of a variable and how it retained values? With remembering syntax?

Basic has a relatively small built-in syntax, it has fairly flexible structures for loops and other constructs.

I guess over all it's "loose". This helps a lot in learning.

Loose is very bad for good, stable programs. You want very little flexibility, you want patterns that you can count on and very few options (even if you don't know that this is what you want, you will understand it as soon as you have to lead a team of 5 developers from another country).

If any here haven't really considered it, the reason we don't like basic isn't a lack of "power" or speed--is because it's loose--the exact same reason it's good for teaching.

You don't start out running, you learn to crawl in a wobbly sort of way, then you stumble, etc.

But once you are running sprints, you really want to make sure that every footfall is placed exactly where you want it, and if the guy ahead of you decides he suddenly wants to start crawling, you're screwed.

Of course, if you're running along the track alone or in a small, in-sync team, it doesn't matter much what you do. Feel free to use any language you want :)

0
On

so you'll learn NOT to use GOTO

3
On

Thats easy to learn,school dont target to teach new technology,school want to teach basics of informatics

7
On

GW-Basic is a great language for new programmers. If someone has never done any programming before, something simple like GW-Basic will be a lot easier for them to comprehend as compared to something like Python. Also, Java has a lot better support for Object Oriented programming as compared to C++. More commercial applications these days are written in Java than C++.[source]. Hence I would say that its a good thing they are switching to Java over C++.

0
On

If someone is truly interested in programming, they will take what they learn in that class and apply it to a language learned on their own time.

There's also something to be said for starting in a language that is much less powerful than Java or C++.

0
On

As far as GW-BASIC is concerned I couldn't agree more. This is why a Ruby programmer known only as "_why the lucky stiff" created an amazing platform for learning to program called "Hackety Hack". He in fact had quite a lot of insight into teaching programming to young people at the Art & Code symposium:

http://vodpod.com/watch/2078103-art-code-symposium-hackety-hack-why-the-lucky-stiff-on-vimeo

0
On

GW-Basic was taught to me in 7th grade about 10 years ago. I found it was a great language and easy to experiment with as a beginner. Even the non-pc-freaks had little problem learning the language.

In my opinion it is a great tool to motivate beginners to learn more advanced programming languages.

0
On

As far as teaching in India is concerned and why they use GW-Basic, I can only guess (being from the USA):

  1. It's cheap. Perhaps they have received old hardware with GW-Basic on it. Hey, it's there, it's free, why not use it to teach children.
  2. The teacher knows it. If the teacher knows/understands it, he/she can teach it.

At a prev. employer, I met a number of people who immigrated to the USA from India and explained that the first time they worked with Windows was when they arrived over here, none of the schools (not even college/university) had it. It might depend on the school they went to, but maybe its a matter of the available equipment. It's possible this GW-Basic usage you speak of works the same way: they used what technology they had.

Maybe it means they are, well, resourceful.

As to whether its good that they are learning something so old, I'm not so sure it's such a good idea. But as the famous (American West) folk wisdom says, "Do with what you got. It'll pay off in the end." Better to expose them when they are young.

0
On

I think in my school GW Basic is still taught at 6-7 years (of 10) and the reason of it is that little girls and boys can't understand anything harder than basic :)

Even more, in my university we program on QBasic o_O omg you say? yeah, i'm shoked too :) oh, and they promise one semester of C++ on 4th grade.. yay!