Vala

Erstaunt stellte ich gestern fest das der neue Standardfotomanager unter Ubuntu (Shotwell) in Vala geschrieben ist. Bei Vala handelt es sich um eine Programmiersprache welche stark an C# und Java angelehnt ist. Dabei benötigt sie aber keine Laufzeitumgebung. Man hat dann also eine Sprache welche eine moderne Syntax bietet und keine Laufzeitumgebung benötigt sondern nativ auf dem System läuft. Im Gegensatz zu .NET/Mono hat die Sprache keinen Garbage Collector sondern implementiert automatische Referenzzählung zur Speicherverwaltung.

Beim durchschauen der Syntax (verglichen mit C#) sind mir einige Unschönheiten aufgefallen welche einige Konstrukte nicht sehr elegant aussehen lassen, aber das muss man sich wahrscheinlich mal in einem kleinen Projekt anschauen. Es ist möglich mit Vala plattformunabhängige Anwendungen zu schreiben. Als Standardbibliothek steht einem die glibc sowie die Geelib zur Verfügung. Der Vala Compiler wandelt den Quellcode in C Code um und kompiliert diesen dann anschließend. Definitiv eine Sprache die man sich mal anschauen sollte :) Die offizielle Seite von Vala ist unter http://live.gnome.org/Vala zu finden.

Weitere Informationen gibt es unter:
http://de.wikipedia.org/wiki/Vala_%28Programmiersprache%29

Garbage Collector für C/C++

In C bzw. C++ muss man den Speicher welchen man alloziert auch irgendwann wieder freigeben. Macht man dies nicht entstehen sogenannte Memory Leaks, der Speicher füllt sich so immer weiter. Es wäre doch schön wenn es auch unter C/C++ einen Garbage Collector gäbe welcher am Ende (und zwischendurch) einfach den Speicher von Objekten bereinigt welche nicht mehr benötigt werden. C wäre nicht C wenn nicht schon irgendjemand so etwas implementiert hat. Und so findet man unter http://www.hpl.hp.com/personal/Hans_Boehm/gc/ eine Implementation desselben. Ausprobieren lohnt sich, denn es schont die Nerven ;)

Weitere Informationen gibt es unter:
http://de.wikipedia.org/wiki/Memory_leak
http://de.wikipedia.org/wiki/Garbage_Collection