Programmierwettbewerb
In einem Programmierwettbewerb wird eine Aufgabe gestellt, die durch Erstellung eines Computerprogrammes zu lösen ist. Die eingereichten Programme (die Wettbewerbsbeiträge) werden von den teilnehmenden Programmierern i. d. R. speziell für den jeweiligen Wettbewerb entwickelt. Die zu lösende Aufgabe ist oft von geringem öffentlichen Interesse, ihre Lösung selten von allgemeinem Nutzen. Bewertungskriterien für die Beiträge können sein: die für die Erstellung benötigte Zeit, eine besonders kurze Laufzeit oder ein möglichst kurzer Quelltext. Programmierwettbewerbe dienen daher vorrangig der Unterhaltung und der Weiterbildung der beteiligten Programmierer. Neben öffentlich ausgeschriebenen Wettbewerben (siehe Beispiele unten) veranstalten auch zahlreiche Informatik-Fachbereiche an Hochschulen Programmierwettbewerbe unter ihren Studierenden.
Ziele
Programmierwettbewerbe haben oft zum Ziel, die Leistungsfähigkeit der verwendeten Programmiersprache sowie das Können des Programmierers zu demonstrieren. Dies ist insbesondere die Motivation bei den Wettbewerben des Typs „Obfuscated Contest“ (siehe Beispiele unten), bei denen besonders kryptisch formulierter oder kreativ gestalteter Quelltext honoriert wird, was naturgemäß zu Lasten seiner Lesbarkeit geht.
In vielen Programmierwettbewerben werden Beiträge in einer bestimmten Programmiersprache erwartet. Bei anderen ist der Rahmen des Wettbewerbes ein bestimmtes Programmierparadigma, wie die „funktionale Programmierung“ beim ICFP Programming Contest oder die Agentenorientierte Programmierung beim Multi-Agent Programming Contest, unabhängig von der für die Lösung gewählten konkreten Programmiersprache. Wieder andere Wettbewerbe haben bestimmte Disziplinen der Informatik oder der Teilgebiete der Softwaretechnik zum Inhalt, wie z. B. der Semantic Web Service Challenge oder der S3 Contest das Semantische Web.
Beispiele
Siehe auch
Weblinks
- Linkkatalog zum Thema Programmierwettbewerb bei curlie.org (ehemals DMOZ)