Why Linux needs Rexx ... - REXX
This is a discussion on Why Linux needs Rexx ... - REXX ; Hi there,
from a collegue's e-mail:
<http://programming.newsforge.com/programming/05/06/21/154227.shtml?tid=107>
Regards,
---rony...
-
Why Linux needs Rexx ...
Hi there,
from a collegue's e-mail:
<http://programming.newsforge.com/programming/05/06/21/154227.shtml?tid=107>
Regards,
---rony
-
Re: Why Linux needs Rexx ...
He's saying the same thing that I once pointed out to you -- namely, that
casual and/or new programmers do not think in OO terms, and that it is easier
for them to learn a procedural language.
You disagreed with me.
Do you also disagree with him? If so, then that would negate his reasoning for
why Linux needs Rexx. After all, this is the sole reason he cites for why Rexx
is preferable over Python, and it is a major premise in his reasoning for why
Rexx is generally useful to Linux.
-
Re: Why Linux needs Rexx ...
Jeff Glatt wrote:
> He's saying the same thing that I once pointed out to you -- namely, that
> casual and/or new programmers do not think in OO terms, and that it is easier
> for them to learn a procedural language.
If a person is that "casual" I dare say they are more "scripting" than "programming" in what they write. Consider all of the daemon start scripts in init.d, they could easily be non-OO Rexx programs,
there is little need for OO in the scope of such "programs".
However, start to develop some functions which are highly tied to specific data, putting that all into a class makes a neat and tidy solution for easy re-use in many programs. Object Rexx makes
getting going in OO far easier than some other languages... but then Rexx is more productive in procedural mode than many other languages so it should be no surprise that shifting into OO mode is
simple and productive! ;-) It sure is nice to be able to mix and match code styles in the same program. There is no switching me off of ooRexx as my Rexx implementation of choice!
--
Michael Lueck
Lueck Data Systems
http://www.lueckdatasystems.com/
Remove the upper case letters NOSPAM to contact me directly.
-
Re: Why Linux needs Rexx ...
>>casual and/or new programmers do not think in OO terms, and that it is easier
>>for them to learn a procedural language.
>there is little need for OO in the scope of such "programs".
Yes, for basic utilities, I think that OO languages make things more difficult
than procedural languages.
>putting that all into a class makes a neat and tidy solution
Well, objects are not without their use. That's why I added simple "REXX
Objects" to Reginald, and why the new GUI add-on I've made for Reginald uses
those objects.
But it still my contention (and clearly the contention of the author of that
article), that new programmers do not think in OO terms, and it's easier for
them to learn a procedural language.
-
Re: Why Linux needs Rexx ...
Jeff Glatt wrote:
> But it still my contention (and clearly the contention of the author of that
> article), that new programmers do not think in OO terms, and it's easier for
> them to learn a procedural language.
And thus what decision should be made, use a different interpreter than ooRexx because it has OO capabilities which might cause newbie programmers mental confusion? I think not!
Consider this OO code... seems pretty procedural to me, and the performance kicks some serious butt compared to classic rexx solutions for the same task.
/* Read the file... */
stream~new('/etc/samba/smb.conf')
file~open('READ')
FILEsize=file~command('QUERY SIZE')
INstr=file~charin(1, FILEsize)
FILEarray=INstr~makearray()
file~close()
/* Write the file... */
file=.stream~new('/etc/samba/smb.conf')
file~open('WRITE REPLACE')
file~LineOut(FILEarray~MakeString())
file~close()
I think given good documentation and code examples like these to copy/paste from, newbie programmers could plug such things together and arrive at a working program without breaking a sweat.
--
Michael Lueck
Lueck Data Systems
http://www.lueckdatasystems.com/
Remove the upper case letters NOSPAM to contact me directly.
-
Re: Why Linux needs Rexx ...
Michael,
Your 2nd line needs to be corrected, viz: file = .stream~new('file.dat')
After that it runs great... I agree that the oo code seems to have a "kick
butt"
aspect to it. I'm cetainly going to start using this style for
awhile...being able to
make an array fast is a great help.
Thanks for the contribution... Here is my version... with the trace loop
allowing me to examine the different variables such as typing from the
command
line...
say FILEarray[1]
and seeing the first line of my test file. Cool ... now I small working
program that I can
alter using ooRexx documentation...
REX
/* Read the file... */
trace '?r'
file=.stream~new('smb.dat')
file~open('READ')
FILEsize=file~command('QUERY SIZE')
INstr=file~charin(1, FILEsize)
FILEarray=INstr~makearray()
file~close()
/* Write the file... */
file=.stream~new('smb2.dat')
file~open('WRITE REPLACE')
file~LineOut(FILEarray~MakeString())
file~close()
do i=1 to 100; say '>'; pull .; end
/* end code */
"Michael Lueck" <NmlueckO@SlueckPdataAsystemsM.com> wrote in message
news:wHZwe.13525$2S.10262@fe03.lga...
> Jeff Glatt wrote:
>
> > But it still my contention (and clearly the contention of the author of
that
> > article), that new programmers do not think in OO terms, and it's easier
for
> > them to learn a procedural language.
>
> And thus what decision should be made, use a different interpreter than
ooRexx because it has OO capabilities which might cause newbie programmers
mental confusion? I think not!
>
> Consider this OO code... seems pretty procedural to me, and the
performance kicks some serious butt compared to classic rexx solutions for
the same task.
>
> /* Read the file... */
> stream~new('/etc/samba/smb.conf')
> file~open('READ')
> FILEsize=file~command('QUERY SIZE')
> INstr=file~charin(1, FILEsize)
> FILEarray=INstr~makearray()
> file~close()
>
> /* Write the file... */
> file=.stream~new('/etc/samba/smb.conf')
> file~open('WRITE REPLACE')
> file~LineOut(FILEarray~MakeString())
> file~close()
>
> I think given good documentation and code examples like these to
copy/paste from, newbie programmers could plug such things together and
arrive at a working program without breaking a sweat.
>
> --
> Michael Lueck
> Lueck Data Systems
> http://www.lueckdatasystems.com/
>
> Remove the upper case letters NOSPAM to contact me directly.
-
Re: Why Linux needs Rexx ...
On Thu, 30 Jun 2005 17:42:48 -0400, in article
<wHZwe.13525$2S.10262@fe03.lga>
NmlueckO@SlueckPdataAsystemsM.com "Michael Lueck" wrote:
> Jeff Glatt wrote:
>
> > But it still my contention (and clearly the contention of the author of that
> > article), that new programmers do not think in OO terms, and it's easier for
> > them to learn a procedural language.
That is complete and utter arrant nonsense; "newbie programmers", who
have never programmed anything in any language, adapt to OO like a duck
to water. It's those that have had prior exposure to procedural
languages that can make heavy weather of the process.
(Having been programming for a living for over forty years, in literally
dozens of languages, high and low, I found adopting the OO paradigm
difficult in the extreme. But it's well worth it.)
> And thus what decision should be made, use a different interpreter than ooRexx
> because it has OO capabilities which might cause newbie programmers mental
> confusion? I think not!
It's just Glatt, pushing his barrow with the squeaky wheel.
--
Brian {Hamilton Kelly} bhk@dsl.co.uk
"Je n'ai fait celle-ci plus longue que parce que je n'ai pas eu
le loisir de la faire plus courte."
Blaise Pascal, /Lettres Provinciales/, 1657
-
Re: Why Linux needs Rexx ...
trexx wrote:
> Michael,
> Your 2nd line needs to be corrected, viz: file = .stream~new('file.dat')
Yup, bad copy/paste on my side.
--
Michael Lueck
Lueck Data Systems
http://www.lueckdatasystems.com/
Remove the upper case letters NOSPAM to contact me directly.
-
Re: Why Linux needs Rexx ...
And wouldn't it be better to use ~charout() instead of ~lineout() when
writing the file since you have converted the output array into a string?
Gil B.
"Michael Lueck" <NmlueckO@SlueckPdataAsystemsM.com> wrote in message
news:HAaxe.1899$Si3.291@fe06.lga...
> trexx wrote:
>
> > Michael,
> > Your 2nd line needs to be corrected, viz: file =
..stream~new('file.dat')
>
> Yup, bad copy/paste on my side.
>
> --
> Michael Lueck
> Lueck Data Systems
> http://www.lueckdatasystems.com/
>
> Remove the upper case letters NOSPAM to contact me directly.
-
Re: Why Linux needs Rexx ...
Gil Barmwater wrote:
> And wouldn't it be better to use ~charout() instead of ~lineout() when
> writing the file since you have converted the output array into a string?
I have thought that, but I use the code (for now) the way Jan gave it to me. I have an open item to do some tests of char vs line and see if I end up with a different ending to the file. For now,
things CRC match reading from one name and writing to another, so I have not done this testing.
--
Michael Lueck
Lueck Data Systems
http://www.lueckdatasystems.com/
Remove the upper case letters NOSPAM to contact me directly.
Similar Threads
-
By Application Development in forum REXX
Replies: 14
Last Post: 12-13-2006, 05:31 PM
-
By Application Development in forum REXX
Replies: 30
Last Post: 09-06-2006, 01:14 AM
-
By Application Development in forum REXX
Replies: 0
Last Post: 08-15-2006, 07:46 AM
-
By Application Development in forum REXX
Replies: 4
Last Post: 04-03-2005, 06:19 PM
-
By Application Development in forum REXX
Replies: 2
Last Post: 03-01-2005, 01:10 AM