[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: My First Computer



On Sat, 8 Feb 2003 08:55:08 +1100, "Ross Simpson" <yeah_whatever>
wrote:

>
>"Glen" <lpepicel@nycap.rr.com> wrote in message...
>
>> >>1. It needs a built-in easy-to-use programming language.
>> >>
>> > - some version of LOGO (for very young pre-literate kids)
>> > - some version of BASIC (for older kids)
>> > - source for the BASIC and LOGO, written in a better language
>> >   (like C?), so they can be studied, extended, and modified
>> >
>> > I think the next critical tool is:
>> >
>> > 2. A machine-language development environment
>> > - editor
>> > - assembler
>> > - debugger
>> >
>> > This allows one to get at the machine-code level, both for learning and
>> > because there are certain tasks where speed and memory requirements
>> > force you to use it.
>> >
>> > I would imagine users would progress from BASIC to C to assembler as
>> > their interests and abilities grew.
>> >
>> > A lot could be learned from modern software development tools used for
>> > today's microcontrollers. Languages like FORTH also offer some very
>> > interesting ideas, like incremental assembly and compilation.
>> >
>>
>>
>> I would have a totally different opinion on this.  I'd like to hear what
>> you think about it.
>>
>> 2-
>> (I agree) that it needs something like Logo with the turtle and simple
>> commands like "right 90" "Foraward 50" that have graphical feedback for
>> little kids.
>
>Pilot is better & it only has a couple of commands. I learned Logo standing
>on my head!
>
>> I disagree completely that kids should be learning BASIC and then they
>> should go into C!  The gap between the two is huge.  The worse thing is
>> that your going to produce about 28 "hack and slash" guys per class of
>> 30 and only about 2 that write good code.
>
>Moving onto C from any other language seems daunting (I'd have BASIC near
>the top & C down the bottom - even after Assembly!). Learning C after
>learning Pascal is better.
>
>> The number one problem is learning how to program is learning how to
>> manage complexity.  Anyone can learn how to write a good 60 line program
>> but few can write a good 60,000 line program.  BASIC doesn't have
>> features that allow one to do this-- so that class isn't going to teach
>> them anything but how to write a one pager.
>
>Is it possible to write a good BASIC program, but everyone tends to use the
>easy way out, by filling it with GOTOs. GOSUB is much better & easier to
>follow.
>
>> C does how the ability to do huge programs but the tools that it
>> provides are non-obvious to the beginner.  C is a KISS (Keep it simple
>> stupid) language  it provides minimum tools needed to write powerful
>> programs.  For example C has no namespaces per se.  But these can and
>> are simulated in C using idioms that use what C does have including the
>> header files.  Is it going to be easier to teach about namespaces with a
>> language with direct suport for them via a "namespace" keyword or are
>> you going to have a leacture where the class looks at a hieracrcy of c
>> header files and maybe two of them get it.
>
>
>TRUE!
>
>Ross.
>

But, COME'ON people, you still program in BASIC using GOTOs or GOSUBs?
TI XB had CALL statements with SUBPROGRAMS since 1980 or so, and
QBASIC has SUBPROGRAMS and FUNCTIONS (real Pascal type functions, not
the DEFFN one-liners).
Why are you comparing present-day languages to the BASIC of the
1970s!?!?
The two major beefs I have about BASIC is GOTOs ill-used by
programmers to jump around (they CAN have uses, but you must be
careful in their use), and IF-ENDIFs all over the place, where
indentation is your only guide to what the scope of the IF-ENDIF pairs
are. It is in THIS case that I prefer the one-line IF restriction (no
ENDIF) of the old line-based interpreters. Scope is VERY EASY to
figure out!