Re: [Vala] Vala bindings for epiphany?



2009/10/3 Magnus Therning <magnus therning org>:
> On Sat, Oct 03, 2009 at 01:50:02PM +0300, Xan Lopez wrote:
>> On Sat, Oct 3, 2009 at 1:30 PM, Magnus Therning <magnus therning org> wrote:
>> > On Fri, Oct 02, 2009 at 06:00:07PM +0200, Wouter Bolsterlee wrote:
>> >> Op vrijdag 25-09-2009 om 22:11 uur [tijdzone +0100], schreef Magnus
>> >> Therning:
>> >> > Does anyone out there have a .vapi for epiphany's extension API?
>> >> >
>> >> > I'm particularly interested in the bookmark manipulation API.
>> >>
>> >> Afaik the idea is to have at least Seed extensions for Epiphany. Python
>> >> support has been dropped, and it won't come back. I'm not sure about
>> >> Vala, even though there were plans for it:
>> >>
>> >>   http://uwstopia.nl/blog/2008/07/vala-bindings-for-epiphany-extensions
>> >>
>> >> But then, I think Seed extensions are designed fill exactly the same
>> >> gap, so I'm not sure what the added value of Vala extensions is.
>> >
>> > Epiphany has always supported  extensions written in C.  Basically Vala would
>> > offer a way of writing C extensions in a language that arguably is much nicer
>> > to work with :-)
>> >
>> > My experience with trying to translate a Python extension to Seed was that it
>> > wasn't ready for proper use yet:
>> >
>> >  - Javascript doesn't include many of the handy types that is in Python,
>> >   especially dictionaries (maps) and sets.  Vala has Gee.
>>
>> Objects in JavaScript are dictionaries (I mean, even the syntax is the
>> same...), and I'm sure there's plenty of implementations of data structures
>> like Python sets around.
>
> No, they are "dictionary-like", not proper dictionaries.  For instance keys
> can only be strings or numbers.
>
> I'm sure there are implementations of sets around for JavaScript.  But that's
> just the point, Seed *doesn't come with one*, instead I have to look around
> for an implementation to use.  Then I have to track any upstream changes.
> It's just not the kind of situation I expect from an extension language.  I'm
> sure this is going to change at some point, after all Seed is used in other
> parts in Gnome too.
>
>> >  - The GNOME libraries are largely written in C, and even though introspection
>> >   makes Seed bindings trivial the API's are distinctly non-object orientated.
>> >   Vala's .vapi files manage to offer a much improved API.
>>
>> How are Seed bindings not object orientated? Not to say that you can't
>> improve things by doing manual fixing of the automated bindings, as usual,
>> but I'm not sure what you mean here.
>
> Well, first of all, JavaScript's variant of object orientation has a
> distinctive functional feel to me, but beyond that you are right, my comment
> was overly harsh.  Seed bindings are as object-orientated as GTK+/GNOME is,
> which means it's somewhat limited by its C roots, but offers a good base to
> build more idiomatic bindings for different object systems.  I haven't found
> any idiomatic bindings for JavaScript/Seed yet though.

Sorry for being a pedant; but JavaScript is not some random "variant"
of object orientation. It is a prototype based language[1]. Try to
ignore that and you will run into problems when writing larger bodies
of code.

-- 
Cheers,
Mikkel

[1]: http://en.wikipedia.org/wiki/Prototype-based_programming


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]