× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.



The tools that make Agile rock demand that the tools be able to examine a piece of compiled code and pull out the names and types of variables referenced in objects and static class members as well as the symantics of parameters. Can't do that with RPG modules.


-------- Original message --------
From: Paul Raulerson <paul.raulerson@xxxxxxx>
Date: 10/22/2013 8:07 PM (GMT-06:00)
To: Midrange Systems Technical Discussion <midrange-l@xxxxxxxxxxxx>
Subject: Re: Looking for Agile Experience


HI Dan - Reflection can, in some - even most - cases, be described as self modifying code - a very old concept well understood by assembler programmers from all times. ;) In this case, I think you are referring to code examining and modifying object properties at run time.

There are two extremes in this thinking, and oddly enough, both ends of the extreme use Reflection equally well.

At one end of the scale, Assembler languages fit perfectly into this definition. In assembler you examine and modify pretty much anything at any time.

At the other end, you run into the high high level languages like Smalltalk. SmallTalk is attractive in many ways, and is certainly cable of Reflection.

RPG - speaking specifically of modern RPG - sits somewhere just to the left of center. Certainly with based pointers and data structures, it is possible to build "objects" that have embedded behavior, properties, and are cable of describing themselves. Not that in RPG it is terribly beneficial to do so, but just that you can.

So I tend to see arguments about this or that capability being required for a language to fit a particular description as being mere semantics. If acts like a duck, quacks like a duck, and leaves duck dew on your pickup truck - it's a duck.

An yes, that thinking is not well accepted by OO purists, partly because they need the labels on things to be comfortable. Nor is it all that well accepted by Assembler programs, because they scoff at labels or data types, etc. They just put the bytes where they want them.

All that to get to addressing your point about testing. You could use Rational Test Case, other tools, or simply build a custom testing framework around a RPG project before writing the code, and that easily meets the formal definition for Agile development.

But, seriously? As long as you are doing full recursive testing in a manner that will expose issues as near to immediately as possible, I think it meets (or almost meets) the spirit of the idea. YMMV on that one, as I tend to take a liberal view of this subject. Or should I say I take an Agile view on the subject? :)

-Paul



On Oct 22, 2013, at 7:34 PM, Dan Kimmel <dkimmel@xxxxxxxxxxxxxxx> wrote:

One of the tenets of agile, as I understand it, is to write the tester before you write the code. To make that really successful the tester must rely on a certain amount of reflection in the language. OO languages are reflexive by definition. RPG is in no way reflexive.


-------- Original message --------
From: Paul Raulerson <paul.raulerson@xxxxxxx>
Date: 10/22/2013 6:34 PM (GMT-06:00)
To: Midrange Systems Technical Discussion <midrange-l@xxxxxxxxxxxx>
Cc: Midrange-L Midrange-l <midrange-l@xxxxxxxxxxxx>,Rpg400 Rpg400-L <rpg400-l@xxxxxxxxxxxx>
Subject: Re: Looking for Agile Experience


In general, Agile development (assuming you mean the methodology and not a particular product) works quite well with RPGIV, whether a lot of LE features are used or not.

This is because RPG is so very very terse compared to most other languages, and yet still, at the core, a procedural language.

It --> does <--- require significant available processor power, and the stakholders have to buy into it. But turning a minor change around on a screen - green screen, GUI, or Web, in a couple of minutes makes a lot of people very happy. You have to have small programs that compile quickly and very good test data that you can also reload very quickly.

Downsides are the that programmers usually need to be above average for this method to really work best. Turnarounds of a day or two on relatively minor things are not really going to work. Same with a hard nosed certainly about what can and what can NOT change too. The customer might decide he wants to change how he does his account number or something. Have to accept that and make it happen quickly.

And, like every other methodology, get the last 10% to work and work right is still the toughest part.

Works better for small or mid-range projects I think, say up to 300 or 400 programs in an application. With RPG you can push that because some programs are going to fit on a page or two.

-Paul


On Oct 22, 2013, at 03:38 PM, Jon Paris <jon.paris@xxxxxxxxxxxxxx> wrote:

Cross-posted to Midrange-L and RPG400-L

Anyone got any experience in applying Agile techniques in an ILE + RPG environment?


Jon Paris

www.partner400.com<http://www.partner400.com>
www.SystemiDeveloper.com<http://www.SystemiDeveloper.com<http://www.SystemiDeveloper.com<http://www.SystemiDeveloper.com>>




--
This is the Midrange Systems Technical Discussion (MIDRANGE-L) mailing list
To post a message email: MIDRANGE-L@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/midrange-l
or email: MIDRANGE-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at http://archive.midrange.com/midrange-l.

--
This is the Midrange Systems Technical Discussion (MIDRANGE-L) mailing list
To post a message email: MIDRANGE-L@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/midrange-l
or email: MIDRANGE-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at http://archive.midrange.com/midrange-l.

--
This is the Midrange Systems Technical Discussion (MIDRANGE-L) mailing list
To post a message email: MIDRANGE-L@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/midrange-l
or email: MIDRANGE-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at http://archive.midrange.com/midrange-l.


--
This is the Midrange Systems Technical Discussion (MIDRANGE-L) mailing list
To post a message email: MIDRANGE-L@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/midrange-l
or email: MIDRANGE-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at http://archive.midrange.com/midrange-l.



As an Amazon Associate we earn from qualifying purchases.

This thread ...

Follow-Ups:
Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.