====== Eiffel ====== * **[[http://www.eiffel.com/|Eiffel - HomePage]]** * [[http://docs.eiffel.com/book/why-eiffel/why-eiffel|Warum Eiffel?]] * [[http://docs.eiffel.com/book/|Online-Bücher]] * [[http://docs.eiffel.com/book/examples|Beispiele]] * [[http://docs.eiffel.com/book/examples/example-file-io]] //---siehe---->// [[http://rosettacode.org/wiki/File_IO|File IO Rosetta Code]] * [[https://www2.eiffel.com/download/|Download]] * **[[http://de.wikipedia.org/wiki/Eiffel_%28Programmiersprache%29|Eiffel]]** * einige Eigenschaften von Eiffel: * statische Typprüfung * automatische Speicherbereinigung ("garbage collection") * Mehrfachvererbung; entstehende Namenskonflikte können durch Umbenennung ("Renaming") aufgelöst werden * Abstrakte Klassen ("deferred classes") * Generische Klassen (Templates in C++) * Polymorphie * standardmäßig dynamische Bindung; wo möglich, soll der Compiler in effizientere statische Bindung optimieren * Elemente der funktionalen Programmierung ("Tuples" und "Agents") * (Präfix- und Infix-) Operatoren können wie Funktionen vereinbart werden * Ausnahmebehandlung * Schnittstelle zu anderen Programmiersprachen, insbesondere C und C++ * Standardbibliothek (im Umfang der von C++ vergleichbar)