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

Re: My First Computer (was Computing Editorial)



Lee Hart <leeahart@earthlink.net> wrote in message news:<3E460388.5268@earthlink.net>...
> Lee Hart wrote:
> >> So, I think what you want is a way to extend the language as you
> >> learn, like LOGO and FORTH.
> 
> Carl Gundel replied:
> > This was true of BASIC only until the mid '80s, when BASICs began
> > incorporating user definable functions and subs.  Most versions of
> > BASIC today do have this feature.
> 
> Yes, indeed. Modern BASICs have so many features that they aren't BASIC
> any more. The extra features clutter up the language so that it isn't at
> all easy to learn any more. And, they aren't fast, or efficient, and no
> longer run on very small machines.

I get so many requests for new features to Liberty BASIC.  I push back
really hard because I don't want the language to grow out of control. 
If a feature is simple and if it buys a lot, I consider adding it. 
Also, if it doesn't feel like BASIC, I try not to add it.

> I think part of the success of the early microcomputers (like the Apple
> II, Radio Shack TRS-80, Commodore 64, Atari 800 etc.) was that they came
> with BASICs that were simple enough to be easy to learn, yet
> sufficiently powerful to do useful things. They had a good balance
> between ease of use and performance.

Yes.  Most of them came with BASIC built in, and in fact many people
bought a computer just so they could program them.  Not so today. 
Computer literacy does not now include programming skills, but it
should.  People are not efficiently tapping the power of their
computers if all they do is run canned software.  Besides this,
programming is fun and teaches a way of thinking that is useful.

> > students. Learning BASIC early on didn't stop me from learning Forth,
> > C, Smalltalk and Java later.
> 
> I agree completely. In fact, when learning is also easy and fun, people
> do a lot more of it. The existence of BASIC *encouraged* me to learn
> other languages!

People who program for fun can use any language they enjoy, and if
that's the only language they ever learn, it's okay.  BUT,
professional programmers should try to learn as many different kinds
of languages as they can.  Learning completely different programming
paradigms is so enabling.

> > As far as BASIC being made extensible in a fashion like Logo or Forth,
> > it wouldn't be BASIC anymore.
> 
> This could be true. The extensions could totally alter the language
> until it became unrecognizable.

Exactly.

> However, as a beginner I can recall my
> frustration with having to give repeated strings of code meaningless
> names (like GOSUB 12340 instead CLEARBUFFER). It felt like even simple
> BASICs should have had a way to define new keywords just as you can
> define new variables. I really took to FORTH because it had this
> ability.

I agree.  In Liberty BASIC you can use descriptive branch labels, and
you can define functions and subroutines with parameter passing, etc. 
It's funny though that I have run into people time and time again who
won't let go of their line numbered habits until you pry them from
their cold, dead fingers.  ;-)  For people who program alone, this is
fine.  OTOH programmers who share code with others or program for pay
should try to improve their craft.  :-)

> That's why I am thinking that "my first computer" should have LOGO,
> BASIC, and C. LOGO is good for really young childrend, and lets you play
> with an extensible language. BASIC lets you write programs immediately.
> C lets you move to a mainstream language with more power, but that also
> requires a lot more knowledge and sophistication.

Now why doesn't a company with Microsoft's resources include this sort
of thing with Windows by default?  What could be easier?  What are
they thinking?

-Carl Gundel, author of Liberty BASIC
http://www.libertybasic.com