gladoscc
Posts: 58
Joined: Sat Dec 10, 2011 3:32 am

Re: BASIC - more harmful than useful?

Sat Dec 10, 2011 4:40 am

I don't think it is a good idea to start teaching people basic. Modern programming involves OOP and classes, and BASIC will teach bad coding styles, and most kids would lose interest at 'HELLO WORLD'.

kme
Posts: 448
Joined: Sun Sep 04, 2011 9:37 am

Re: BASIC - more harmful than useful?

Sat Dec 10, 2011 4:45 am

This has been discussed over and over again in multiple threads. No reason to start a new to beat the same horse.

dattaway
Posts: 20
Joined: Tue Nov 15, 2011 11:41 pm

Re: BASIC - more harmful than useful?

Sat Dec 10, 2011 4:53 am

Modern programming is OOP? Yuck.

User avatar
r3d4
Posts: 967
Joined: Sat Jul 30, 2011 8:21 am
Location: ./

Re: BASIC - more harmful than useful?

Sat Dec 10, 2011 9:15 am

i used to wander about all this 'OOP' ppl go on and on about , as well

but i heard on the vine
" The Computer Revolution hasn't happend yet."

so now i just ignore that OO noize , =P
Real life is, to most, a long second-best, a perpetual compromise between the ideal and the possible.
-
Meanwhile, the sysadmin who accidentally nuked the data reckons "its best not run anything more with sudo today"
-
what about spike milligan?

User avatar
johnbeetem
Posts: 945
Joined: Mon Oct 17, 2011 11:18 pm
Location: The Mountains
Contact: Website

Re: BASIC - more harmful than useful?

Sat Dec 10, 2011 8:58 pm

The great thing about BASIC that you get this sudden surge of creative exhilaration when you switch to something better. I don't think training wheels spoil someone's ability to become a good bicycle rider later.

DaveB
Posts: 29
Joined: Wed Sep 14, 2011 8:40 pm

Re: BASIC - more harmful than useful?

Sat Dec 10, 2011 9:21 pm

Saying that children shouldn't use BASIC because it teaches bad programming practices is like saying they shouldn't play with LEGO because it teaches bad engineering practices.

Jammy
Posts: 2
Joined: Sat Dec 10, 2011 9:35 pm
Contact: Website

Re: BASIC - more harmful than useful?

Sat Dec 10, 2011 9:56 pm

Basic is a fantastic, easy to learn, quick to get good results, language that has moved on greatly in the last few years.

I plan to use the App Game Kit
http://www.appgamekit.com/
with my Raspberry PI. It should work if you install MeeGo or Android at the moment and with the soon to be supported HTML5, it will support many other operating systems, including Tizen (I Hope).

OK, Basic will never be as fast or as fully featured as many other languages, however as a hobbyist, with limited time, it suits my purposes perfectly. One of the best features is that It has Physics built in (BOX 2D, the same engine that Angry Birds uses). But most of all, it is just so easy to get great results and is flexible enough for my purposes. I will never be able to code Call Of Duty anyway.

User avatar
Jessie
Posts: 1754
Joined: Fri Nov 04, 2011 7:40 pm
Location: C/S CO USA

Re: BASIC - more harmful than useful?

Sat Dec 10, 2011 10:20 pm

For myself and many others I'm sure BASIC was our first language. I don't even recall how to program in it anymore. But it does teach kids simple stuff like variables, loops, and logic. I went on to learn Pascal, C++, C#, and Java later and never looked back at Basic. It is just too slow, but I would rather see someone learn BASIC than nothing at all.

I'm not sure that BASIC does any harm. There are people that have a mind for programming and people that do not (and many in the middle somewhere.) Some will grasp the concepts and others will get hung up in the syntax. With google I'm not quite sure how people can't find any information they need to program these days but there are some that will never get it. Just like I will never bRembrandtnt, or an EE, some people will never grasp programming and that has nothing to do with teaching them BASIC. People that understand Algebra, and Logic will do well in any given programming language.

User avatar
liz
Raspberry Pi Foundation Employee & Forum Moderator
Raspberry Pi Foundation Employee & Forum Moderator
Posts: 5201
Joined: Thu Jul 28, 2011 7:22 pm
Contact: Website

Re: BASIC - more harmful than useful?

Sat Dec 10, 2011 10:38 pm

There's also the army of parents who don't do anything technical now, but who do remember the BASIC they learned at school; we've met a lot who want to do something with their kids using Raspberry Pi, and for them it's a good place to start. I'm very much with Jessie here, and I don't believe it really represents any barriers to going on to learn OOP; it's as valid a place to start as many others.
Director of Communications, Raspberry Pi

Spikey
Posts: 7
Joined: Sat Nov 19, 2011 7:52 am

Re: BASIC - more harmful than useful?

Sat Dec 10, 2011 10:55 pm

Absolutely, Liz, there's no such thing as a bad place to start - if kids start off on BASIC (as I did, many years ago) and enjoy the challenge of creating something, they'll quite likely move onto something more "powerful" of their own volition.
The wide availability of great languages for free gives them opportunities I could only have dreamed of as a fairly penniless kid.
Anything to get 'em started is good - they're smart enough to take it from there.

spock
Posts: 205
Joined: Sun Oct 02, 2011 10:33 am

Re: BASIC - more harmful than useful?

Sat Dec 10, 2011 11:04 pm

basic isn't harmful but also not useful. :)

i always see those example here:
10 print "hello world!"
20 goto 10
and how great this is for kids.

in python the same is:
while 1: print "hello world!"
as great and with a useful modern language you can grow with. :)

User avatar
liz
Raspberry Pi Foundation Employee & Forum Moderator
Raspberry Pi Foundation Employee & Forum Moderator
Posts: 5201
Joined: Thu Jul 28, 2011 7:22 pm
Contact: Website

Re: BASIC - more harmful than useful?

Sat Dec 10, 2011 11:08 pm

Yes, and the nice grammar is one of the reasons we're pretty keen on Python here at the Foundation.

I don't think anybody is calling out the BASIC Hello World as being "great for kids"; wherever I've seen it mentioned here it's been people my age reminiscing about committing minor vandalism in computer shops in the 80s. But I don't think it's unhelpful. There are plenty of concepts which will be useful further on down the line which a kid working in BASIC will be getting to grips with, and once she's ready, I fully expect she'll move on to another language. Or six.
Director of Communications, Raspberry Pi

hippy
Posts: 5561
Joined: Fri Sep 09, 2011 10:34 pm
Location: UK

Re: BASIC - more harmful than useful?

Sun Dec 11, 2011 1:34 am

Many people seem to imagine Basic is still what it was originally; limited commands, one character variable names, line numbers, interpreted, slow, not very capable.

Basic has moved on a long way, whether Power Basic, Real Basic, Microsoft's Visual Basic, First Basic or any of the less well known basic variants. It's not the ideal language for some apps, is fine for others, and often ideal for many. You don't have to use Basic if you don't want to but there are few times you can't if you do. It's just as easy to turn out well crafted code as in any other language, and without a 'goto' in sight.

deechster
Posts: 10
Joined: Tue Nov 29, 2011 9:35 pm

Re: BASIC - more harmful than useful?

Sun Dec 11, 2011 4:19 am

BASIC is still alive in many forms. I use it professionally everyday in the form of PICK BASIC. There are many other forms that have advanced considerably. BASIC was my first language back in the day. First on TRS-80 then on the Kaypro II. I did eventually move on to many other languages including Turbo Pascal, xBase (dBase III and its descendants) and in college they trained me as an IBM COBOL programmer. Luckily that didn't stick. My first real job out of college was at a Printing company implementing there first company wide software package written in Pick BASIC.

Many companies continue to use the Pick Multi-valued database for its speed and flexibility. Part of that flexibility is the ease of development BASIC affords. Personally, I use an open version of Multi-valued database called OpenQM. I hope I will be able to run on the R-Pi. It is maintained by an UK company Ladybridge Systems. For more on Pick see http://en.wikipedia.org/wiki/P.....ing_system More on OpenQM see http://www.openqm.com.

Anyways there advantages and disadvantages to every language. They are different tools used to solve different problems in multiple situations. Learning how to use one tool doesn't preclude you from learning how to use another.

User avatar
Burngate
Posts: 5928
Joined: Thu Sep 29, 2011 4:34 pm
Location: Berkshire UK Tralfamadore
Contact: Website

Re: BASIC - more harmful than useful?

Sun Dec 11, 2011 11:20 am

Quote from spock on December 10, 2011, 23:04
basic isn't harmful but also not useful. :)

i always see those example here:
10 print "hello world!"
20 goto 10
and how great this is for kids.

in python the same is:
while 1: print "hello world!"
as great and with a useful modern language you can grow with. :)

I'd translate that basic bit as:
WHILE TRUE:P."Hello World":ENDWHILE
Which is BBC basic, but remarkably similar to the Python version!

jamesh
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 23052
Joined: Sat Jul 30, 2011 7:41 pm

Re: BASIC - more harmful than useful?

Sun Dec 11, 2011 11:50 am

Quote from spock on December 10, 2011, 23:04
basic isn't harmful but also not useful. :)

i always see those example here:
10 print "hello world!"
20 goto 10
and how great this is for kids.

in python the same is:
while 1: print "hello world!"
as great and with a useful modern language you can grow with. :)

I think this example shows how much better BASIC is for teaching veru first principles.

It is a much more simple case to explain the code flow using line numbers and print statements as a first introduction, than try and explain a while loop with the statement one - which implies understanding of booleans and the fact that the number one (and all other numbers that are not zero) means true.

Of course you do need to move on to while, for, do, booleans etc, but as a first step, that BASIC extract is much more understandable.
Principal Software Engineer at Raspberry Pi (Trading) Ltd.
Contrary to popular belief, humorous signatures are allowed. Here's an example...
"My grief counseller just died, luckily, he was so good, I didn't care."

spock
Posts: 205
Joined: Sun Oct 02, 2011 10:33 am

Re: BASIC - more harmful than useful?

Sun Dec 11, 2011 2:00 pm

yes, goto is very easy to understand (and it shouldn't really be used :)). but i don't think the other first principles of programming (which you will continue to 5 minutes after the "hello world!" example) are easier in basic than in python.

as a kid i started programming with stuff like this:
name = raw_input("what is your name? ")
print "hello " + name + "!"
color = raw_input("what is your favorite color? ")
if color == "blue":
print "that's my favorite color too!"
else:
print "my favorite color is blue."
it doesn't get much simpler and easier to understand than that. after you have explained the if, the while loop also won't be a problem anymore.

it's also right that there are more modern forms of basic (that often don't have much to do anymore with the old basic dialects and are more similar to other newer languages). but except for visual basic they are niche languages. i don't think visual basic is a nice (first) language and it's irrelevant for the raspberry pi anyway.

Point3Forever
Posts: 35
Joined: Wed Nov 02, 2011 12:15 pm

Re: BASIC - more harmful than useful?

Sun Dec 11, 2011 2:55 pm

I don't have much to add to the conversation, just a relevant story.

I work at a volunteer-ish position at my local university (Canada) working with the director of computer science. Currently I'm using python there. It was brought up at one point what language he started out with, and it turned out to basic (though I don't know which variation). He said this kind of shamefully, I'm not sure what that says about basic.

User avatar
ukscone
Forum Moderator
Forum Moderator
Posts: 4102
Joined: Fri Jul 29, 2011 2:51 pm
Contact: Website

Re: BASIC - more harmful than useful?

Sun Dec 11, 2011 3:56 pm

There is a reason that the 'B' in BASIC stands for Beginners and that the 'A' stands for All purpose. It's a good first language for learning the general principles of how to program a computer and for understanding how a computer works. It is also simple (especially the early dialects) to self learn. How many of us originally got put in front of a computer, given the manual and told have at it? That might be a function of how well computer manuals were back in the day but that doesn't alter the fact that I would guess that at least 90% of the people on this forum that are between 35 years old and 50 years old and can program were originally self taught using BASIC using their computer's manual.

I honestly have never understood all the hateing on BASIC. It's a good language for kids to get their feet wet and those that are interested will go on and learn other languages and those that don't can at least write a simple program in BASIC if they ever want to (it's very hard to forget BASIC, it sort of sticks in your head).

Over the years i've sometimes heard python be called 'NewBASIC' so BASIC can't be all that bad :)

spock
Posts: 205
Joined: Sun Oct 02, 2011 10:33 am

Re: BASIC - more harmful than useful?

Sun Dec 11, 2011 4:17 pm

i don't hate basic. my first computer was a sinclair zx spectrum too.

but "it was great for me 30 years ago" is no good reason for basic at all. the world has changed in the meantime and there are better alternatives that are worth looking into. :)

User avatar
ukscone
Forum Moderator
Forum Moderator
Posts: 4102
Joined: Fri Jul 29, 2011 2:51 pm
Contact: Website

Re: BASIC - more harmful than useful?

Sun Dec 11, 2011 4:28 pm

Quote from spock on December 11, 2011, 16:17
i don't hate basic. my first computer was a sinclair zx spectrum too.

but "it was great for me 30 years ago" is no good reason for basic at all. the world has changed in the meantime and there are better alternatives that are worth looking into. :)

It was pretty good 2 weeks ago as well. I recently sent a program to a client that was completely written in BASIC and works really well.

spock
Posts: 205
Joined: Sun Oct 02, 2011 10:33 am

Re: BASIC - more harmful than useful?

Sun Dec 11, 2011 4:54 pm

(it seems to be a bit like with music and our parents. many of them just stopped looking for new stuff in the 70s. just kidding! :))

what basic would you use on a raspberry pi anyway?

i looked a bit into available basic dialects for linux and they all don't look very inviting. would you somehow use a port of bbc basic (or with an emulator)? why would that be more fun and more educational for kids than using python and pygame (or something similar)?

User avatar
NormanDunbar
Posts: 111
Joined: Wed Nov 23, 2011 12:13 pm
Location: Leeds, West Yorkshire, England.
Contact: Website

Re: BASIC - more harmful than useful?

Sun Dec 11, 2011 4:55 pm

Basic today is a lot better than the old days. I started on a ZX-81 myself and used Basic to write a RDBMS system to catalogue my music collection (Yes, in 1K of RAM!). But if we are going to teach kids, why not assembler - how much simpler can it get? ;-)

In reality, with Basic you type it in, and type RUN - and there are (or are not) your results. No compilers, no assemblers, instant results - as desired by "the youth of today" ;-)

The best Basic I ever used, and still do, is on the Sinclair QL - SuperBasic. The long running example in this thread is this, in SuperBasic:


1000 REPeat SillyLoop
1010 PRINT "Hello World!"
1020 END REPeat SillyLoop


There is, I think, a GOTO and a GOSUB, but I've never seen them used. Mind you it's not actually bad - using them I mean. Take a look at the Linux source code one day - it's full of them. Not because it's spaghetti code (Food reference for Liz - hope you feel better by the way) but because it's easiest to follow and understand and, when bailing out of a nested structure, it's simple.

Other opinions are available of course, but they are wrong! ;-)

Cheers,
Norm.
Why do they put lightning conductors on churches?
Why did Tarzan never have a beard?

User avatar
NormanDunbar
Posts: 111
Joined: Wed Nov 23, 2011 12:13 pm
Location: Leeds, West Yorkshire, England.
Contact: Website

Re: BASIC - more harmful than useful?

Sun Dec 11, 2011 4:58 pm

Quote from spock on December 11, 2011, 16:54
what basic would you use on a raspberry pi anyway?

Good question. If nothing "floats your boat" why not define a list of what would, and write an OpenSource Basic that meets them exactly - how hard can it be? I'd use ANTLR (http://www.antlr.org) to generate the lexer/parser/ASTs and tree walkers/Interpreters myself.

I'm even thinking of converting Sinclair QL SuperBasic into an Open Source "SuperBasic++" just for "fun". One day, it might even actually begin to start possibly happening!

Cheers,
Norm.
Why do they put lightning conductors on churches?
Why did Tarzan never have a beard?

gazhay
Posts: 2
Joined: Sun Dec 11, 2011 5:52 pm

Re: BASIC - more harmful than useful?

Sun Dec 11, 2011 5:56 pm

I've always assumed the goto command in BASIC came from the fact there was a jump instruction in assembler. To "hate" goto commands in that context is rather silly.

Return to “Staffroom, classroom and projects”