George asked in People who loved Rexx now speak about it in past tense topic what my idea of a no nonsense I/O object would look like.
I'd like to go one further. In the 1980's I designed a language, Tabetha as my degree final year project, building on the syntactic simplicity of Classic Rexx, the realisation (from APL) that one can use additional symbols to further this syntactic simplicity, and other influences. Tabetha uses a no nonsense syntax for stream I/O that is, in my opinion, far nicer than object or function calls. This is an assignment in Tabetha, using a 'west' arrow: VariableName ← 7 The value 7 replaces any earlier value in ValiableName. This is a stream/pipe in Tabetha, using an 'east' arrow: Record → FileName Where FileName could also be the name of a device, or a port, or a memory location, (Record contains an end of record character that is CRLF/LF depending on OS). In this simple case, Record is added to the end of file. I believe that a lot of Rexx's charm is its beautiful syntax, that allows programers to concentrate on the task in hand. Object Oriented programs often loose this because of the parameter nature of the object/method calls. This can be improved by allowing simple objects (files, etc) to be treated in the same no nonsense fashion as Rexx Strings, with the computer making the necessary translation from elegant syntax into Java object calls. Is this heresy or a logical extension of the Rexx ideology? Connor. _______________________________________________ Ibm-netrexx mailing list [hidden email] |
George asked in People who loved Rexx now speak about it in past tense topic what my idea of a no nonsense I/O object would look like. _______________________________________________ Ibm-netrexx mailing list [hidden email] |
In reply to this post by FreeFall
Hi Connor,
nice idea, I think. Could be also useful for Stems, Lists, and any other kind of collections... Thomas. ================================================================================================ Am 24.08.2010 14:15, schrieb Connor Birch: George asked in People who loved Rexx now speak about it in past tense topic what my idea of a no nonsense I/O object would look like. --
Thomas Schneider Projects ReyC & LOGOS on www.KENAI.com _______________________________________________ Ibm-netrexx mailing list [hidden email]
Tom. (ths@db-123.com)
|
In reply to this post by FreeFall
Connor,
Don't quite understand (I have no background in language design). Does this only apply to I/O? Is 'VariableName ← 7' something other than an ordinary assignment? I definitely agree that calls and parameters obscure things, eg the turgid string manipulation calls required by C, C++, Java versus NetRexx's clean way of building strings from pieces (primarily due to its innovative concatenation operators). Do you have any ideas for improving invocation of Java methods in the same vein? I also agree that NetRexx has a beautiful syntax. However, it's not its aesthetic qualities that excite me but its ability to reduce the cognitive load on the programmer. This is an area of special interest to me: discovering means of reducing the time it takes to comprehend an unfamiliar program. I take such measures as I can on my own, eg devising compact variable naming conventions that makes types as well as meanings clear, and creative use of the coloring capabilities of modern editors, but the language itself is the most important element. Languages that force the mind to function as a parser of complex constructs, an appalling example being C's type expression syntax, are inimical to this cause. NetRexx is well above other languages I know of in comprehensibility and I support any measures that will make it more so. Looking forward to further proposals from you. George On Tue, Aug 24, 2010 at 8:15 AM, Connor Birch <[hidden email]> wrote:
_______________________________________________ Ibm-netrexx mailing list [hidden email] |
In reply to this post by FreeFall
What was Tabetha written in: C, C++, Machine Code, or what?
bobh On Tue, Aug 24, 2010 at 7:15 AM, Connor Birch <[hidden email]> wrote:
_______________________________________________ Ibm-netrexx mailing list [hidden email] |
What was Tabetha written in: C, C++, Machine Code, or
what?
Nowadays, any self-respecting language is written in itself :-))) Mike
_______________________________________________ Ibm-netrexx mailing list [hidden email] |
ZING! :-))
(Take THAT, ruby, python, perl, ...) That may be a pretty high bar, Mike. I think you might have cornered the market... Aside from a questionable claim about to C, the only language I have been able to find that claims to be written in itself is a Smalltalk variant named "Squeak". -Chip- On 8/24/10 16:20 Mike Cowlishaw said: > What was Tabetha written in: C, C++, Machine Code, or what? > > Nowadays, any self-respecting language is written in itself :-))) _______________________________________________ Ibm-netrexx mailing list [hidden email] |
In reply to this post by George Hovey-2
George Hovey wrote: Connor, Sorry, yes this is just an assignment. I included it for completeness since it helps to explain why the stream arrow points East (no symbol overloading is a feature of Tabetha). I definitely agree that calls and parameters obscure things, eg the turgid string manipulation calls required by C, C++, Java versus NetRexx's clean way of building strings from pieces (primarily due to its innovative concatenation operators). Do you have any ideas for improving invocation of Java methods in the same vein? I also agree that NetRexx has a beautiful syntax. However, it's not its aesthetic qualities that excite me but its ability to reduce the cognitive load on the programmer. Is this not the same thing? By beautiful, I mean that the program is easily comprehensible by humans. This is an area of special interest to me: discovering means of reducing the time it takes to comprehend an unfamiliar program. This should be of special interest to all programmers. Languages that force the mind to function as a parser of complex constructs, an appalling example being C's type expression syntax, are inimical to this cause. I have never understood why most programming languages and environments are still so poor. I had to do things other than Tabetha to earn my living. I always assumed that others would come along and implement the ideas (or very similar ones) in new programming languages, and Tabetha would become unnecessary. But somehow, despite the advances in hardware, programming languages seem stuck in the past. Most people don't seem to question the idea that programmers have to work with arcane syntax and systems. NetRexx is well above other languages I know of in comprehensibility Yes, that's why we are here. and I support any measures that will make it more so. Looking forward to further proposals from you. Tabetha is ideologically similar to Rexx, but takes a few things a step further. However, the most important difference between Rexx and Tabetha is that Rexx made it into the light of day; no mean feat. Given that NetRexx is perhaps hanging on by the skin of its teeth, and if we don't get our act together, could die, there seems little point in championing Tabetha since Tabetha has zero user base. Connor. George _______________________________________________ Ibm-netrexx mailing list [hidden email] |
Free forum by Nabble | Edit this page |