On Sat, May 19, 2012 at 10:00 AM, Anthony Scaife <[email protected]> wrote: > Gnome > Just what is it? Libraries for the desktop, rendering windows, buttons, > dialogs? > Is Gnome a current, and upcoming thing?
Gnome is nothing short of the best desktop environment around! > Development community > I don't really understand how Linux software gets developed within a > disparate community. Typically we use mailing lists to communicate our work with each other, and to discuss bugs and request features. > C++ > Is Gnome a library of compiled code (eg a file open dialog) that I can > 'hook' into using C++. > Is C++ a preferred language? I might look into Python too. I'm not sure if anybody can claim that one language is 'preferred' over another, however I personally prefer Python quite a bit. It's a very simple language that lets you get work done quickly with a minimum of fuss. Gnome is natively written in C, so if you want to hack on Gnome without using any language bindings, then C could be called the 'preferred' language. However the new gobject-introspection technology really levels the playing field with respect to the quality of the language bindings. It makes all languages "first class" and there's really vanishingly little you can't accomplish in any language for which introspection exists. I've also heard a lot of good things about Vala, which is supposed to be very C-like in it's syntax, but without all that messy, low level memory management stuff, so that could be a nice middle ground where you get to have nice high-level language features like Python, but not have to learn much new syntax from what you'd be used to with C++. Here is a list of programming languages that have gobject-introspection bindings, which theoretically means that any of them could be used to write excellent GNOME apps: https://live.gnome.org/GObjectIntrospection/Users > Where can I get started > Where can I see a 'Hello World' example, and the remaining docs. Well, the documentation is kind of weak right now, because the vast majority of it hasn't been updated to the new language bindings. You really have to be careful not to accidentally start copying examples from an outdated tutorial that is showing you the old way of doing things. If you're following a tutorial and it mentions 'pygtk', or you see the tutorial doing something like 'import gtk', just stop reading right there, it's only going to waste your time. If you choose to use Python, make sure all the documentation you read starts with 'from gi.repository import Gtk' and then refers to Gtk with a capital G, and that's how you'll know you're reading up-to-date information. I can't think of any simple tutorials off the top of my head, and a lot of the time I find myself referring to the C documentation and then just translating it into Python in my head. If you really want to dive into rapid application development though, you should research Glade. This is a tool that will allow you to graphically construct what your application looks like, and then once you've done that, it's quite straightforward to hook into it from your language of choice and bring it to life. I might modestly recommend you skim the source code of my own application, which is a smallish-to-medium sized desktop application for GNOME, written in Python, that tries really hard to use all the latest technologies and follow best practices: https://github.com/robru/gottengeography -- http://exolucere.ca _______________________________________________ gnome-love mailing list [email protected] http://mail.gnome.org/mailman/listinfo/gnome-love
