First, my reference to OPM was not to be understood as RPG ctr. RPGLE, but
rater EXFMT ctr. subprocedure calls, monolithic ctr. SOA/MVC.
Let me try to clarify why I think that externally described handler
interfaces and old OP codes is a “bad thing”.
In my own project I use Ext JS UI framework from Sencha. This is not an easy
framework to learn, it is written in OO javascript and the learningcurve is
steep not only for RPGLE programmers, but also for .NET/PHP programmers.
What do a programmer do to learn Ext JS? First of all read a book and learn
OO javascript, then read a book on Ext JS, then try a lot and use endless
hours to solve what appears just to be a small problem. Eventually you will
probably become a member of the nearest EXT JS groups.
The EXT JS group I am a member of, is located in Sweden and has about 60
members (programmers) and I think 3 is coming from IBM I and RPGLE, the rest
is MS .NET or PHP folks.
If I showed them some server side RPGLE code with an EXFMT I would have 57
members looking at me as I came from a foreign planet (and knowing it came
from an IBM I also think that it came from the same planet), but if I showed
them a subprocedure call and said I have included a class and the call was a
method they would all know what I was talking about and understand the code
presented even if the syntax is slightly different.
Some of them I already works with, others is in the pipeline on more special
apps/plugins to my project, others again has seen my project and was
impressed what an IBM I actually could do.
The funny thing is that all the new UI centric platforms that have arisen in
the last few years has removed the focus from the server and made strange
bed partners where it doesn’t matter if the server side is running .NET, PHP
or even RPGLE. The new UI programmers may or may not have a preferred server
side technology to fire their apps, but isn’t important anymore.
But what is important is to show the majority .NET/PHP guys that programming
on the IBM I in RPGLE isn’t so far away from what they are used to, even
though they only initially will work in the IFS – a structure and setup they
are used to work with and with professional backend RPGLE programmer.
My strategy is to remove the steep learning curves instead of creating them,
and the more specialties anybody comes into a basic programming language –
the steeper learning curve.
RPG OA is IMO not to go the right way, it has also a learning curve, but a
quite different one than in other programming language, and you do not have
to learn to code service programs and subprocedures in order to use them –
it’s actually easy as long as the steering wheel, the speeder, the clutch
and brake has the same position. In other words – in RPG OA you have to
learn the whole OA “package”, in subprocedures you learn a cross
subprocedure package that is common across subprocedures and you can chose
to just to get familiar with a single subprocedure in each of maybe 10
serviceprogram you import – it is in fact a multitier service layer.
And you may ask yourself if you prefer to learn a highly proprietary handler
interface rather than a commonly cross platform used import of a service
program/class/subprocedure/method interface.
It doesn’t make other than marketing sense/gimmick to me – and removes the
focus of the real challenge that is that the UI discussion isn’t a
transformation from 5250 to a single UI modernization discussion any more –
we are far beyond that and have to deliver server sides apps. that can serve
an increasingly number of different UI’s.
And even if you get the knowledge and programming skills to get across the
other side of the RPG OA handler, how do you learn to program a handler that
fires up an Android app and program the necessary client/server
communication afterwards – “the promised land of RPG OA” – “know you can
connect your mobile phone to your existing RPGLE app as imply as installing
RPG OA and change a few statements” – come one – you can’t other than in
theory.
RPG OA handlers doesn’t read/write from STMF, it doesn’t read/write JSON or
XML and it certainly doesn’t create Apple or Android app’s or HTML5/CCS3
app’s without writing the handler – and in the handler is where the
challenge lies – not in the interface to the handler or any subprocedure –
in fact the handler doesn’t exist before you create it!
And somebody has to do the “dirty work” in the handler, or rater define a
intelligent data I/O where one format and one EXFMT collaborates with
another within the handler and do some commonly defined work and/or
functions – let’s just say gather some predefined data structures,
reformatting them to either HTML/XML or JSON and on a given WRITE
instruction sends the buildup buffer to the client device. This is not code
that comes by itself or is sent from heaven.
What programmer who wanted the easy ride of RPG OA is able to create a
handler the handles dynamic storage, call STDIN/STDOUT or IFS I/O, pointer
ADDR, ALLOC and otherwise ? The guy that didn’t wanted to educate himself
and just wanted to get an easy ride with RPG OA?
Let face it, most programmers that writes in here are quite skilled – we
argue and discuss technical approaches – and we also disagree quite often
and sometimes has verbal fights – but we are a little “gang” with different
approaches and agendas – so be it.
My setting and position may be quite different from the commonly IBM I
scenario, most of you seems to me to discuss the same biscuit in a rather
narrow perspective – how to get people, that in fact is close to retirement,
actually doesn’t want or maybe want, but doesn’t have the top tuned ability
to learn something really new and maybe just wants to reach the next harbor
without falling overboard, a part of the future – the simple answer is that
you don’t - but you do help them.
Attracting new people to the platform – is where the challenge stands!
On Mon, Mar 21, 2011 at 9:44 PM, Tom Deskevich <
thomas.l.deskevich@xxxxxxxxxxxxx> wrote:
Well said Vern. I always search the archives and do a google search before
posting a question.
But sometimes I search with the wrong words or find 50 pages telling me 50
different things.
This is the ultimate place for me to get answers, and it has saved me
numerous times.
I am thankful to all those who monitor this and answer questions.
But sometimes you do get slapped around for either what you ask or how you
ask.
Some of us are specialized and never had a need for certain things until
now, so it is new to us.
It may seem really obvious to you that are really saturated in knowledge.
Just my opinion, but you know what they say about those.
Tom Deskevich
--
This is the RPG programming on the IBM i / System i (RPG400-L) mailing list
To post a message email: RPG400-L@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at http://archive.midrange.com/rpg400-l.
As an Amazon Associate we earn from qualifying purchases.