Main Page | Report Page

 

  Computers Forum Index » Computer Languages (Basic - Misc) » [ANN] Book - Beginning Programming with Liberty BASIC...

Author Message
Carl Gundel...
Posted: Fri Jan 29, 2010 3:28 am
 
I'm pleased to announce the availability of "Beginning Programming
with Liberty BASIC", a 200 page learners book. It is now available for
purchase on lulu.com for $23 !!

Here is a direct URL:
http://www.lulu.com/product/paperback/beginning-programming-with-liberty-basic/6089567

I hope that this book will also become available for purchase from
other sites like Amazon in the near future.

A spiral bound version of this book will also be made available.

-Carl Gundel
 
Frederick Williams...
Posted: Fri Jan 29, 2010 10:02 pm
 
Carl Gundel wrote:
Quote:

I'm pleased to announce the availability of "Beginning Programming
with Liberty BASIC", [...]

Just to be contentious Smile should a beginning programmer begin with
BASIC at all?

--
Mathematics is a part of physics.
Physics is an experimental science, a part of natural science.
Mathematics is the part of physics where experiments are cheap.
(V.I. Arnold)
 
Tom Lake...
Posted: Sat Jan 30, 2010 12:49 am
 
Quote:
Just to be contentious Smile should a beginning programmer begin with
BASIC at all?

A good, modern BASIC is exactly what the beginner should start with!

It has all the control structures of other languages, it's easy to learn, it
keeps extraneous punctuation to a minimum (I hate semi-colons and
curly braces!), Most implementations do a lot of error checking. If
Windows had been written in a version of BASIC, none of those buffer
overflow exploits would have happened! Nothing is more confusing
to a user than to have a program do strange things because they
moved data into a buffer that was just a byte or two too small to hold it.
BASIC was designed from the ground up to be a beginner's language.
Was C? Perl?

Tom Lake
 
Mark Hobley...
Posted: Sat Jan 30, 2010 1:08 am
 
Frederick Williams <frederick.williams2 at (no spam) tesco.net> wrote:
Quote:
Just to be contentious Smile should a beginning programmer begin with
BASIC at all?

Yeah. I think so. It is very versatile, and easy to read and debug.

Mark.

--
Mark Hobley
Linux User: #370818 http://markhobley.yi.org/
 
Stefan Pendl...
Posted: Sat Jan 30, 2010 2:50 am
 
On Fri, 29 Jan 2010 17:02:50 +0000, Frederick Williams <frederick.williams2 at (no spam) tesco.net> wrote:

Quote:
Carl Gundel wrote:

I'm pleased to announce the availability of "Beginning Programming
with Liberty BASIC", [...]

Just to be contentious Smile should a beginning programmer begin with
BASIC at all?

You may want to check http://en.wikipedia.org/wiki/BASIC for what the acronym BASIC stands ;-)

---
Stefan Pendl

Liberty BASIC Assist 4.03 ........ http://www.libertybasic.com/assist.html

Windows Vista Home Premium 32-bit SP2
AMD Turion X2 RM-70 2GHz
4GB RAM
 
Frederick Williams...
Posted: Sat Jan 30, 2010 4:15 pm
 
Stefan Pendl wrote:
Quote:

On Fri, 29 Jan 2010 17:02:50 +0000, Frederick Williams <frederick.williams2 at (no spam) tesco.net> wrote:

Carl Gundel wrote:

I'm pleased to announce the availability of "Beginning Programming
with Liberty BASIC", [...]

Just to be contentious Smile should a beginning programmer begin with
BASIC at all?

You may want to check http://en.wikipedia.org/wiki/BASIC for what the acronym BASIC stands Wink

I already know. Maybe I should say that my first experience of
programming was with BASIC and it took me a while to get over it.

--
Mathematics is a part of physics.
Physics is an experimental science, a part of natural science.
Mathematics is the part of physics where experiments are cheap.
(V.I. Arnold)
 
Mark Hobley...
Posted: Sat Jan 30, 2010 7:08 pm
 
Frederick Williams <frederick.williams2 at (no spam) tesco.net> wrote:
Quote:
I already know. Maybe I should say that my first experience of
programming was with BASIC and it took me a while to get over it.

Tell us more about your experiences ...

Was it good or bad?
What did you like, what did you not like?
What would you differently, if you knew in advance what you know now?

Mark.

--
Mark Hobley
Linux User: #370818 http://markhobley.yi.org/
 
Stefan Pendl...
Posted: Sat Jan 30, 2010 8:57 pm
 
On Sat, 30 Jan 2010 11:15:40 +0000, Frederick Williams <frederick.williams2 at (no spam) tesco.net> wrote:

Quote:
Stefan Pendl wrote:

On Fri, 29 Jan 2010 17:02:50 +0000, Frederick Williams <frederick.williams2 at (no spam) tesco.net> wrote:

Carl Gundel wrote:

I'm pleased to announce the availability of "Beginning Programming
with Liberty BASIC", [...]

Just to be contentious Smile should a beginning programmer begin with
BASIC at all?

You may want to check http://en.wikipedia.org/wiki/BASIC for what the acronym BASIC stands ;-)

I already know. Maybe I should say that my first experience of
programming was with BASIC and it took me a while to get over it.

I see, so we do have common roots, since I started out with a Commodore 64.

I don't think I would have done much, if I would have started with something else than BASIC.
It was easy to teach one self, which layed out the base for other languages.

---
Stefan Pendl

Liberty BASIC Assist 4.03 ........ http://www.libertybasic.com/assist.html

Windows Vista Home Premium 32-bit SP2
AMD Turion X2 RM-70 2GHz
4GB RAM
 
Ralph...
Posted: Sun Jan 31, 2010 12:59 am
 
Frederick Williams wrote:
Quote:
Mark Hobley wrote:

Frederick Williams <frederick.williams2 at (no spam) tesco.net> wrote:
I already know. Maybe I should say that my first experience of
programming was with BASIC and it took me a while to get over it.

Tell us more about your experiences ...

If I do there is a danger that you will conclude that the problem was
with my intellect rather than with the language...


Not at all.

Quote:
... Since I got a good degree in the end I probably wouldn't
change anything.


Sums it up.

In 35+ years as a part-time instructor and full-time practitioner I have
never seen the perfect beginning "language", and I've dabbled with about all
of them - from the 'real' to the 'pretend'.

No matter what tool - it seems we tend to confuse or bore about the same
number of students, with a significant number that muddle on in spite of it.

I would rank BASIC as about the best, followed by PASCAL and FORTRAN. I put
BASIC first and Pascal slightly ahead of Fortran, because in addition to the
simple syntax and ease of debugging as already noted, I would include the
ease of being to play and do some outside reading - inexpensive BASIC and
books are available everywhere, Pascal - not as much, FORTRAN usually takes
a bit of digging.

-ralph
 
news at (no spam) rtrussell.co.uk...
Posted: Sun Jan 31, 2010 10:17 pm
 
On Jan 31, 8:08 pm, markhob... at (no spam) hotpop.donottypethisbit.com (Mark
Hobley) wrote:
Quote:
I think goto is useful for aborting a loop sometimes:

No, this is one of the worst possible uses! The reason is that in
some BASICs (definitely BBC BASIC, I think also Liberty Basic) it can
result in a 'memory leak'. This is a particularly insidious kind of
bug, because rather than causing the program to fail immediately it
may run perfectly for hours, days, maybe even months and then fail
catastrophically, without warning, when some memory resource is
eventually exhausted.

Most BASICs provide an EXIT statement for aborting a loop; always use
this in preference to GOTO.

Richard.
http://www.rtrussell.co.uk/
 
Mark Hobley...
Posted: Mon Feb 01, 2010 1:08 am
 
news at (no spam) rtrussell.co.uk <news at (no spam) rtrussell.co.uk> wrote:
Quote:
Many BASICs have proper control structures (and deprecate the use of
GOTO), some for around 30 years! A few (I think Liberty Basic is
one) still force you to use GOTO occasionally, but with the better
ones (like BBC BASIC) there is no need *ever* to use GOTO. I haven't
used GOTO in a BASIC program for over 25 years (with the sole
exception of programs designed to test that GOTO still works)!

I think goto is useful for aborting a loop sometimes:

m = 13
FOR l = 1 TO 20
IF l = m THEN
REM abort the loop
l = 20
GOTO loopend
END IF
PRINT l
loopend:
NEXT l

Or sometimes a goto is useful in a load of deeply nested if conditionals:

IF loaderisready$ = "Y" THEN
IF conveyorisrunning$ = "Y" THEN
IF floorspaceisclear$ = "Y" THEN
IF lightisgreen$ = "Y" THEN
REM do something
ELSE
REM do something else
END IF
ELSE
GOTO labela
END IF
waitingforstopsignal$ = "Y"
BEEP
ELSE
REM beep three times and whistle
END IF
labela:
REM do something here
END IF

You can rearrange that lot to use logical operators and by inverting some
of the conditionals, remove the goto, but that can make the code harder to
read and debug.

Mark.

--
Mark Hobley
Linux User: #370818 http://markhobley.yi.org/
 
Gordon Rahman...
Posted: Mon Feb 01, 2010 1:09 am
 
"Carl Gundel" <basicforge at (no spam) gmail.com> wrote in message
news:1942cc12-b115-45af-a5f9-9ea40e54294e at (no spam) k5g2000yqf.googlegroups.com...
Quote:
I'm pleased to announce the availability of "Beginning Programming
with Liberty BASIC", a 200 page learners book. It is now available for
purchase on lulu.com for $23 !!

Here is a direct URL:
http://www.lulu.com/product/paperback/beginning-programming-with-liberty-basic/6089567

I hope that this book will also become available for purchase from
other sites like Amazon in the near future.

A spiral bound version of this book will also be made available.

-Carl Gundel

Very usefull book.
It's clearly written. It's easy to grab.
It teaches BASIC in QBASIC style (console mode)
and BASIC in Visual BASIC style windows programming.
Liberty BASIC is perfect for this to do. It eases the combination
of two worlds. It's easy enough for the beginner to start with
and catch on with programming.

So, no wonder this is a great book. The language is top for beginners.
You will even like the style of the author.

Gordon.
 
Gordon Rahman...
Posted: Mon Feb 01, 2010 2:23 am
 
"Mark Hobley" <markhobley at (no spam) hotpop.donottypethisbit.com> wrote in message
news:uc1h37-sad.ln1 at (no spam) neptune.markhobley.yi.org...
Quote:
news at (no spam) rtrussell.co.uk <news at (no spam) rtrussell.co.uk> wrote:
Many BASICs have proper control structures (and deprecate the use of
GOTO), some for around 30 years! A few (I think Liberty Basic is
one) still force you to use GOTO occasionally, but with the better
ones (like BBC BASIC) there is no need *ever* to use GOTO. I haven't
used GOTO in a BASIC program for over 25 years (with the sole
exception of programs designed to test that GOTO still works)!

I think goto is useful for aborting a loop sometimes:

m = 13
FOR l = 1 TO 20
IF l = m THEN
REM abort the loop
l = 20
GOTO loopend
END IF
PRINT l
loopend:
NEXT l

Or sometimes a goto is useful in a load of deeply nested if conditionals:

IF loaderisready$ = "Y" THEN
IF conveyorisrunning$ = "Y" THEN
IF floorspaceisclear$ = "Y" THEN
IF lightisgreen$ = "Y" THEN
REM do something
ELSE
REM do something else
END IF
ELSE
GOTO labela
END IF
waitingforstopsignal$ = "Y"
BEEP
ELSE
REM beep three times and whistle
END IF
labela:
REM do something here
END IF

You can rearrange that lot to use logical operators and by inverting some
of the conditionals, remove the goto, but that can make the code harder to
read and debug.

Mark.

--
Mark Hobley
Linux User: #370818 http://markhobley.yi.org/


Sorry, in most BASIC this is not good.
In Liberty BASIC you should use EXIT FOR to exit a for/next loop
before the regular end.

The GOTO discussion has been done in this group several times.
I lost friends here for that.
I use to convert old BASIC listing to new BASICs. That's where
GOTO is a must. I can tell. I'm the worse programmer here.
I know. ON A GOTO B,C,D
I know. I wrote converting programs.

Okay, R. wrote a whole BASIC language and thinks he knows
what GOTO means to me.

Gordon.
www.libertybasic.nl
 
Derek...
Posted: Mon Feb 01, 2010 5:46 am
 
On Jan 31, 3:17 pm, "n... at (no spam) rtrussell.co.uk" <n... at (no spam) rtrussell.co.uk>
wrote:
Quote:
On Jan 31, 8:08 pm, markhob... at (no spam) hotpop.donottypethisbit.com (Mark

Hobley) wrote:
I think goto is useful for aborting a loop sometimes:

No, this is one of the worst possible uses!  The reason is that in
some BASICs (definitely BBC BASIC, I think also Liberty Basic) it can
result in a 'memory leak'.  This is a particularly insidious kind of
bug, because rather than causing the program to fail immediately it
may run perfectly for hours, days, maybe even months and then fail
catastrophically, without warning, when some memory resource is
eventually exhausted.

Most BASICs provide an EXIT statement for aborting a loop; always use
this in preference to GOTO.

I agree with what you said, Richard. However it can still be a little
awkward if you need to exit from a nest of For loops. An EXIT FOR will
generally only exit from one loop. So you will possibly have to set up
EXIT FORs for eack loop in the nest with associated conditions or
condition flags. That can make it complicated.

Cheers
Derek
 
Mark Hobley...
Posted: Mon Feb 01, 2010 6:08 am
 
news at (no spam) rtrussell.co.uk <news at (no spam) rtrussell.co.uk> wrote:
Quote:
No, this is one of the worst possible uses! The reason is that in
some BASICs (definitely BBC BASIC, I think also Liberty Basic) it can
result in a 'memory leak'.

Yeah, you will get a memory leak on many systems if the loop is not terminated
through the NEXT statement. That is why I set the loop counter to the maximum
value before jumping to the NEXT statement (terminating the loop).

l = 20
GOTO loopend

loopend:
NEXT l

Obviously, if the implementation provides an EXIT LOOP facility, then you can
use that instead, saving the need to adjust the loop counter.

Mark.

--
Mark Hobley
Linux User: #370818 http://markhobley.yi.org/
 
 
Page 1 of 5    Goto page 1, 2, 3, 4, 5  Next
All times are GMT
The time now is Tue Sep 02, 2014 7:20 pm