6 ms·
TI-Basic interpreter written in JavaScript
- grensley 4y agoTI-Basic was effectively my first programming language. Instead of paying attention in Calculus, I was making the world's buggiest sudoku solver. Will always have a special place in my heart as well.
- clashmoore 4y agoMy first as well. With a family move to a new city during summer break, purchased an '85 and spent the entirety of the last summer month just programming things in it. Haven't stopped programing since.
- mch82 4y agoI wrote a quadratic equation root solver based on one I found, but optimized for UX & more efficient use of built-in functions :-) Also, a game where the player tried to catch a bird that hopped randomly around the screen. Somewhere I’ve got those programs written on paper.
- sixstringtheory 4y agoWow, the original flappy bird was a TI-BASIC program… who knew?
- nsriv 4y agoTI-Basic and finding new programs and using the ticalc.org forums was my first intro to programming, can't wait to play with this! Thanks for the nostalgia this will unlock!
- miselin 4y agoThis is so cool to see and play with, and unlocks plenty of memories. Years ago I built a compiler/decompiler (my first compiler, even) for programs in the TI-84 program format. I never braved any kind of actual _running_ of those programs. Neat project!
- gamegoblin 4y agoWhile I will always be nostalgic for TI-Basic as my first language, I think it really stunted my programming understanding when I moved on to "real" languages. I remember absolutely struggling to understand the idea of structs/classes, because in TI-Basic, everything is quite flat and global -- you get nearly no encapsulation. You have 27 named variables that could hold a floating point number (A-Z and Theta), the Ans variable which was the result of the last computation (and was slightly faster to access than normal variables), 1-indexed lists with maximum length 999, and strings with length bounded only by RAM (something like 16KB or so). If you wanted to represent any large/complicated data types, you often had to resort to encoding it in strings and doing lots of substring math to slice out the fields. Absolutely insane anti-patterns in any "real" programming language. It did force you to learn to think outside the box to solve problems though!
- Jtsummers 4y agoThose limitations always baffled me for the TI-83/84 line. They weren't present in the TI-85/86 line. Lists were bounded only by system memory (both in capacity and number of lists), and variables could be up to 8 characters (still limited, but not as bad as only 1 letter names). The main limitation high school me ran into was when I wanted to implement some recursive programs and had to recreate the call stack using lists as the stack. It was effective, and certainly made understanding an actual call stack easier later on when I got to my CS courses. I stopped using it after 1999, though, when a kid I was tutoring (wasn't sure which one) stole it from me. Replaced it with an HP-48G, I had a lot more fun programming in RPL than BASIC (which I'd been using for close to a decade by that point in some form or another).
- acjohnson55 4y agoI remember all those constraints, but I think for me, it was a really good thing, because it helped me understand the reason for the more complicated features of real programming languages. I knew cramming things into lists or strings was a kludge. But before I had learned TI-BASIC, I had attempted to learn C and JavaScript. Back in the 90s, I feel like most books on programming in stores were more like language reference manuals than instructional books. It was like, "here is every feature, good luck to you". After TI-BASIC, I was like, oh, I see why being able to dynamically allocate memory is so great. I see why explicit function parameters are so great. I see why return values are great. Et cetera. But what really did it for me was learning Z80 assembly. That gave me an understanding of pointers, memory architecture, system calls, build process, toolchain, and so forth. Between the two very different calculator programming experiences, I was finally primed to be able to learn C.
- cjsawyer 4y agoThis brings back fond memories of ignoring my highschool math classes to make little graphics programs with the set pixel function.
- nwsm 4y agoIn our high school we'd download games like Tetris and Block Dude for our TI84s. You could transfer the games to other calculators with a data cable. High scores would transfer, and you might try to build a collection of games. A text based adventure game was going around with a Mafia setting including drugs, guns, and prostitutes. This one was banned by teachers with severe punishment if found, but I had liked the mechanics of the game and learned TI-Basic to recreate the game with a tamer pirate theme. This led to scripting calculations for Chemistry and hiding notes in the code written in the limited character set.
- user3939382 4y agoIn a math class in college they said we were only allowed to use our TI-83s. So I wrote some programs (from scratch) that solved the types of equations we were doing and breezed through the class. I think that application of the rule was ethical though unforeseen.
- thallium205 4y agoOr just make an 89 look like an 83.
- aarchi 4y agoThis makes me want to dump all my TI-Basic programs from my calculator and put them into source control.
- IIAOPSW 4y agoI too started on TI BASIC. My greatest accomplishment with it was a tic tac toe game inspired by the movie Wargames. Set number of players 0.
- compsciphd 4y agoAt first I thought this was about the TI-99/4A ad was wondering if would support the built in basic or the extended basic cartridge. then I found it was about the calculator instead.