Open Source im professionellen Einsatz
Newsletter abonnieren
HEFTARCHIV | NEWS | VIDEO | BLOGS | WHITEPAPER | EVENTS | ACADEMY | ABO

Partner-Links:
Shopping
Yatego Deutschlands größte Shoppingmall. 7000 Shops,
2.5 Mio Artikel. Alle Bestseller, Gutscheine und Liveshopping.

Firewall bei Mercateo kaufen.

Ein Preisvergleich bei Hardware lohnt sich.

Bei inkpool.de Laserdrucker und mehr bestellen.

Sie suchen günstige Laptops? Schauen Sie doch mal bei Preisvergleich.org, Preisvergleich.eu, Preisvergleich.ch und Preisvergleich.at vorbei.

Linux Jobs


user friendly

  Home  »  Online Artikel  »  GObject ohne Kopfschmerzen  

RSS-Feed der aktuellen News von Linux-Magazin Online

Diesen Artikel drucken Diesen Artikel weiterempfehlen Diesen Artikel kommentieren Newsletter abonnieren

Vala - Sprache und Compiler für das GObject-Typensystem

GObject ohne Kopfschmerzen

von Christian Meyer
 

Abschied von C: Vala ist eine neue Programmiersprache samt Compiler, die Gnome-Entwicklern die Vorteile moderner Sprachen wie C# oder Java an die Hand gibt.

Wer Programme in C schreiben möchte und dennoch etwas Komfort erwartet, kommt nicht um eine vernünftige C-Bibliothek herum. GObject, das in der GLib enthalten ist, zeichnet sich seit Jahren als der Standard in diesem Bereich aus. GObject bietet moderne objektorientierte Konzepte wie Klassen, Interfaces, virtuelle Methoden, Unterstützung für Callback-Funktionen und vieles mehr. Praktisch alle Gtk+-Programme, enthalten GObject-Code. Aufgrund seiner C-Natur muss der Programmierer jedoch unweigerlich mehr Code schreiben, als das beispielsweise in Java der Fall ist. Der so genannte Boilerplate-Code ist für manch einen Entwickler zu komplex und schwer zu verstehen, besonders wenn er die Grundlagen zu GObject nicht kennt. Der Schritt in die Richtung, auf C++, C# oder Java zu setzen, scheint auch nicht immer eine geeignete Lösung zu sein. Also am besten eine neue Sprache erfinden?

Eine neue Sprache

Es ist keine triviale Aufgabe, eine neue Programmiersprache zu erfinden, und die meisten Entwickler schrecken zu Recht davor zurück. Schon einfache Sprachen, wie zum Beispiel C, sind in der Umsetzung äußerst komplex. Jürg Billeter, ein Informatik-Student der ETH-Zürich, schuf Mitte Juli 2006 Vala. Dabei kam etwas heraus, das in Features und Syntax an eine Mischung aus C++, C# und Java erinnert. Ziel war es jedoch nicht, einen neuen Konkurrenten für die bereits etablierten Sprachen zu erschaffen, sondern Entwicklern eine Möglichkeit zu geben, GObject-basierende Anwendungen ohne Kopfschmerzen umzusetzen. Dies ist mitunter einer der Gründe, weshalb Vala viele Eigenschaften enthält, die üblicherweise nur in GObject zu finden sind. Anders als gängige Compiler übersetzt Vala den Quelltext des Programmierers nicht direkt in maschinenlesbaren Binärcode, sondern in ANSI-C. Mit der Ausgabeoption "valac -o test test.vala" besteht allerdings die Möglichkeit, den resultierenden "Zwischencode" direkt an den C-Compiler zu übergeben.


			Dieses Stückchen Vala-Code bildet das Grundgerüst für ein Plugin für den Mediaplayer Rhythmbox.

Dieses Stückchen Vala-Code bildet das Grundgerüst für ein Plugin für den Mediaplayer Rhythmbox.

Vala-Features

Vala unterstützt sämtliche moderne Features aus der Welt der Objektorientierung, die heutige Programmiersprachen beherrschen. Dazu zählen, um nur einige zu nennen:

  • Interfaces (Java und C#)
  • abstrakte Klassen (Java, C++, C#)
  • virtuelle Methoden (Java, C++, C#)
  • Properties (C#),
  • Generics/Templates (Java, C++, C#)
  • Non-null-Typen
  • Polymorphismus (Java, C++, C#)
  • Ausnahmebehandlung (Java, C++, C#)

Zusätzlich, und hier zeigt sich die Verbindung zu GObject, existiert das Schlüsselwort "signal". Methoden die Sie damit einleiten, verbinden Sie im weiteren Programmablauf mit einem Slot. Mit den von C# her bekannten "delegate"-Methoden kann Vala ebenfalls umgehen: Genauer gesagt handelt es sich hier im eigentlichen Sinne nur um die von C bekannten Funktionszeiger, die Sie an Funktionen übergeben. Bisher unterstützt Vala nur statische Handler-Methoden, die einer bestimmten Klasse beziehungsweise eines Typs zugeordnet sind. Ein Nachteil, der dadurch entsteht ist, dass sich der Zugriff auf eine Instanz nicht realisieren lässt. In einer der nächsten Versionen weiß der Compiler aber auch mit Instanzmethoden, die Sie per Parameter übergeben, umzugehen. In C ist das durch die Übergabe eines Funktionszeigers samt Funktionsparameter bereits gängige Praxis und taucht auch in vielen Stellen der GLib auf: "g_hash_table_foreach (GHashTable *htable, GHFunc func, gpointer user_data)".

Diesen Artikel druckenDiesen Artikel weiterempfehlen Diesen Artikel kommentieren Newsletter abonnieren
Diese Seite zu Mister Wong hinzuf�gen Webnews yigg it! Slashdot it! Twittern!
Ähnliche Artikel
Vorteile kombinieren Interview mit dem Vala-Autor Jürg Billeter
Nicht nur fürs Auge OpenGL-beschleunigter Desktop mit XGL und Compiz
Freie Software für alle Fosdem 2003 in Brüssel
Hingucker für Spekulanten Perl-Applets erweitern plattformunabhängiges Desktop-Panel
Desktop-Recorder Bitparade: Screencast-Programme
Projekteküche Aktueller Überblick über freie Software und ihre Macher
Whitepaper
Open Source Datenintegration in der Praxis: Fallstudien und Anwendungsbeispiele

Über die letzten Jahre hinweg haben sich Open Source Lösungen als fester Bestandteil des gesamten Datenintegrationsmarktes etabliert. Viele Unternehmen haben bereits das Open Source Modell für Ihre Datenintegrationsprojekte aufgegriffen. Das vorliegende White Paper illustriert anhand ausgewählter Fallstudien und Anwendungsbeispiele die Implementierung von Open Source Datenintegration in der Praxis und benennt die daraus resultierenden Vorteile.

Download PDF (Registrierung erforderlich)
The Role of Open Source in Data Integration

Obwohl in den letzten Jahren viele technische Fortschritte erzielt werden konnten, verfügen die meisten Datenintegrationsprozesse nach wie vor nur über eine sehr begrenzte Automatisierung. Das vorliegende White Paper von dem Industry Analyst Mark Madson wird zunächst ein grundlegendes Verständnis von Daten Integration vermitteln, die Vorzüge von Open Source Lösungen für Daten Integration erläutern und Ihnen professionelle Empfehlungen geben, damit Sie Ihre Integrationsjobs noch einfacher und produktiver gestalten können.

Download PDF (Registrierung erforderlich)
Kommentare (0)
 

Impressum |Datenschutzerklärung | © 2010Linux New Media AG
Partner-Sites
Deutschland: [LinuxUser] [EasyLinux] [Linux-Community] [Linux Technical Review] [Ubuntu User]
Europa: [EasyLinux Polen] [Linux Magazine Polen] [Linux Magazine Spanien]
International: [Linux Magazine International] [Linux Pro Magazine] [Ubuntu User] [Linux Magazine Brasilien] [EasyLinux Brasilien]