Post Reply 
No RPL?
12-16-2013, 07:10 PM (This post was last modified: 12-16-2013 07:10 PM by John R. Graham.)
Post: #1
No RPL?
A quick look at the downloadable user guide shows a new programming language called PPL but no evidence of RPL. Does anyone know if there's RPL support hidden in there anywhere?

- John
Find all posts by this user
Quote this message in a reply
12-16-2013, 08:24 PM
Post: #2
RE: No RPL?
It's a completely different platform. No RPL, or any other form of RPN programmability.
Visit this user's website Find all posts by this user
Quote this message in a reply
12-16-2013, 08:41 PM
Post: #3
RE: No RPL?
Since the calculator is directly aimed towards students, RPL would have been too hard to learn for younger crowds (which is the same reason why so few TI-84 Plus programmers bothered about Z80 assembly and FastRPL), so they decided to go with an higher-level language. The calc is competing directly against many TI and Casio models for students (CAS and non-CAS), they decided to choose a language that looks similar to TI and Casio Basic.

There is some limited RPN support in non-CAS mode, though. I wonder if RPN can be used inside HP PPL programs? I think it wouldn't hurt to have both SysRPL and HP PPL being supported in future firmware updates, though, and with higher RPN support, to satisfy both students and professionals.
Visit this user's website Find all posts by this user
Quote this message in a reply
12-16-2013, 11:13 PM
Post: #4
RE: No RPL?
I for one, have no desire to see RPL on the Prime. RPL was designed as a powerful, compact language that can be input on a handheld with minimal keystrokes. I've used it write complex programs on my 48 and 50g's but I won't miss it. Even within RPL programs I frequently used algebraic expressions for readability and just eval'd them as needed. RPN is great as an entry method but it's not as useful as a notation because the meaning of any given expression depends on the history of the stack.

IMHO, the Prime should be an extension of the desktop. Ideally, programs should be created on the desktop in a high-level language and simply pushed to the Prime.

Having said that, HP PPL is a major disappointment. If there's any chance for another development environment I'd rather it was Python or C. And the "connectivity kit" should become a full-fledged IDE that supports the Prime.
Find all posts by this user
Quote this message in a reply
12-16-2013, 11:42 PM
Post: #5
RE: No RPL?
(12-16-2013 11:13 PM)jgreenb2 Wrote:  Having said that, HP PPL is a major disappointment. If there's any chance for another development environment I'd rather it was Python or C. And the "connectivity kit" should become a full-fledged IDE that supports the Prime.

Why is HP PPL a disappointment? What about the language itself do you find inadequate? I agree that the conn. kit should be a full-fledged IDE -- and I believe that that is the direction that HP is planning to take.

Graph 3D | QPI | SolveSys
Find all posts by this user
Quote this message in a reply
12-17-2013, 01:55 AM
Post: #6
RE: No RPL?
The problem is that it's Basic.

Syntactically, HP PPL is nasty: the old begin/end, if/end, while/end structures are confusing to read. A simple, consistent {} will do thank you. No block comments. No classes. Etc.

I can understand why it might be a commercial necessity to include a version of Basic, but if there's a possible alternative why not Python?
Find all posts by this user
Quote this message in a reply
12-17-2013, 02:30 AM
Post: #7
RE: No RPL?
And lists? { } ...

TW

Although I work for HP, the views and opinions I post here are my own.
Find all posts by this user
Quote this message in a reply
12-17-2013, 02:47 AM
Post: #8
RE: No RPL?
I don't love the language, but I am happy knowing that executes very fast.

SystemRPL was fast but was ancient and cryptic. Having a fast simpler language allows you to do a lot more, even an RPL emulator, or anything you can think (maybe not yet, because there is no much interoperation with things from the programs themselves, but hopefully one day).

My website: erwin.ried.cl
Visit this user's website Find all posts by this user
Quote this message in a reply
12-17-2013, 04:59 AM (This post was last modified: 12-17-2013 05:01 AM by Kevin Ouellet.)
Post: #9
RE: No RPL?
I don't mind HP PPL, but again that's coming from someone who used BASIC-like languages for over a decade. I am annoyed at the BEGIN/END syntax sometimes, though. I think HP PPL is good in the way that beginner programmers will be able to get into programming easier, while not getting limited by atrociously slow speed like on TI or especially Casio calcs. Just see how slow the Casio FX-cp400 is. HP PPL is the only BASIC-like language for calculators that can rival TI-Z80/68K ASM.

I'm happy that finally, there is a TI-BASIC-like language that runs at reasonable speed. We no longer have to rely on assembly to make programs that runs at more than 3 frames per second.
Visit this user's website Find all posts by this user
Quote this message in a reply
12-17-2013, 10:26 AM
Post: #10
RE: No RPL?
(12-17-2013 01:55 AM)jgreenb2 Wrote:  The problem is that it's Basic.
I might be missing your point, but how is HP PPL anything like "Basic"? It's far closer to Pascal than to any version of BASIC that I've ever seen. It's almost nothing like HP-71/75 BASIC. Or do you simply mean that it uses variables instead of a data stack? That doesn't make it BASIC. You can't mean that it's structured, since RPL is even more structured than most BASICs (except perhaps so-called "True BASIC"), even annoyingly so (I still miss GOTO in User RPL!).

Personally, I find the human readability (and hence maintainability) of HP PPL lightyears ahead of RPL. RPL (like all RPN programming) is a "write-only" language. A month after writing an elegant RPL program, the source code looks like a bunch of random stack juggling, necessitating an avalanche of comments. HP PPL is readable at a glance, even with no comments. And it runs roughly 200 times faster than RPL. What's not to like?

Of course, for some people, the problem with HP PPL is that It's Not The Programming Language Which I Happen To Already Know. That's an understandable source of frustration (because human inertia is a strong natural force), but it's not a valid objection.

If I missed your point, please elucidate it, and accept my apology in advance.

<0|ΙΈ|0>
-Joe-
Visit this user's website Find all posts by this user
Quote this message in a reply
12-17-2013, 05:03 PM
Post: #11
RE: No RPL?
Joe,

Other than the use of the keywords "Begin" and "End" and the use of the := syntax for assignment I can find no similarity between HP PPL and Pascal. In fact, the Begin/End keywords are used in fundamentally different ways in the two languages. In Pascal, Begin/End delimit any execution block and can occur anywhere that statements are grouped. In HP PPL, they are only paired to delimit a procedure. End is overloaded to match IF, DO, FOR, etc. Pascal is strongly typed, HP PPL has no explicit typing. Pascal supports structured types, HP PPL does not (as far as I can tell). Pascal supports pointers and indirection. Does HP PPL?

That's a not a defense of Pascal, btw. Pascal fell out of favor 20+ years ago for good reason.

My point was simply that HP PPL is a variant of Basic and in 2013 there are many, many alternatives that are more suitable for both pedagogy and programming.
Find all posts by this user
Quote this message in a reply
12-19-2013, 01:40 AM
Post: #12
RE: No RPL?
You might be interested in Python for microcontrollers: Micro Python.

The question of using Python or Lua already came up in an earlier thread.

Cheers
Thomas
Find all posts by this user
Quote this message in a reply
12-19-2013, 02:15 AM (This post was last modified: 12-19-2013 02:16 AM by Han.)
Post: #13
RE: No RPL?
(12-17-2013 05:03 PM)jgreenb2 Wrote:  My point was simply that HP PPL is a variant of Basic and in 2013 there are many, many alternatives that are more suitable for both pedagogy and programming.

I think we will always have varying opinions as far as pedagogy is concerned. One could even argue that ARM assembly is better since the future generation will be seeing lots more mobile devices powered by ARM chips. But even I don't think ARM assembly is good for pedagogy and I am sure you don't either.

The simpler the language the easier it is for people to pick up programming in that language. All the bells and whistles of much higher-level languages do not make a good introduction to programming a calculator. If we were talking about a desktop PC, then your arguments are more than valid. However, the target demographic for the Prime is education, if I am not mistaken. Many of these students, if they ever do program, are not going to devote hours and hours to learning about structures, classes, pointers, etc. And those that DO want to devote such hours aren't going to choose a calculator as their platform of choice since PCs are dirt cheap these days. So for a calculator, they are likely going to want to write something very quick and dirty to do some of the more mundane tasks in their class, and that will be the extent of their programming on the calculator.

I find that HP PPL is actually very similar to C. Global variables and program declarations are done in a very similar way. Structured types can easily be attained with lists, which can have (almost) arbitrary elements -- I haven't tried all possible object types. The obvious drawback is the inability to name the elements in the structure. Having typed variables is both a blessing and a curse, depending on your needs.

Given that this is a calculator, what exactly is it about HP PPL that prevents you from accomplishing whatever calculator projects you have in mind? Beyond the annoyances of BEGIN/END etc...

Full disclosure: I don't really care for any particular programming language as long as it is fast and I can do what I want to do without too much of a hassle. For the HP Prime, I have found both to be the case (so far).

Graph 3D | QPI | SolveSys
Find all posts by this user
Quote this message in a reply
12-19-2013, 02:52 AM (This post was last modified: 12-19-2013 02:54 AM by Michael de Estrada.)
Post: #14
RE: No RPL?
(12-19-2013 02:15 AM)Han Wrote:  Given that this is a calculator, what exactly is it about HP PPL that prevents you from accomplishing whatever calculator projects you have in mind? Beyond the annoyances of BEGIN/END etc...

I don't think of this as a calculator, but a very compact programmable computer. As such, it can benefit from a more sophisticated programming language. One thing I really miss from FORTRAN is branch to label that even BASIC offers. This forces a lot of cumbersome and unnecessary IF THEN ELSE type constructs, and keeping track of END statements. Also, I hate how the code for called functions (subroutines) has to precede the code for the main program.
Find all posts by this user
Quote this message in a reply
12-19-2013, 03:25 AM
Post: #15
RE: No RPL?
(12-19-2013 02:52 AM)Michael de Estrada Wrote:  Also, I hate how the code for called functions (subroutines) has to precede the code for the main program.

The actual source of the subroutines don't have to precede the main program. Only the declarations need to precede the main program -- much like C. Or is this perhaps what you find annoying (?)

Graph 3D | QPI | SolveSys
Find all posts by this user
Quote this message in a reply
Post Reply 




User(s) browsing this thread: 1 Guest(s)