Why is GW-BASIC still taught in schools? [closed]
Asked Answered
L

13

7

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.

Luigiluigino answered 2/10, 2009 at 18:35 Comment(12)
I don't know of any schools that teach this in my area (Northeast USA)Cuprous
So you're proposing to have children at school learn assembly instead of GW BASIC? Wake up call, not all babies had punch cards; most of them were playing with teddy bears.Epidaurus
No, I'm saying that GWBASIC is harder than asm.Luigiluigino
Oh wait... I have a better Idea(tm) ... first let's teach kids English and then teach them COBOL so that we can insure they: 1) never score too much in english 2) find it easier to "write" code and understand.Luigiluigino
GW basic isn't harder than assembly, I've been programming for 4+ years and I still don't know assembly while I know Gw basic, php, javascript, Java..Leniency
Why not have them learn Scheme? That's the intro language for many colleges.Keenankeene
@sheepsimulator : 1. you said it yourself , it's entry level for colleges 2. recursion and lambda functions are hardLuigiluigino
@ Aviraldg - I bet you that many children would totally get Scheme far better than college students would. Children are good at grasping difficult, abstract concepts. Like languages. I bet if you hit them early enough with recursion, lambda functions, they'll get them better than either you/I can.Keenankeene
I can think of plenty of bad things to say about BASIC, but "harder than assembly" is not one of them.Teacake
C++ replaced by Java? Where did you hear that?Grory
@George: No, I meant "in the syllabus"...Luigiluigino
Honestly, this is better than the Indian schools that still teach Turbo C.Adorable
N
17

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
Nopar answered 2/10, 2009 at 18:40 Comment(3)
I don't think that's the reason. I think it's just inertia.Toulon
Basic should be thrown away. Any modern language like python would be better suited for teaching.Johannajohannah
@Rook basic tends to be very forgiving (Like Ruby) which is nice for a beginning language and requires no beginning knowledge--hard to get easier than 'print "Hello"' for an entire first program. Line numbers are no longer needed and it can be fully structured, however forgiving languages (those with loose syntax) are less valuable the larger your team gets and most developers eventually prefer very strict languages that detect the most errors as soon as possible even in the editor if possible, this can be frustrating when learning though.Latta
K
16

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.

Knowling answered 2/10, 2009 at 22:11 Comment(1)
I tried teaching my kid programming using so called modern languages with no luck. The brat fall asleep soon when we start to define variables and functions. In contrast kid loves gwbasic and now able to think in terms of statements and translate ideas into code. He says it's easy better than Minecraft 😂Pace
C
11

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.

Curriculum answered 2/10, 2009 at 18:49 Comment(0)
L
8

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++.

Leniency answered 2/10, 2009 at 18:40 Comment(7)
Well, then by that logic, one could use COBOL! Also, I believe that people should know how things work in the underlying system... implies C++. A good C++ programmer can pick up Java without flinching , but a Java programmer will probably be in a fix if he has to learn how to do the low level ops. possible in C++Luigiluigino
Why would a java programmer need to take care of any low level stuff? All the garbage collection etc is taken care of in Java without the programmer needing to do anything. And Cobol is arguably a lot more difficult than GW-BasicLeniency
I think it depends on the student, and how motivated they are. With assembler, while it may be simpler, takes longer to do "cool things." Like output stuff to the screen, it takes a couple hundred (simple though) lines of mnemonics. In GW-Basic, it's one (extremely simple, English language line).Keenankeene
The argument about it being easier is OK, but point is that : 1) since it is easy, almost anyone can learn it and do it. 2) depending upon their performance in programming BASIC , people are are put into a special "Computer Science" section. Incompetence rocks.Luigiluigino
Well, in my high school when we had GW basic I was the only person out of the class of 20-30 who got it. Most people hated it or they just couldn't get the programming concepts. So, only people with an aptitude for programming make it past that, most people who aren't cut out for being programmers might pass the class but they won't go forward with a programming career.Leniency
Is it really easier than Python? It may look easier to you, but whatever you learned first will look like the easier. I was surprised once to learn about success in teaching Scheme as a first language.Birdwatcher
That link is very misleading. It is measuring how much talk exists for a language, not how many commercial applications use it. Second, Java is at the top of the lists because of poor interpretation. In the first group it has a high ranking purely because their search had a lot of hits for books with "java" in the title. I could list many reasons this search could be in correct, but I think the more important point is that it doesn't matter, C simply has a small number of definitive books. The second group places Java high as Java has had a sordid history that has caused a lot of news.Postdiluvian
K
8

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.

Keenankeene answered 2/10, 2009 at 19:1 Comment(0)
L
8

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 :)

Latta answered 2/10, 2009 at 22:22 Comment(0)
B
5

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++.

Bidet answered 2/10, 2009 at 18:45 Comment(0)
G
4

so you'll learn NOT to use GOTO

Glimp answered 2/10, 2009 at 22:24 Comment(0)
T
2

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

Tengler answered 2/10, 2009 at 18:37 Comment(3)
I found python 1000% easier to learn. Besides , what is the practical use of teaching children GW-BASIC?????? And what of C++ being replaced by Java????Luigiluigino
The partical use is that once someone gets the basics of programming, if/else statements, loops, etc in the most simple environment, they can then expand into better programming languagesLeniency
do you really want to teach people how to program in a language that is dependant on whitespace?Forgery
B
1

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!

Bate answered 16/1, 2010 at 19:10 Comment(0)
P
1

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.

Pterosaur answered 12/4, 2010 at 7:3 Comment(0)
E
1

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)

Elizaelizabet answered 24/4, 2011 at 12:38 Comment(1)
Almost all of the above is also possible in Python. Invalid argument.Luigiluigino
I
0

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

Inconsiderable answered 2/10, 2009 at 18:47 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.