Strict Standards: Declaration of action_plugin_tag::register() should be compatible with DokuWiki_Action_Plugin::register($controller) in /home/n00bian/n00bism.net/dokuwiki/lib/plugins/tag/action.php on line 14

Deprecated: Assigning the return value of new by reference is deprecated in /home/n00bian/n00bism.net/dokuwiki/inc/parserutils.php on line 202

Deprecated: Assigning the return value of new by reference is deprecated in /home/n00bian/n00bism.net/dokuwiki/inc/parserutils.php on line 205

Deprecated: Assigning the return value of new by reference is deprecated in /home/n00bian/n00bism.net/dokuwiki/inc/parserutils.php on line 314

Deprecated: Assigning the return value of new by reference is deprecated in /home/n00bian/n00bism.net/dokuwiki/inc/parserutils.php on line 454

Strict Standards: Declaration of cache_instructions::retrieveCache() should be compatible with cache::retrieveCache($clean = true) in /home/n00bian/n00bism.net/dokuwiki/inc/cache.php on line 291

Deprecated: Function split() is deprecated in /home/n00bian/n00bism.net/dokuwiki/inc/auth.php on line 146

Warning: Cannot modify header information - headers already sent by (output started at /home/n00bian/n00bism.net/dokuwiki/lib/plugins/tag/action.php:14) in /home/n00bian/n00bism.net/dokuwiki/inc/auth.php on line 236

Strict Standards: Only variables should be passed by reference in /home/n00bian/n00bism.net/dokuwiki/doku.php on line 69

Warning: Cannot modify header information - headers already sent by (output started at /home/n00bian/n00bism.net/dokuwiki/lib/plugins/tag/action.php:14) in /home/n00bian/n00bism.net/dokuwiki/inc/actions.php on line 124
tuwien:oops [n00bism.net wiki]
 

Analyse objektorientierter Programmiersprachen: Paralleles und funktionales Programmieren in Java und OCaml

Autoren

Zusammenfassung

Ohne den Umstieg auf Systeme mit mehreren Prozessoren wird sich der in den letzten Jahren erzielte Zuwachs an Rechenleistung kaum in der Zukunft fortführen lassen. Multiprozessorsysteme gewinnen deshalb heutzutage, auch im Bereich der Personal Computer, schon zunehmend an Bedeutung. Mit der Erhöhung der Prozessorenanzahl steigert sich auch die Rechenleistung. Um aus Multiprozessorsystemen aber auch den gewünschten Geschwindigkeitszuwachs zu erzielen, benötigt man geeignete parallele Algorithmen. Eine sorgfältige Wahl der Programmiersprache bei der Implementierung dieser Algorithmen ist wichtig, weil die Unterstützung der Parallelität in verschiedenen Sprachen sehr unterschiedlich sein kann.

Objektorientiertes Programmieren verspricht gesteigerte Modularität gegenüber prozeduralen Sprachen und die Möglichkeit einzelne Komponenten einfach wieder zu verwenden. Genauso verspricht funktionales Programmieren die Modularität über die Möglichkeiten des objektorientierten Programmierens hinaus, vor allem für allgemeine Algorithmen, zu erhöhen. Zusätzlich helfen funktionale Konzepte die Ausdruckskraft des Codes und dessen Lesbarkeit zu steigern. Um den Ansprüchen heutiger Projekte gerecht zu werden entstehen immer häufiger Programmiersprachen die mehrere Konzepte vereinen und so abhängig von der Problemstellung passende Lösungsansätze ermöglichen. Jedoch ist der Umstieg auf eine andere Programmiersprache nicht immer möglich und so kann es eine gute Alternative sein fremde Konzepte in einer Programmiersprache nachzubauen.

Diese Arbeit gibt einen Überblick über die Grundlagen des parallelen und funktionalen Programmierens. Danach werden die Sprachen Java und OCaml bezüglich dieser Gesichtspunkte miteinander verglichen.

Bibliographie

[2001, inproceedings]
Schinz, M., & Odersky, M. (2001). Tail call elimination on the Java Virtual Machine. Paper presented at the Proc. ACM SIGPLAN BABEL'01 Workshop on Multi-Language Infrastructure and Interoperability.
[2001, inproceedings]
League, C., Trifonov, V., & Shao, Z. (2001). Functional {Java} Bytecode. Paper presented at the Proc. 5th World Conf. on Systemics, Cybernetics, and Informatics.
[1998, mastersthesis]
Vernet, A. ((1998). The Jaskell Project.). Unpublished Master's Dissertation.
[2003, article]
Naugler, D. R. (2003). Functional programming in Java. J. Comput. Small Coll., 18(6), 112-118.
[1989, article]
Hughes, J. (1989). Why Functional Programming Matters. The Computer Journal, 32(2), 98-107.
[2004, book]
Stallings, W. (2004). Operating Systems (5th Edition) Prentice-Hall, Inc.
[2003, book]
Tanenbaum, A. S., & van Steen, M. (2003). Distributed Systems -- Principles and Paradigms Prentice Hall.
[2005, book]
Gosling, J., Joy, B., Steele, G., & Bracha, G. (2005). The Java Language Specification Addison-Wesley Professional.
[2003, book]
Grama, A., Gupta, A., Karypis, G., & Kumar, V. (2003). Introduction to Parallel Computing (2nd Edition) Addison Wesley Professional.

Tags

 
tuwien/oops.txt · Zuletzt geändert: 2007/09/30 14:55 von n00bian
 
Recent changes RSS feed Creative Commons License Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki

Strict Standards: Only variables should be passed by reference in /home/n00bian/n00bism.net/dokuwiki/doku.php on line 77