NetRexx at SHARE Technical Conference

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

NetRexx at SHARE Technical Conference

Chip Davis-2
For those of you unable to attend the recent SHARE Technical
Conference, I would like to offer a brief (well, it started out that
way) review of the NetRexx sessions.  I was able to get to most of
the NetRexx sessions, and have collected reports for those I missed.

Obligatory Disclaimer: I am reporting this as both a participant and
unabashed NetRexx enthusiast. Despite that, I will attempt to remain
objective.

The NetRexx sessions were presented by the Rexx/Java Project of the
Open Computing Environments Cluster, and generated quite a bit of
interest.  The meeting rooms, in general, were too small, being set
up for about 50 people.  The NetRexx sessions routinely drew upwards
of 60 attendees, so standing-room-only was the order of the day.  The
handouts disappeared faster than the seats; one quickly learned to
arrive early.
=====================================================================

"Java Programming in NetRexx: Java Made Easy", Ueli Wahli (IBM)
---------------------------------------------------------------
The week started early Sunday with an all-day hands-on tutorial
"Jump-Start to Java Programming", held in the OS/2 PC room.  This
seminar was available by prior subscription for an additional fee,
and was not part of the regular program of sessions.  Part of the
tutorial was an excellent presentation on NetRexx by Ueli Wahli.
Since it was not limited to an hour, this portion of the course could
cover not only the language features of NetRexx, but also its use in
a networked environment.  Some of the more advanced topics included
managing threads of execution, accessing databases, programming a
client/server socket connection, remote method invocation, CGI
scripting, and using Java Beans.  Ueli is the editor of the IBM
Redbook "Creating Java Applications Using NetRexx" and his knowledge
of the language and how to access the Java facilities was evident.

"Objectivity! -- OOP Made Easy", Chip Davis (Aresti Systems)
------------------------------------------------------------
The premise of the first NetRexx session was that object-oriented
programming is not as difficult as is feared by those who have not
made the transition.  This was demonstrated by programming a simple
real-world object (a flashlight) using a simple pseudo-code.  The
flashlight was used to demonstrate the four characteristic features
of OOP: Objects, Encapsulation, Polymorphism, and Inheritance.  The
most complicated instruction in the code was an If-Then-Else.  By the
end of the session, the flashlight had become considerably more
sophisticated, and yet the pseudo-code was still very simple and
obvious.  At that point, Chip confessed that the pseudo-code was
nothing more than NetRexx, and that every example was executable as
written.  He pointed everyone to the NetRexx webpage, and encouraged
them to download it and explore the world of objects on their own.
Despite major technical problems which required two laptops and
frantic recabling to present both the slides and the running code,
the session evaluations were very good.  That, and the many
post-session comments, are evidence that there is a large pool of
potential OO programmers who cannot justify the effort to learn C++
or Java, but are attracted to the low initial investment of NetRexx.

"NetRexx News and Overview", Mike Cowlishaw (IBM)
-------------------------------------------------
Following the Keynote Address by John W. Thompson, General Manager
of IBM NA, the next NetRexx session was presented by one of the SHARE
Featured Speakers, Mike Cowlishaw.  It was a brief presentation of
the main language features, followed by a discussion of most of the
language enhancements since NR 1.00, interspersed with nuggets of
NetRexx history.  For example, NetRexx was developed in 6 months by
one programmer back in 1996.  Where Rexx struggled to get ported to 8
platforms in 12 years, NetRexx achieved the same coverage in 3 weeks.
Case-insensitive string comparison ('Yes'='yes') was originally
considered for Rexx too, but was abandoned as causing too much of a
performance hit.  The typical Java class has 35% more tokens than its
NetRexx equivalent.  (Mike says, "Strong typing doesn't need extra
typing.")  Mike discussed the following NetRexx 1.1 enhancements:
array initializers, adapter classes, deprecation, hex and binary
notation, JavaBean (indirect) properties, and "Coming soon: Inner
classes support".  Under "miscellaneous enhancements", there were a
number of nontrivial features added to the language: binary methods;
shared classes, properties, and methods; transient properties; the
'class' and 'sourceline' special names; and the new Options keywords:
comments, decimal, explicit, sourcedir, symbols, and trace & traceX.
Most of these enhancements are documented in the NetRexx Supplement
on the NetRexx webpage; the rest are in the Release Notes there.  A
couple of you guys got some great exposure when Mike referred to
Dion's Visual NetRexx & FAQ/FAC files, Wingsoft's WingEditor,
Martin's devPad, Max's MaxBase & RxFile, Ed's Pipes, Peter's nrxdoc,
and several others (my apologies for not getting them all in my
notes).  At this point I was getting behind, but Mike recommended
Ueli Wahli's Redbook "Creating Java Applications Using NetRexx",
alluded to the imminent release of Java for VM (finally!), and
mentioned "server-side" scripting.  Mike closed his presentation with
screen shots of the prototype VisualAge for NetRexx loading,
compiling, running, and debugging NetRexx code.  This is a
significant development, because it reflects IBM's recognition of
NetRexx as a "real" language, and worthy of support in the Enterprise
environment.  This session was held in a cavernous ballroom and drew
a huge crowd, which gave it excellent reviews.

"NetRexx: The Easy Way To Learn Java for VM/ESA", Chris Casey (IBM)
-------------------------------------------------------------------
Tuesday morning had an unavoidable conflict between this session and
Pam's (below).  I did not make it to the VM NetRexx session and do
not have a handout for it, but Pam has seen this presentation and
said that Chris's session introduced NetRexx to the VM community.
It covered the language fundamentals and the ease with which one can
quickly become productive in programming for the Java environment.
Considering that a JVM for VM will be available soon, I suspect this
session was well received.

"Teach Yourself GUI Programming In 2 Hours With NetRexx",
 Pam Taylor (Sterling Commerce)
---------------------------------------------------------
Pam's session was held in the OS/2 PC lab room, where attendees were
squeezed three to a workstation and still there were folks standing
in the back.  This session built on the earlier introduction to
object-oriented programming by helping the user make the transition
from a procedural to an object orientation and then moving on to
designing and implementing a GUI application.  Using a simple
user-registration-and-validation program, the session started with a
repetitive-prompting example written in Rexx, converted that to
NetRexx (to make the procedural-to-object jump) and then transformed
it into a GUI-based application.  In the second half, attendees
created their own simple GUI application based on the concepts
covered earlier.  Hands-on sessions are very popular and will be part
of the SHARE NetRexx offerings in conferences to come.

"NetRexx Programming Fundamentals", Chip Davis (Aresti Systems)
---------------------------------------------------------------
This was another packed room, demonstrating that interest in NetRexx
is quite high among the Enterprise system crowd.  This presentation
assumed that the audience was familiar with Object-Oriented
Programming concepts, and wanted to see some examples of NetRexx
code.  The example code used a single simulation, this time a vending
machine, of increasing complexity, to illustrate how NetRexx supports
the four principles of OOP.  The examples started with a gumball
machine and concluded with a soda machine that accepted various
coins, dispensed multiple brands, returned change, and tracked
inventory.  The presentation lacked the jazzy visuals that
"Objectivity" offered, but there was much more working code to
review.  The examples may not have been the most useful in the
corporate environment, but they demonstrated the major aspects of the
language, and provided an introduction to the subsequent NetRexx
session.

"NetRexx -- Some Practical Examples", Mike Cowlishaw (IBM)
----------------------------------------------------------
Mike followed those impractical examples with more practical ones in
his session, held in another cavernous ballroom.  For his first
example, he presented "Comment.nrx" which converts NetRexx block
comments to line comments (if appropriate).  It demonstrated the
proper use of the Java Reader/Writer classes and Exception handling.
That was followed by "Scribble.nrx", an applet that draws lines on
the screen in response to mouse drag operations.  It demonstrated how
to use the Java 1.1 event model to process user interaction with the
mouse.  Mike's last example was "DecApp.nrx", a NetRexx application
that displayed a window and performed arithmetic on two numbers.  One
could choose to perform decimal arithmetic to any precision, or
binary arithmetic with float or double values.  Aside from the code,
which demonstrated nested layouts, automatic type conversions,
arrays, and other interesting features, execution of this program
illustrated some of the errors that can creep into binary arithmetic
if one is not careful.

"Java Remote Method Invocation Using NetRexx", Ueli Wahli (IBM)
---------------------------------------------------------------
I did not make it to this session, but I got a copy of the handout.
Ueli explained the RMI mechanism, then demonstrated it with a bank
account deposit/withdrawal client-server application.  Remote Method
Invocation is useful for distributed Java applications because it
allows the methods of remote Java objects to be invoked by other Java
virtual machines.  Frankly, it's going to take me a bit of study to
be able to grasp most of his presentation without the benefit of the
accompanying lecture.  Okay, I confess, it was over my head.
However, Mike saw part of the talk and said it was a "detailed
technical presentation by an obvious expert."  Regardless, I had no
problem understanding Ueli's conclusions that "NetRexx is great for
RMI programming", "Anything you can do in Java ... NetRexx can do ...
probably easier", and "NetRexx - the language for server programs".

"Teach Yourself Web Programming in 2 Hours Using NetRexx"
 - Pam Taylor (Sterling Commerce)
---------------------------------------------------------
This was a variation of the "Teach Yourself GUI Programming" lab
offered earlier in the week.  This time the focus was on development
of applets for web pages or other browser-based applications.  There
were nearly three times as many attendees as workstations in the lab
and the evaluations were high -- both strong indicators of the
enormous interest in NetRexx as an easy way to program for the JVM.

=====================================================================
The next SHARE Technical Conference will be held in Washington DC,
16-21 August 1998.  Judging by the response to the NetRexx sessions
offered this time, there are sure to be more of them in August.

If you have a suggestion for a Rexx, NetRexx, or Java session, or are
using them in a way that would be of interest to SHARE attendees and
would be willing to make a one-hour presentation, please contact the
Rexx/Java Project Manager, Pam Taylor <[hidden email]>.

-Chip Davis-      Aresti Systems   Member of: Rexx Language Association
[hidden email]   P.O.Box 13306               ANSI Rexx Standard Committee
919.303.3306      RTP NC 27709-3306           JavaLobby & Thoroughly Warped!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
To unsubscribe from this mailing list ( ibm-netrexx ), please send a note to
[hidden email]
with the following message in the body of the note
unsubscribe ibm-netrexx <e-mail address>