Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.1 6/24/83 v7 ucbtopaz-1.8; site ucbtopaz.CC.Berkeley.ARPA Path: utzoo!linus!philabs!cmcl2!seismo!harvard!talcott!panda!genrad!decvax!ucbvax!ucbtopaz!mwm From: mwm@ucbtopaz.CC.Berkeley.ARPA Newsgroups: net.lang Subject: Re: (qualityp BASIC) -> NIL Message-ID: <765@ucbtopaz.CC.Berkeley.ARPA> Date: Fri, 22-Feb-85 03:30:52 EST Article-I.D.: ucbtopaz.765 Posted: Fri Feb 22 03:30:52 1985 Date-Received: Sun, 24-Feb-85 01:30:24 EST References: <7873@brl-tgr.ARPA> <706@ucbtopaz.CC.Berkeley.ARPA> <467@houxj.UUCP> <733@ucbtopaz.CC.Berkeley.ARPA> <791@diku.UUCP> Reply-To: mwm@ucbtopaz.UUCP (Praiser of Bob) Organization: Missionaria Phonibalonica Lines: 65 Summary: In article <791@diku.UUCP> kimcm@diku.UUCP (Kim Christian Madsen.) writes: >You're quite right computer languages are tools which you can use for >many reasons. In education however BASIC can be a great advantage, if >the intensions of the course isn't primary a programming course but an >information about `What computers can do'. Most people who have never >worked with a computer before can better manage to understand small and >simple programs in BASIC than nearly any other programming language. The simplicity of BASIC does have much to commend it. However, there are things that I think are better. I'll concede that BASIC is better than most things for such tasks. However, consider: >Imagine you never saw a computer program before which of the following >would you understand the best. > > i) 0010 LET A=10 > 0020 LET B=15 > 0030 PRINT 'Sum:'; A+B How about: ii) to add a = 10 b = 15 print "sum:"; a+b end [Sorry, it's been a long time since I wrote any Logo, so I may have mangled the syntax.] >Granted this is very simple programs, however they can demonstrate the ease >in which you can write a simple program in BASIC. The other languages may >be much more useful to people who studies computer science or have made >programming their way of life. But to explain the concept of programming to >novices I think BASIC is a wonderful uncomplicated language. But I think Logo is better. The thing to consider is the chance that some of your students may go on to write many programs. By starting them on BASIC, you've got them started with a system where monolithic main routines and no subroutines is the standard. They should unlearn that, which means you've done them a disservice. Logo encourages subroutines, and there are cheap Logo machines ($150) that give you multi-tasking turtles with message passing. >If you want to make really sophisticated programs and you have the right >tools at your hands then use them or learn to use them. I think the proper >way to be a programmer is to solve the problems first without a computer, >but make a strategy and perhaps a pseudocode and when you have conquered >the problem then you can express it in any computer language you want plain >and neat. [To equal minded!] Yes! I couldn't agree more. However, after you've got your algorithm, it behooves you to choose a language that supports operations as close to those your algorithm uses as possible. For instance, it would be silly to do string processing in FORTRAN if you've got a Snobol or Icon processor handy. Likewise, having a language that lets you write operations on a higher level than those supplied by the language is a win. BASIC falls down on these in that it doesn't have user defined data types, and the "subroutines" are just remote execution. And please don't bother telling me about Some-BASIC-or-another that has records and real subroutines (and no line numbers, and while loops, and etc.). I know they exist, but calling them BASIC is stretching the definition of BASIC just a tad.