A 2004 beginner-to-advanced TI-83 Plus BASIC tutorial by Boris Cherny covering I/O, loops, GETKEY, drawing functions, lists, and matrices with worked challenges.
Key Takeaways
Three output methods exist: DISP (next available line), OUTPUT (coordinate-based with text wrap), and TEXT (pixel-based drawing screen, 62x94px).
LBL/GOTO is explicitly flagged as sloppy; FOR and WHILE are preferred, with a side-by-side benchmark showing LBL/GOTO is measurably slower for animated circle drawing.
GETKEY assigns a numeric code to every button; the standard idiom wraps it in While 1 / getKey / While key=0 to block until input.
TI-83+ BASIC has only 26 single-letter numeric variables plus named string variables (Str1-Str9) and user-named lists; namespace collisions with other programs are a real risk on shared lists L1-L6.
The tutorial progresses to nested loops, Pt-On/Pt-Off for flicker-free pixel drawing, and RAND/RANDINT for game randomness.
Hacker News Comment Review
Strong consensus that TI-83 BASIC was a common entry point into programming for a generation of developers, with the constrained environment cited as motivating rather than limiting.
TI-83 BASIC’s stack leak bug on IF-THEN blocks exited via GOTO pushed serious users toward Z80 assembly, a concrete technical limitation the tutorial does not mention.
Commenters note Boris Cherny went on to create Claude Code, giving the 2004 Yahoo-email tutorial an unexpected biographical weight.
Notable Comments
@Dwedit: Documents a real memory-leak bug: IF-THEN blocks exited via GOTO without reaching END leak stack bytes until the program crashes with an error.