A quick and dirty summary:
The ability to program in BASIC without installing any software (all you need is a modern standards-compliant web browser.)
- So, in regards to requirements: BAM is OS-agnostic and device-agnostic.
Put BAM where you want it and personalize it to any degree,
- Put it on the web to use it from any online device
- Store it locally to use it offline
- i.e. manage/store/use it in whatever way any TiddlyWiki can be managed/stored/used
The ability to share programs with an audience without any special requirements other than having a standards-compliant web browser.
- So, in regards to requirements: BAM is again OS-agnostic and device-agostic
- A shared program is small, as it is (via TW’s Transclusion prowess) exported as a single HTML file that contains only the BASIC program bound to the BASIC transpiler
- Example program: Keijzer Graph
- The small exported program can be emailed, can be put on a static web server, can be stored locally (for offline use), can be embedded in any other Web page (with iframe HTML elements)
Primary use cases:
- hobby programming (I.e. particularly for the children of the 70’s / 80’s and liked programming in BASIC on those home computers), whether you want to program in good old “unstructured” BASIC or “structured” BASIC, and whether or not you want to make use of some BAM-specific features
- teaching fundamental programming concepts/constructs/elements with a language (BASIC) that isn’t cluttered with annoying distractions
- creating self-contained “Web gadgets” in BASIC (because you either cannot stand the “usual suspect” programming languages for “Web gadgets”, or you could not be bothered to learn those other languages, or because you simply have a soft-spot for BASIC.)
- Example: Digital Clock
Constraints:
- BAM is not meant for “web-programming” (at most, you can create a small “Web gadget” that at most interacts with input from a user, but it will not interact with Web servers or anything outside of the BASIC program)
- BAM programs cannot interact with local file systems; however, a BAM program hosted in a TiddlyWiki instance can interact with that TiddlyWiki via local storage AND/OR parameters passed from TiddlyWiki to the BAM program (causing the BASIC program to restart via the TW refresh mechanism)
BAM is really useful for giving old BASIC programs (old-school BASIC games, for example) a new lease on life, and is really good for graphics programming (or any kind of program that does not deal with a local file system, I.e. using files for input and/or output.)
No comments:
Post a Comment