BASIC Language Documentation

  • Keith Alphonso

    Keith Alphonso - 2006-10-11

    I love this project!  I myself learned on Radio Shack TRS-80 BASIC back in the day, and now I'm a Director for a software engineering company!

    I've always thought that BASIC is a good starter language for the same reasons discussed in the article associated with this project.  Its great for kids because you can get immediate feedback, do a little work, get more feedback, etc.

    Now, how about some docs on the language?  I know I can get a BASIC book somewhere, but that won't give me the non-standard stuff (like graphics, etc.)  I can glean a lot from the samples, but a simple list of the non-standard stuff would be great.


    • drblast

      drblast - 2006-10-11


      I'm currently writing a reference for every function in the language, to be posted on the home page.  The language isn't really complete yet, though -- every function is covered in the examples.

      So, check back soon.  Thanks for the kind words.

      • Bill Russell

        Bill Russell - 2006-10-28

        This is great!  I've been considering writing a kids programming language, because I got into programming using Logo.  The more recent logo languages I've seen really haven't done much for me.  But, I've wanted to teach my kids and this seems to do the trick.  Within 30 minutes last night, my 7 year-old son was teaching the computer how to count by 5's 10's and 20's.  It was neat to see! 

    • Keith Alphonso

      Keith Alphonso - 2006-10-12

      Does the language support arrays and looping?  Are there any other graphics functions (like lines, triangles, text, etc)?

      What about if-then-else?  Is this the very basic of BASIC?

    • drblast

      drblast - 2006-10-12

      The only graphics primitives so far are plot, circle, and rect.  There's also clg for clearing the graphics output area.

      There's IF THEN, like the C64.  There's no ELSE.  You can use the colon to separate multiple statement to the end of the IF THEN line, so you can perform multiple actions and then jump past the "else" block.

      No arrays yet, those are next on my list, along with AND/OR/XOR, modulus operator, and random().

      I'm attempting to write the tutorials first and add functions as needed.

    • Keith Alphonso

      Keith Alphonso - 2006-10-12

      Thanks, let me know when it has those capabilities.

      I'm racking my brain trying to figure out how to implement breakout without using either arrays or bit operations.

      What about substringing?  Can I access portions of a string variable?

    • drblast

      drblast - 2006-10-12

      No substrings yet.  To do this without arrays you're going to have to either assign a separate variable to each block, and check each one for a collision whenever the ball moves (yikes), or perform some pretty ugly math to implement a bit array out of integers.

      I'd recommend waiting until I'm done with arrays, shouldn't be too long. :-)

      By the way, the reference documentation is now linked from the home page.

    • drblast

      drblast - 2006-10-12


      I've implemented numeric arrays.  The source is in subversion, I'll probably do a new release in the next few days, once I get the bounds checking working and have added string arrays too.

      But if you use the subversion code, they work like this:

      dim myarray(10)
      myarray[0] = 42
      print myarray[0]

      DIM initializes the entire array to zero.  The maximum array size is currently 100000.

    • Tore Bredeli J�rgensen

      Things missing from the doc:
      Label: It says you can goto and gosub to a label, but not how the label is written.
      Colors: A list of available colornames would be nice.

  • Slym

    Slym - 2009-09-15

    Is there possibility to have UNTIL & WHILE loops?
    I think that Basic-256 is the best choice for teaching kids programming! I hope that the project won't stop. Please, keep up!


Log in to post a comment.

Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:

JavaScript is required for this form.

No, thanks