Auf der Seite Rosetta Code werden zahlreiche Code-Beispiele zu verschiedenen Programmiersprachen angeboten. Dabei geht es um die Darstellung ein und derselben Aufgabe in möglichst vielen verschiedenen Programmiersprachen. Dies erlaubt einen direkten Vergleich der Codelänge und der Komplexität der verschiedenen Sprachen.
Derzeit werden fast 200 Sprachen unterstützt, von denen aber nicht alle immer als Beispiel zur Verfügung stehen, diese Sprachen sind in 374 Kategorien von Aufgaben und Problemen angeordnet. Für gängige Probleme gibt es in fast jeder Sprache eine passende Lösung. Vor allem die unterschiedliche Codelänge fällt dabei auf. So benötigt zum Beispiel das Huffman Coding (Kompression) in J lediglich 14 Zeilen, in C aber ganze 174 (inkl. hübscher Formatierung bei beiden Beispielen).
Auf der Webseite gibt es weitere nette Beispiele.
import java.text.MessageFormat; public class Beer{ static String bottles(int n){ return MessageFormat.format("{0,choice,0#No more bottles|1#One bottle|2#{0} bottles} of beer", n); } public static void main(String[] args){ String byob = bottles(99); for (int x = 99; x > 0;) { System.out.println(byob + " on the wall"); System.out.println(byob); System.out.println("Take one down, pass it around"); byob = bottles(--x); System.out.println(byob + " on the wall\n"); } } } |