[gnome-devel-docs/dx-hackfest] Add a page for Philosophy of the GNOME Platform



commit 22ef697c8396148e089284e15ea5f18b977819fb
Author: Federico Mena Quintero <federico gnome org>
Date:   Fri Mar 1 18:09:41 2013 -0600

    Add a page for Philosophy of the GNOME Platform
    
    Signed-off-by: Federico Mena Quintero <federico gnome org>

 platform-overview/C/index.page      |    2 +-
 platform-overview/C/philosophy.page |   39 +++++++++++++++++++++++++++++++++++
 2 files changed, 40 insertions(+), 1 deletions(-)
---
diff --git a/platform-overview/C/index.page b/platform-overview/C/index.page
index dd556d2..9a92252 100644
--- a/platform-overview/C/index.page
+++ b/platform-overview/C/index.page
@@ -41,7 +41,7 @@ software to meet and exceed your users' expectations.</p>
 along with links to reference documentation on each part of the
 platform.</p>
 
-<links type="topic" style="toronto" groups="foundations">
+<links type="topic" style="toronto" groups="foundations philosophy">
   <title>Foundations of Gnome</title>
 </links>       
 
diff --git a/platform-overview/C/philosophy.page b/platform-overview/C/philosophy.page
new file mode 100644
index 0000000..16865fb
--- /dev/null
+++ b/platform-overview/C/philosophy.page
@@ -0,0 +1,39 @@
+<page xmlns="http://projectmallard.org/1.0/";
+      type="topic"
+      id="philosophy">
+
+<info>
+  <link type="guide" xref="index" group="philosophy"/>
+  <desc>Philosophy of the GNOME platform</desc>
+</info>
+
+<title>Philosophy of the GNOME platform</title>
+
+<p>The first thing to mention is that the GNOME as a platform does not
+have a Grand Unified Vision, or a grand plan, or anything like
+that. GNOME has grown organically over time, in a more or less
+well-controlled way.</p>
+
+<p>The GNOME project started in August 1997 as a tiny collection of
+libraries in addition to the existing GTK+ widget toolkit.  Over time,
+GNOME adopted external libraries or created new ones to meet various
+needs.  In turn, libraries or parts of them have been deprecated and
+replaced as our ongoing gestalt of "best practices" has changed.  This
+does not mean that GNOME developers change their minds capriciously
+(most of the time, anyway!), but that as the whole platform evolves,
+different things may be seen to fit better with it.</p>
+
+<p>Experience has taught us some things that work well in the context
+of GNOME.  For example, libraries that are based on GLib's <link
+xref="gobject">GObject system</link> are easier to learn for GNOME
+programmers than custom object systems.  People can then assume
+certain conventions for memory management and certain patterns such as
+methods and signals.  Long-running operations that are made
+asynchronous, and that have an API that supports GLib's
+<code>GCancellable</code> objects for cancellation, are more
+convenient than libraries which force the programmer to create
+threads by hand.</p>
+
+<p>FIXME: Pattern of moving things to the right place in the stack.</p>
+
+</page>


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