That was some damn fine writing, my friend.

There's too much code floating around for the delimiter behavior to change, but your most excellent post earned you a dinner next time you're in LA, or at RevLive in San Diego next year. It would be my pleasure.

Yep, xTalk is sometimes funky, like the rest of the imperfect world in which it was born.

But like any language, it's the community that makes a language great - and I'm glad you're in this one.

--
 Richard Gaskin
 Fourth World
 LiveCode training and consulting: http://www.fourthworld.com
 Webzine for LiveCode developers: http://www.LiveCodeJournal.com
 Follow me on Twitter:  http://twitter.com/FourthWorldSys


Mike Kerner wrote:

We also had this debate on several bug reports at quality.runrev.com, so
you will find much of this hashed out over there, over several bug
reports.  Excuse me while I wax extemporaneously for a moment.


My fellow LiveCoders, I implore you, to reach within your souls and ask
yourselves, are not all commas created equal?  Is a naked comma on front of
a list somehow more important than the lowly little one on the back?  Are
you so jaded by the unwashed masses of C# hackers trying to convince you
that if your language doesn't have a ++ operator it isn't worthy?  No!  It
is a sophisticated, verbose, beautiful and easy-to-read language that will
not allow such abominations as "this me" to exist without a fight.  It is a
language that has survived almost thirty years and has maintained that
pure, amazing quality that is lacking from almost every other language that
has evolved over that time - it is not a write-only language.  It wants to
be read.  it wants to be updated and modernized.  It doesn't require
anywhere near the number of comments or hacks or tweaks, because so much of
it is self-explanatory.

In light of that, I say to you that it is a language that should not count
an empty item on the front of a list while ignoring the one in the back.
We are not those people.  We are better than that.  We are not so steeped
in tradition and the foibles of those who came before us that we leave them
alone like they are sacred, because the code they wrote on their
black-and-white Mac Pluses, when HyperCard came on a stack of 3-1/2" disks,
is somehow more important than the code we write now.

If someone brand new comes to this list - someone who has never used
LiveCode, or Runtime Revolution, or SuperCard, or HyperCard or any of the
other children or grandchildren of Bill Adkinson - if someone brand new,
who does not value legacy over sanctimony comes to this list, and you
explain to them what a container is, what empty is, what an itemDelimiter
is, and how these tools laugh in the face of type declarations, and show
them ",a", and ask them "How many items does that string contain?", what
would they say?  If after they answer, and you show them "a," and ask them
the same question, what would they answer then?

Why is it that we treat the items in our lists like they are schleps in a
queue to throw down their hard-earned Benjamins for a Taylor Swift
concert?  Do we not believe in equality?  Do we really believe that "a,"
and ",a" are different?  No.  Today I say to you that every item was
created equal - even the last one.  Our past is imperfect, but our future
can be.  Why is it that an empty item anywhere in a list matters, unless it
is at the end?  It does matter.  It is significant.  It must be counted.

For my part, I frequently run into this issue when I am working with
databases and LiveCode.  "SELECT name, address1, address2" is one example
where the developer is begging for trouble, because the last item may very
well be empty, and therefore not worthy of counting.  Yet that is not
nearly as horrible as what would happen if I were to INSERT or UPDATE using
a list, either from a dataGrid or a container.  The errors returned are an
open sore that remind you that not all items are created equal.  Not all
items are significant.  Not all items deserved to be counted.

If we are to continue with this deep, age-old injustice, then I say to you
that the Scots must fix every other command that might somehow be affected
by a blank lasty, and ensure that we are not reminded that trailing blank
items even exist.  The database functions, when faced with "SELECT name,
address1, address2" should return an extra comma on the end of the results
when address2 is blank, because even though they do not want to face an
empty last item, I must be on the watch for them, lest the "INSERT" that
follows breaks my app and leaves me to gnash my teeth on the bitter taste
of being so close, and yet so far.


So, in closing, I simply ask you to say it with me now:

"Every comma is significant, even the last one."

--
On the first day, God created the heavens and the Earth
On the second day, God created the oceans.
On the third day, God put the animals on hold for a few hours,
   and did a little diving.
And God said, "This is good."


_______________________________________________
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode

Reply via email to