On Fri, 4 Aug 2023 at 15:46, Ron Koontz <rkoontz@xxxxxxxxx> wrote:
Hi Ron,
I'm an old school SEU programmer and want to get into RDI. I have it and played around with it but is there a good resource anyone has found real helpful?
The list has heard me go on about how old school I am, so I'll be
brief and leave you with these thoughts:
1) SEU was magnificent
2) RDi /is/ magnificent.
3) And different. You will need to build new muscle memory, develop
new patterns for your workflow
4) Try to mentally embrace the new paradigm; actively think of it as a
good thing. This is the puppy you always wanted!
5) Stop going back and forth between SEU and RDi. You're only
inhibiting your ability to get into the new groove. Don't dabble with
RDi, use it exclusively. When your brain tells you that you need to
switch back to SEU to get work done, that is the very moment you
should be applying yourself more to learning RDi - to get that work
done. You'll learn how to use help. You'll learn to reach out to this
list. There might be a channel on Ryver where you can have a real time
conversation!
Once I myself left SEU for good, I found that my programming got
better; my code got better. I began to think better. It's gradual but
noticeable, and I've seen the same thing in colleagues. I'll give you
a practical example. Here I am, in an old school RPG program. I need
to add a CALL to another program to get ZIP code validation done. The
program I'm calling has a dozen parameters, so I'll need a dozen D
specs, a dozen EVAL calcs (to load the parms) and a dozen PARMs. In
SEU, I'd be typing 3 dozen lines. With RDi, I type in the D specs,
press Alt-2 to open up a second 'window' into the program, scroll the
right hand window to where I need to put the CALL, and copy/paste the
D specs from the left window into the right. Then, I press the record
button and alter the first D spec so that it looks like the EVAL I
need, ending with '='. Press stop, finish the first EVAL, press home,
cursor down, and then play - RDi will convert the second D spec into
an eval and stop so I can put in the variable I need. And being me, I
probably can't remember all the variable names, so I press Alt-2 and
open a third window. Position that to the D specs or wherever, and I
can see the variable names at the same time I see the D specs and the
calcs. Keep pressing play until all of the copied D specs are EVALS.
Type in the CALL statement, and then copy those D specs again. Again,
Record, alter the first one to PARM, Home, Down arrow, Stop. Play 11
more times and all of those copied D specs are now PARM statements.
Oops, I messed something up, now what? Ctrl-Z and RDi puts it all back
to the way it was, ready for me to try again. Ctrl-0 to close the
extra window and get all my screen space back. Far and away, Ctrl-Z
has allowed me to be daring, to try things, to expand my horizons.
Undoing things in SEU is exactly as much effort as adding them in -
which is why so very many lines of code are simply commented out -
we're afraid we may have to go back. Oh, and there are icons for this
stuff but I'm not much of a mouser.
When I used SEU, I might have avoided this CALL - we can validate the
addresses later, in a batch process. Who needs real time validation
anyway? With RDi, that's just one method. I could have used block copy
to grab only the field names. I could have even done it the SEU way,
prompt and type and type and type.
One of the things that people seem to comment on is the time to start
RDi vs the time to press 2 and Enter in SEU. I start RDi first thing
in the morning and never close it all day long. The SEU pattern is
open/close/repeat. The RDi pattern is start once then
filter/edit/compile/repeat. If I really, really need a quick look at a
source member and don't want to fuss with a filter, Ctrl-Shift-A will
open a dialogue box letting me open a source member directly, without
having to navigate a tree.
On that note, any cool things anyone has done with it that is not the "norm"?
RDi is based on Eclipse. That means that the RDi workbench can run
quite an interesting variety of Eclipse plug-ins / extensions. Don't
laugh at me, but I run Bugzilla on my PC, along with Mediawiki and
Wordpress. These help me keep track of the work I'm doing, and why.
The Eclipse plugin called Mylyn has a Bugzilla connector, and I use
these to quickly change gears. Imagine I'm working on my Zip/address
validation task above. I have a Bugzilla bug (and therefore a Mylyn
task), an RSE filter for the code I'm touching, and a bunch of editor
windows open. The boss comes in and tells me that Bobby Tables is
reporting a CPF4101 on menu option 13. I create a Bugzilla bug (which
creates a Mylyn task), right click that Mylyn task and Activate it.
Now, RDi closes all of my address validation editor windows and I can
start my research on menu option 13. When I'm all done (darned missing
OVRDBF!), I Deactivate the CPF4101 task (I can even Close/Resolve the
bug from here in RDi), and then Activate the address task and boom -
all my editor windows are restored. I also use Git between my PC, my
IBM server, and Github - all inside of RDi.
Aside from generic workflow enhancements like Mylyn (you can create
local tasks without using Bugzilla) and eGit, Thomas and Frank have
been doing the Good Lord's work with an IBM i-specific plugin called
iSphere. Highly recommended!!
If you are so inclined, you can even write your own plugins. I've done
it, and I'm no Java programmer by any means.
Thanks for listening,
--buck
As an Amazon Associate we earn from qualifying purchases.