(06-04-2015 01:16 PM)Dave Britten Wrote: (06-03-2015 05:33 AM)HrastProgrammer Wrote: <HighLevelMode On>
I use both RPN and algebraic notation. When programming I always prefer algebraic notation (that's why I would take Pascal/BASIC/C/C++ over RPL anytime). For simple calculations RPN is probably the most convenient method but for complex calculations I appreciate the ability to recall the whole expression, make the necessary corrections and evaluate it again.
<HighLevelMode Off>
<LowLevelMode On>
Well, in assembler it's either a matter of direct calculations using registers, or some kind of stack machine (=RPN) anyway ...
<LowLevelMode Off>
I have to confess to agreeing with you. RPN (and RPL) is fantastic for number crunching, or small programs that augment the built-in functions, but for building a large, sophisticated application, it's painful at best, especially with no GOTO in RPL. Compared to a symbolic language, the code is almost always opaque and barely maintainable, with no immediately obvious connection to what's getting passed as a parameter to what, and a lack of any code commenting ability. (RPL is often called a write-only language, and I think I've heard the same epithet applied to perl and/or regular expressions.)
If I'm writing self-contained math routines, or small utility functions, an RPN/RPL machine is great for that job, and usually my first choice. But if I'm writing a program for data logging, estimating process completion via a choice of regression models on a user-selectable most-recent subset of the data, and optionally plotting the logged data points against the regression line*? Hand me the TI-89.
*I am actually doing this right now. The 89 does make me miss the alarm/audio functionality of the 48, though, that's for sure.
I personally tend to avoid complex programs on calculators, for the reason that keyboard is not sized for this activity; so RPL seems the perfect answer to me. Now to your point, you often need multiple programs to achieve one task for the reason you mentioned which again shows that the calculator is not the right tool for bigger applications.