Mention Vala

svn path=/trunk/; revision=7165
This commit is contained in:
Matthias Clasen 2008-07-06 04:17:36 +00:00
parent 6b4da7c5e1
commit 491be3601d
2 changed files with 46 additions and 14 deletions

View File

@ -1,3 +1,10 @@
2008-07-05 Matthias Clasen <mclasen@redhat.com>
Bug 521589 [RFC] gobject documentation should mention Vala
* gobject/tut_tools.xml: Add a reference to Vala.
Patch by Marc-Andre Lureau.
2008-07-05 Matthias Clasen <mclasen@redhat.com> 2008-07-05 Matthias Clasen <mclasen@redhat.com>
* glib/glib-sections.txt: Move g_strcmp0 to a more appropriate * glib/glib-sections.txt: Move g_strcmp0 to a more appropriate

View File

@ -1,25 +1,51 @@
<?xml version='1.0' encoding="ISO-8859-1"?> <?xml version='1.0' encoding="ISO-8859-1"?>
<partintro> <partintro>
<para> <para>
Several useful developer tools have been build around GObject technology. Several useful developer tools have been build around GObject
The next sections briefly introduce them and link to the respective project pages. technology. The next sections briefly introduce them and link to
the respective project pages.
</para>
<para>
For example, writing GObjects is often seen as a tedious task. It
requires a lot of typing and just doing a copy/paste requires a
great deal of care. A lot of projects and scripts have been
written to generate GObject skeleton form boilerplate code, or
even translating higher-level language into plain C.
</para> </para>
</partintro> </partintro>
<chapter id="tools-vala">
<title>Vala</title>
<para>
From the <ulink url="http://live.gnome.org/Vala">Vala
homepage</ulink> itself: <quote>Vala is a new programming language
that aims to bring modern programming language features to GNOME
developers without imposing any additional runtime requirements
and without using a different ABI compared to applications and
libraries written in C.</quote>
</para>
<para>
The syntax of Vala is similar to C#. The available compiler
translates Vala into GObject C code. It can also compile
non-GObject C, using plain C API.
</para>
</chapter>
<chapter id="tools-gob"> <chapter id="tools-gob">
<title>GObject builder</title> <title>GObject builder</title>
<para> <para>
Writing GObjects can be a tedious task. It requires a lot of typing and just In order to help a GObject class developper, one obvious idea is
doing a copy/paste requires a great deal of care. to use some sort of templates for the skeletons. and then run
One obvious idea is to use some sort of templates for the class skeletons. them through a special tool to generate the real C files. <ulink
and then run them through a special tool to generate the real C files. url="http://www.5z.com/jirka/gob.html">GOB</ulink> (or GOB2) is
<ulink url="http://www.5z.com/jirka/gob.html">GOB/</ulink> (or GOB2) is such such a tool. It is a preprocessor which can be used to build
a tool. It is a preprocessor which can be used to build GObjects GObjects with inline C code so that there is no need to edit the
with inline C code so that there is no need to edit the generated C code. generated C code. The syntax is inspired by Java and Yacc or
The syntax is inspired by Java and Yacc or Lex. The implementation is Lex. The implementation is intentionally kept simple: the inline C
intentionally kept simple: the inline C code provided by the user code provided by the user is not parsed.
is not parsed.
</para> </para>
</chapter> </chapter>
@ -34,7 +60,6 @@
</para> </para>
</chapter> </chapter>
<chapter id="tools-refdb"> <chapter id="tools-refdb">
<title>Debugging reference count problems</title> <title>Debugging reference count problems</title>
@ -43,7 +68,7 @@
a few memory management problems but also introduces new sources of bugs. a few memory management problems but also introduces new sources of bugs.
In large applications, finding the exact spot where the reference count In large applications, finding the exact spot where the reference count
of an Object is not properly handled can be very difficult. Hopefully, of an Object is not properly handled can be very difficult. Hopefully,
there exist a tool named <ulink url="http://refdbg.sf.net/">refdbg/</ulink> there exist a tool named <ulink url="http://refdbg.sf.net/">refdbg</ulink>
which can be used to automate the task of tracking down the location which can be used to automate the task of tracking down the location
of invalid code with regard to reference counting. This application of invalid code with regard to reference counting. This application
intercepts the reference counting calls and tries to detect invalid behavior. intercepts the reference counting calls and tries to detect invalid behavior.