Subject Re: [Firebird-Architect] Re: embedding Lua as procedural language
Author Jim Starkey
woodsmailbox wrote:
> --- In Firebird-Architect@yahoogroups.com, Jim Starkey <jstarkey@...>
> wrote:
>
>> woodsmailbox wrote:
>>
>>>> Can you give an example in a database context where Lua is more
>>>> expression than JavaScript?
>>>>
>>>>
>>> I'll try to make-up some real-life examples on a next post.
>>>
>>>
>>>
>> Uh, it's been a while. How are the real-life examples coming?
>>
>>
> Sorry, I shutdown that thread from my mind, it seemed to me you had
> strong opinions about this. And then there's this phrase of yours:
>
> "I care a great deal less about extensibility than I do about actual
> built-in features."
>
> that made me realize our frames of reference on how we evaluate
> languages are too different, so now I don't know what kind of example
> I could come up with that would be meaningful to you, since, like that
> exception thing, they are exploiting this same quality of
> extensibility. For instance, it won't be meaningful to show you how
> easily you can do any flavor of OOP in lua because it's not "built-
> in", so java would win for you anyhow.
>

I'm afraid my perspective on extensibility is colored by having spent a
dozen years coding in assembler (7040, 360, PDP-10, and PDP-11 plus a
tiny bit of VAX when it absolutely couldn't be avoided). The neat thing
about assembler, you see, is that you can do anything. The down side of
assembler is, of course, that you have to do everything.

So, yes, I have a strong preference for fully baked languages over half
baked languages. Now, this is not to say that Lua is a half baked
language -- just that it's designers didn't choose to include things
that I consider important.

Correct me if I'm wrong, but isn't the "object orientation" of Lua
nothing more than individual objects initializing "method" attributes in
a more or less consistent manner? C can do the same thing with function
pointers, but that doesn't make C object oriented. C++ doesn't really
do anything that C doesn't (except exception handling), but it does it
in a safe, convenient, clear, and efficient manner.



[Non-text portions of this message have been removed]