I wonder how many people have started their programming experience on a TI calculator. I had the same way in with a TI-85.
I wonder how many people have started their programming experience on a TI calculator. I had the same way in with a TI-85.
Interesting that beyond the TI calculator, there are a few other parallels with Bellard: I studied in one of the top French engineering school (Mines de Paris), wrote a 3D program as a student (Alpha Waves, Guiness book for first 3D platformer), an open-source compiler (XL, http://xlr.sf.net), a machine emulator with dynamic translation (HP Integrity Virtual Machine, a VM for Itanium), worked on a C++ compiler (HP aC++), dabbled in Emacs (e.g. first graphical Emacs for MacOSX back in the Rhapsody days), designed or wrote some code used all over the world (e.g. modern C++ exception handling), I sometimes took really new and "minimal" approaches to old and complex problems (e.g. the scanner and parser for XLR total 1500 lines of rather simple C++ code). I keep studying physics like Bellard kept studying math, and came up with my ow wild ideas (e.g. I'm delusional enough to believe I know how to unify GTR and QM).
But there's a couple of pretty major differences as well. Bellard's work was always freely available. Except for XL, mine was mostly proprietary (and XL, an exception to the rule, was a resounding flop as far as community involvment was concerned). Alpha Waves was a commercial product. HPVM was a commercial product. aC++ was a commercial product. And today, they are all dead or dying. As for fame, I'll let you judge of Bellard's fame relative to mine ;-)
I think that there is a lesson here about the strength of openness. If you start your career, making your stuff open and sharing freely may be a pretty good move...
I can't speak to the TI series, but one nifty thing about RPN is that where 80s-style microcomputer BASIC tends to afford spaghetti code, the RPN afforded breaking your program down into functions. If you didn't break it down properly, your program turned into a series of hundreds of DUP DUP + SWAP3 DRAWLN 73 SWAP DUP - DRAWLN 0x838AFE7E8A9E 3 4 108 93 BLITPIX etc etc in an undifferentiated mass. (Those aren't the real opcodes, I've long since forgotten them and won't look them up, but that's sort of trying to compute where to draw two lines then dumping a pixmap to the screen.)
The next one was a CASIO PB-700.