Sprachenkompendium: Vala, Go und Rust
Von Tam Hanna
()
Über dieses E-Book
Mehr von Tam Hanna lesen
shortcuts Microsoft KINECT: Programmierung des Sensorsystems Bewertung: 0 von 5 Sternen0 BewertungenPhoneGap 3: Apps für iOS, Android und Windows Phone & Co. entwickeln Bewertung: 0 von 5 Sternen0 Bewertungen
Ähnlich wie Sprachenkompendium
Titel in dieser Serie (100)
Java 7: Fork-Join-Framework und Phaser Bewertung: 0 von 5 Sternen0 BewertungenZend Framework 2: Für Einsteiger und Umsteiger Bewertung: 0 von 5 Sternen0 BewertungenJavaScript auf dem Server Bewertung: 0 von 5 Sternen0 BewertungenEinstieg in Google Go Bewertung: 0 von 5 Sternen0 BewertungenTFS 2012 Anforderungsmanagement: Work Items und Prozessvorlagen Bewertung: 0 von 5 Sternen0 BewertungenTesting mit Visual Studio 2012: Testing mit Visual Studio 2012 Bewertung: 0 von 5 Sternen0 BewertungenHTML5 Security Bewertung: 0 von 5 Sternen0 BewertungenQualität in IT-Architekturen: Management Bewertung: 0 von 5 Sternen0 BewertungenF#: Ein praktischer Einstieg Bewertung: 0 von 5 Sternen0 BewertungenGeolocation mit PHP: Foursquare-API, Google Places & Qype Bewertung: 0 von 5 Sternen0 BewertungenIT Wissensmanagement: Theorie und Praxis Bewertung: 0 von 5 Sternen0 BewertungenHTML5 für Mobile Web Bewertung: 0 von 5 Sternen0 BewertungenNFC: Near Field Communication für Android-Entwickler Bewertung: 5 von 5 Sternen5/5Qualitätssicherung mit JavaScript und PHP Bewertung: 0 von 5 Sternen0 BewertungenErfolgreiche Spieleentwicklung: OpenGL, OpenAL und KI Bewertung: 0 von 5 Sternen0 BewertungenAlgorithmen: Grundlagen und Implementierung Bewertung: 0 von 5 Sternen0 BewertungenBig Data: Executive Briefing Bewertung: 0 von 5 Sternen0 BewertungenÜberzeugende Präsentationen: Konzeption, Technik und Design Bewertung: 0 von 5 Sternen0 BewertungenJava EE Security Bewertung: 0 von 5 Sternen0 BewertungenSkalierbare Softwaresysteme: Design, Betrieb und Optimierungspotenziale Bewertung: 0 von 5 Sternen0 BewertungenOAuth 2.0: Client & Server Bewertung: 0 von 5 Sternen0 BewertungenUX Design für Tablet-Websites: Ein Überblick Bewertung: 0 von 5 Sternen0 BewertungenApache Tapestry: Einstieg in die komponentenorientierte Webentwicklung Bewertung: 0 von 5 Sternen0 BewertungenServiceorientierte Architektur: Anforderungen, Konzeption und Praxiserfahrungen Bewertung: 0 von 5 Sternen0 BewertungenMobile Business: Was Entscheider morgen wissen müssen Bewertung: 0 von 5 Sternen0 BewertungenAndroid-Entwicklung für Einsteiger - 20.000 Zeilen unter dem Meer: 2. erweiterte Auflage Bewertung: 0 von 5 Sternen0 BewertungenErfolgreiche Spieleentwicklung: OpenCL Bewertung: 0 von 5 Sternen0 BewertungenSoftwareentwicklungsprozess: Von der ersten Idee bis zur Installation Bewertung: 0 von 5 Sternen0 BewertungenJavaScript für Eclipse-Entwickler: Orion, RAP und GWT Bewertung: 0 von 5 Sternen0 BewertungenVaadin Schnelleinstieg Bewertung: 0 von 5 Sternen0 Bewertungen
Ähnliche E-Books
JavaScript auf dem Server Bewertung: 0 von 5 Sternen0 BewertungenJavaScript für Java-Entwickler Bewertung: 0 von 5 Sternen0 BewertungenDas Vulkan-API: Teil 2: Wie man ein Framework erstellt und Shader programmiert Bewertung: 0 von 5 Sternen0 BewertungenJava FX - Status Quo: Status Quo Bewertung: 0 von 5 Sternen0 BewertungenWebentwicklung mit dem Play Framework Bewertung: 0 von 5 Sternen0 BewertungenDSL mit Xtext/Xtend. Luecken(x)text Bewertung: 0 von 5 Sternen0 BewertungenDynamic Proxies: Effizient programmieren Bewertung: 0 von 5 Sternen0 BewertungenJavaScript und TypeScript für C#-Entwickler Bewertung: 0 von 5 Sternen0 BewertungenPowerShell: Grundlagen für .NET-Entwickler Bewertung: 0 von 5 Sternen0 BewertungenC# 10 – kurz & gut Bewertung: 0 von 5 Sternen0 BewertungenEinblicke in C# 6.0 Bewertung: 0 von 5 Sternen0 Bewertungen.NET Core 1.0 und 1.1: Entwicklung mit den Core-Produkten Bewertung: 0 von 5 Sternen0 BewertungenEclipse meets Java FX Bewertung: 0 von 5 Sternen0 BewertungenDSL mit Xtext/Xtend. 4GL mit externem Quellcode Bewertung: 0 von 5 Sternen0 BewertungenC# 8.0 – kurz & gut Bewertung: 0 von 5 Sternen0 BewertungenDas Vulkan-API: Teil 1: Grundlagen und erste Schritte Bewertung: 0 von 5 Sternen0 BewertungenPowerShell: Anwendung und effektive Nutzung Bewertung: 5 von 5 Sternen5/5Linux Befehlsreferenz: Schnelleinstieg in die Arbeit mit der Konsole, regulären Ausdrücken und Shellscripting Bewertung: 0 von 5 Sternen0 BewertungenDie Serverwelt von Node.js Bewertung: 0 von 5 Sternen0 BewertungenVaadin mit Eclipse, Clojure und OSGi Bewertung: 0 von 5 Sternen0 BewertungenJava 7: Project Coin, Generics und NIO2 Bewertung: 0 von 5 Sternen0 BewertungenNebenläufigkeit in Java und C++ Bewertung: 0 von 5 Sternen0 BewertungenASP.NET Core: Eine Einführung Bewertung: 0 von 5 Sternen0 BewertungenAufsetzen, Testen und Betrieb einer Android-App Bewertung: 0 von 5 Sternen0 BewertungenEffektiv Objective-C 2.0 programmieren: 52 Profi-Lösungen für bessere iOS- und OS-X-Programmierung Bewertung: 0 von 5 Sternen0 BewertungenAngular 2: Moderne Frontends für alle Plattformen entwickeln Bewertung: 0 von 5 Sternen0 BewertungenDocker und die Containerwelt: Einstieg und Expertentipps rund um Docker-Container Bewertung: 1 von 5 Sternen1/5.NET-Praxis: Tipps und Tricks zu .NET und Visual Studio Bewertung: 0 von 5 Sternen0 BewertungenLogging: Applikationsbeispiele Bewertung: 0 von 5 Sternen0 BewertungenSpock, Geb und Selenium: Testframeworks unter die Lupe genommen Bewertung: 0 von 5 Sternen0 Bewertungen
Programmieren für Sie
PowerShell: Anwendung und effektive Nutzung Bewertung: 5 von 5 Sternen5/5Hacken mit Python und Kali-Linux: Entwicklung eigener Hackingtools mit Python unter Kali-Linux Bewertung: 0 von 5 Sternen0 BewertungenGit kurz & gut Bewertung: 0 von 5 Sternen0 BewertungenJavaScript kurz & gut Bewertung: 3 von 5 Sternen3/5Eigene Spiele programmieren – Python lernen: Der spielerische Weg zur Programmiersprache Bewertung: 0 von 5 Sternen0 BewertungenHTML5-Programmierung von Kopf bis Fuß: Webanwendungen mit HTML5 und JavaScript Bewertung: 0 von 5 Sternen0 BewertungenPython kurz & gut: Für Python 3.x und 2.7 Bewertung: 3 von 5 Sternen3/5Programmieren für Einsteiger: Teil 1 Bewertung: 0 von 5 Sternen0 BewertungenLinux Grundlagen - Ein Einstieg in das Linux-Betriebssystem Bewertung: 0 von 5 Sternen0 BewertungenProgrammieren von Kopf bis Fuß Bewertung: 4 von 5 Sternen4/5Algorithmen: Grundlagen und Implementierung Bewertung: 0 von 5 Sternen0 BewertungenProgrammieren lernen mit Python 3: Schnelleinstieg für Beginner Bewertung: 0 von 5 Sternen0 BewertungenC++: Eine kompakte Einführung Bewertung: 0 von 5 Sternen0 Bewertungen.NET-Praxis: Tipps und Tricks zu .NET und Visual Studio Bewertung: 0 von 5 Sternen0 BewertungenWeniger schlecht programmieren Bewertung: 4 von 5 Sternen4/5SQL – kurz & gut Bewertung: 0 von 5 Sternen0 BewertungenDas große Python3 Workbook: Mit vielen Beispielen und Übungen - Programmieren leicht gemacht! Bewertung: 4 von 5 Sternen4/5Python-Grundlagen Bewertung: 0 von 5 Sternen0 BewertungenSQL von Kopf bis Fuß Bewertung: 4 von 5 Sternen4/5Raspberry Pi: Mach's einfach: Die kompakteste Gebrauchsanweisung mit 222 Anleitungen. Geeignet für Raspberry Pi 3 Modell B / B+ Bewertung: 0 von 5 Sternen0 BewertungenPython | Schritt für Schritt Programmieren lernen: Der ultimative Anfänger Guide für einen einfachen & schnellen Einstieg Bewertung: 0 von 5 Sternen0 BewertungenC++: Kurzportträt einer zeitlosen Sprache Bewertung: 0 von 5 Sternen0 BewertungenDas Excel SOS-Handbuch: Wie sie Excel (2010-2019 & 365) schnell & einfach meistern. Die All-in-One Anleitung für ihren privaten & beruflichen Excel-Erfolg! Bewertung: 0 von 5 Sternen0 BewertungenMikrocontroller in der Elektronik: Mikrocontroller programmieren und in der Praxis einsetzen Bewertung: 0 von 5 Sternen0 BewertungenAndroid-Entwicklung für Einsteiger - 20.000 Zeilen unter dem Meer: 2. erweiterte Auflage Bewertung: 0 von 5 Sternen0 BewertungenDie ultimative FRITZ!Box Bibel - Das Praxisbuch 2. aktualisierte Auflage - mit vielen Insider Tipps und Tricks - komplett in Farbe Bewertung: 0 von 5 Sternen0 BewertungenEinstieg in TypeScript: Grundlagen für Entwickler Bewertung: 0 von 5 Sternen0 BewertungenSoftwareentwicklungsprozess: Von der ersten Idee bis zur Installation Bewertung: 0 von 5 Sternen0 BewertungenArduino: Ein schneller Einstieg in die Microcontroller-Entwicklung Bewertung: 5 von 5 Sternen5/5Docker: Webseiten mittels Containerarchitektur erstellen Bewertung: 3 von 5 Sternen3/5
Rezensionen für Sprachenkompendium
0 Bewertungen0 Rezensionen
Buchvorschau
Sprachenkompendium - Tam Hanna
GmbH
1 Mit C objektorientiert programmieren? Vala macht’s möglich!
Bjarne Stroustrups C++ gilt heute als Goldstandard in Sachen OOP: Die Spracherweiterungen für C fanden ob ihrer hervorragenden Abwärtskompatibilität bald jede Menge Anhänger. Dank Apples tatkräftiger Unterstützung lebt sein Vorgänger Objective-C ebenfalls munter weiter – unter anderem in der seit 2006 entwickelten Sprache Vala.
Vergleichsweise wenige Entwickler wissen, dass man auch mit C objektorientiert programmieren kann. Die dazu notwendige Trickserei mit Structs und Funktions-Pointern ist das täglich Brot all jener Entwickler, die Applikationen auf Basis von GObject entwickeln. GObject ist eine Bibliothek, die anfangs Teil des in C gehaltenen GTK-Frameworks war. Nach dem Erscheinen der zweiten Version beschlossen die Entwickler, dass ihr Typ- und Klassensystem auch ohne die diversen UI-Widgets lebensfähig ist: Die Standalone-Version von GObject war geboren.
Unaufmerksame Beobachter neigen dazu, die Bibliothek als Spielerei für eine Randgruppe von konservativ-reaktionären Freaks abzutun. Das ist grundfalsch: Im Laufe der Jahre entstanden einige beeindruckende Programme. Neben dem auch in Ubuntu verwendeten Gnome-Desktop sei an dieser Stelle auch die Bildbearbeitung GIMP erwähnt.
Aufgrund der für Quereinsteiger verwirrenden Bedienung entschieden sich Jürg Billeter und Raffaele Sandrini im Jahr 2006 dazu, mit einer neuen Sprache Abhilfe zu schaffen. Die nach einer skandinavischen Prophetin Völva benannte Programmiersprache Vala sollte die Nutzung der GObject-Bibliothek ermöglichen und eine an C# angelehnte Syntax aufweisen.
Wer mit Qt gearbeitet hat, kennt das in Abbildung 1.1 gezeigte Diagramm mit Sicherheit. Ein als moc bezeichnetes Werkzeug wandelt den Qt-Code vor der eigentlichen Kompilation in normales C++ um, das daraufhin zum nativen Compiler der Plattform wandert. Das Resultat ist eine Anwendung, die – von außen betrachtet – nicht von einem normalen C++-Programm zu unterscheiden ist.
Vala nutzt einen ähnlichen Ansatz. Der als valac bezeichnete Compiler nimmt .vala-Dateien entgegen, die daraufhin in normale .c-Dateien umgewandelt werden. Daraus folgt, dass die Performance von in Vala gehaltenem Code mit dem einer nativen C-Applikation vergleichbar ausfällt.
Abbildung 1.1: Schematische Darstellung der Umwandlung von Qt-Code in normales C++ vor der eigentlichen Kompilation
Vala herbei
Aufgrund der vergleichsweise geringen Verbreitung der Programmiersprache lässt sich das ohnehin nicht für schnelle Updates bekannte Ubuntu-Team beim Aktualisieren des per apt-get erhältlichen Vala-Compilers besonders viel Zeit.
Zum Zeitpunkt der Drucklegung ist v0.26 aktuell – im Repository wartet die veraltete v0.22. Die in den folgenden Schritten beschriebene Kompilationsmethode führt unter einer 64-Bit-Version von Ubuntu 14.04 zu einer lauffähigen Version des valac-Tools. Die unter anderen Distributionen notwendige Vorgehensweise unterscheidet sich mitunter minimal.
Extrahieren Sie den unter https://wiki.gnome.org/Projects/Vala/Release zum Download bereitstehenden Quellcode-Tarball an eine bequem zugängliche Stelle. Führen Sie danach das configure-Programm in einer Kommandozeile aus – es wird Fehlermeldungen nach dem folgenden Schema emittieren:
tamhan@TAMHAN14:~/vala-0.26.0$ ./configure
checking for bison... no
configure: error: bison not found but required
Diese lassen sich – normalerweise – durch Nachinstallieren der passenden Bibliothek beheben:
sudo apt-get install bison
Im nächsten Schritt folgen die von der Kompilation klassischer Unix-Pakete bekannten Befehle make und make install. Besitzer von stark parallelisierenden Computern sollten make durch den -jX-Kommandozeilenschalter zur Nutzung mehrerer Rechenkerne animieren. Auf einer achtkernigen Maschine mit einem AMD FX 8320 ist die Kompilation binnen rund 40 Sekunden abgeschlossen.
Falls der valac-Compiler auf Aufrufe mit dem in Listing 1.1 gezeigten Fehler reagiert, müssen Sie das Betriebssystem durch Aufruf von ldconfig über die neuen Bibliotheken informieren. Nach dem Abarbeiten des am Ende im Folgenden gezeigten Befehls sollte das Werkzeug