assign by reference - a comment
David Vaughan
drvaughan55 at mac.com
Fri Mar 22 16:38:01 EST 2002
Hi all
I have watched this thread (now pretty much dead) very quietly but the
last few posts inspire me to make a general point captured well by Rob
in his ironic "...capability of writing self-modifying code. Think about
he potential of that feature."
That Rev offers you pass-by-reference is nifty, but a general capability
to substitute handles for contents for in-line coding is not really what
xTalk is about. I recall over twenty years ago rewriting much of a
microcomputer OS, (CP/M, BDOS and Morrow's Disk Jockey, for those with
beards long enough to have heard) for enormous gains in memory space (I
had 64KB in which to squeeze the OS and apps), speed and functionality.
Of course, I did this in part by writing "self-aware" and self-modifying
code. Later, I squeezed wonderful things out of Pascal on the same box
by intelligent resort to in-line assembler where I could manage pointers
directly, and then made HyperTalk fly by similar techniques in
CompileIt! even when the latter first came out and took 45 minutes to
compile one script.
This was fun. It was efficient to write and dare I say very elegant in
places. I understood what I was doing completely...at the time. But as
maintainable code it sucked, while to a reader other than myself it was
like something out of the trees. The problem is that you tend not to
appreciate the attention and skill you are applying at the time you
first write and debug it and even then the latter task rapidly becomes
all hell because you frankly have no real idea of to what a variable
refers if its contents can be a reference to any other variable.
Now, I know it is easy for you, your are expert and you can do it in
your sleep. So why aren't you writing C, which was first promoted to
micro users because it made these techniques easy to apply? Why is Java
popular in the enterprise if it can be summarised as C++ _without_
pointers?
xTalk and its MC/RR implementation is, as I continue to learn,
marvellously powerful. I too enjoy doing fancy tricks with references
and modifiers but a need to do that is exceptional, and should be left,
as I have previously supported, to a CompileIt!-like add-on, not stuck
in to the current language to confuse and damage the work of the mass of
RR users.
Wow! I think I had better go quiet again for a while. Please don't beat
me.
regards to all
David
On Saturday, March 23, 2002, at 05:23 , Rob Cozens wrote:
>
> Hi Tom,
>
> No, neither Transcript nor any other Xtalk dialect I'm aware of
> includes syntax for pointers or handles. Some of us would like to see
> it, at least so far as is necessary to support direct system calls from
> Transcript.
>
>
> As an aside, not only can you resolve objects & variables at runtime;
> you also have the capability of writing self-modifying code. Think
> about the potential of that feature.
>
> Yes, I see how using a pointer or handle reference "in line" would give
> you the best of both worlds, Ben. If you really want this kind of
> syntax, I suggest you bring it up on the Xtalk List.
More information about the use-livecode
mailing list