Title: Evaluation of support for generic programming in C++ and Java
Language: English
Authors: Ehmann, Stefan 
Qualification level: Diploma
Keywords: Generische Programmierung; C++; C++0x; Java; Templates; Konzepte; Generics
generic programming; C++; C++0x; Java; templates; concepts; generics
Advisor: Puntigam, Franz
Issue Date: 2009
Number of Pages: 84
Qualification level: Diploma
Abstract: 
Generisches Programmieren hat sich zu einer wichtigen Programmiertechnik entwickelt, die von vielen Programmiersprachen direkt unterstützt wird. Während Java Generics vergleichsweise neu sind, ist die nächste C++ Version (die oft als C++0x bezeichnet wird) gerade in Arbeit. Diese versucht bekannte Probleme bezüglich Templates zu beheben.
Diese Diplomarbeit behandelt das Thema, wie gut generisches Programmieren von C++ und Java in der Praxis unterstützt wird. Ziel ist es, sowohl die positiven als auch negativen Eigenschaften von C++ und Java, die bei der Benutzung von generischem Programmieren auftreten, herauszuarbeiten. Das Hauptaugenmerk liegt dabei auf jenen Aspekten, die in echten Programmen auftreten, und nicht auf theoretischen Beispielen.
Um gute Unterstützung zu erreichen, sind verschiedene Aspekte wichtig, etwa knappe und präzise Syntax, verständliche Fehlermeldungen des Compilers und schnelle Ausführung.
Es wird gezeigt, welche Bereiche gut funktionieren und wo noch Verbesserungsbedarf besteht. Im Fall von Problemen werden deren Ursachen erforscht und gezeigt, wie man diese umgehen kann. Spracherweiterungen, die manche der gezeigten Probleme beheben, werden ebenfalls betrachtet.
Um die Unterstützung zu evaluieren, werden drei generische Bibliotheken implementiert. Dabei werden die aktuelle Version von Java und ein C++ Prototyp, der C++ Konzepte unterstützt, eingesetzt. Anhand von kleinen Codeausschnitten werden die Eigenschaften von C++ und Java erläutert.
Es wird veranschaulicht, dass beide Sprachen geeignet sind, um sie für generische Programmierung einzusetzen. Es existieren zwar einige Einschränkungen, diese können jedoch meist umgangen werden. Die besprochenen Spracherweiterungen zeigen jedoch, dass beide Sprachen noch verbessert werden können.

Generic programming has become an important programming technique that is directly supported by many programming languages.
While Java generics are comparatively new, the next version of C++ (commonly referred to as C++0x) is currently in development. C++0x aims to address known problems concerning templates.
This thesis deals with the subject how well generic programming is supported by C++0x and Java in practice. The goal is to find the characteristics - both positive and negative - of C++ and Java when using generic programming. The focus is on those aspects that occur in real programs rather than theoretical examples. To provide good support several aspects are important, for example, concise syntax, comprehensible compiler error messages, and fast execution.
We will demonstrate what is working well and where shortcomings can be found. In the case of problems, we will explore their reasons and show how we can work around them. We will also look at language enhancements that can solve some of these issues.
To evaluate the language support we implement three generic libraries in both languages. We apply the current version of Java and a prototype compiler supporting C++ concepts. Small excerpts from the code demonstrate the properties of C++ and Java.
We will show that both languages are suitable for generic programming.
While there are some limitations, most of them can be circumvented. But there is still room for improvement, as demonstrated by the proposed language extensions.
URI: https://resolver.obvsg.at/urn:nbn:at:at-ubtuw:1-33020
http://hdl.handle.net/20.500.12708/12546
Library ID: AC07805958
Organisation: E185 - Institut für Computersprachen 
Publication Type: Thesis
Hochschulschrift
Appears in Collections:Thesis

Files in this item:

File Description SizeFormat
Evaluation of support for generic programming in C and Java.pdf898.99 kBAdobe PDFThumbnail
 View/Open
Show full item record

Page view(s)

24
checked on Feb 20, 2021

Download(s)

64
checked on Feb 20, 2021

Google ScholarTM

Check


Items in reposiTUm are protected by copyright, with all rights reserved, unless otherwise indicated.