# Language Bindings

Although the GNOME platform is written primarily in C, it is written intentionally to make it easy to bind to other programming languages. Using language bindings, you can develop with the GNOME platform natively in your programming language of choice.

Language bindings exist for many programming languages, and the GNOME platform officially supports bindings for C++, Java, Perl, and Python.

## C++

The C++ bindings provide complete coverage of the GNOME platform, including GTK+, Libglade, and GConf. The C++ bindings wrap all objects with native C++ objects and allow programmers to provide custom widgets with normal C++ inheritence. They provide a fully native API, with type-safe signal handlers, full use of the standard C++ library, and complete C++ memory management.

Více informací o vazbách GNOME na jazyk C++ popisuje WWW stránka gtkmm.

## Java

The Java bindings provide complete coverage of the GNOME platform, including GTK+, Cairo, and GConf. The Java bindings wrap all objects with native Java objects and allow programmers to provide custom widgets with normal Java inheritence. They provide a fully native API, using Java's class libraries and interfaces wherever appropriate.

Více informací o vazbách GNOME na jazyk Java popisuje stránka Java-GNOME.

## Perl

The Perl bindings provide native Perl interfaces for the GNOME platform, including GTK+, GnomeVFS, and GConf. The Perl bindings wrap all objects with Perl objects and allow programmers to use standard Perl practices to manipulate them. They provide a fully native API, using Perl's native data types wherever appropriate.

Více informací o vazbách GNOME na jazyk Perl popisuje WWW stránka gtk2-perl.

## Python

The Python bindings provide native Python interfaces for the GNOME platform, including GTK+, GnomeVFS, and GConf. The Python bindings wrap all objects with native Python objects and allow programmers to provide custom widgets with normal Python inheritence. They provide a fully native Python API which automatically handles details like type casting and memory management.

Více informací o vazbách GNOME na jazyk Python popisuje WWW stránka PyGTK.

## Other Languages

Full or partial bindings exist for many other programming languages, such as C#, Eiffel, JavaScript, Ruby, and Scheme. Even though they may not currently be officially supported by GNOME, many of these bindings are of the same high quality as the official GNOME bindings, and some of them may be included as official GNOME bindings in future releases.

For a list of language bindings, visit the GTK+ bindings page.