cpp2hskl - Volkards C++ Kurs nach Haskell übersetzen: Generelle Überlegungen


  • Mod

    Da im Moment nicht allzuviel passiert im Haskell Forum, dachte ich, eine kleine Belebung könnte nicht schaden.
    Grobe Idee ist: so ein mal im Monat, oder schneller, Lektionen im Vierertakt, (L 1-4), (L 4-8) usw., alle machen mit.
    Das ganze sollte auch kein Tutorial sein, sondern eher ein wenig Fun aber auch leicht praxisorientierter roter Faden, da die vielen Tutorial-Beispiele, die man im Netz findet, doch immer etwas sehr trocken rüberkommen. Außerdem macht es total viel Spaß, Codebeispiele gemeinsam ein wenig zu optimieren oder umgekehrt.
    Die Ergebnisse könnten recht "imperativ-Stylisch" werden, deswegen nicht unbedingt Einsteigertutorial-typisch.

    Man könnte das ganze noch mit C++ -> Java/Scala-Code ergänzen, hier auch wieder: ein wenig Lust und Laune, ein wenig Praxisbezug.
    -------------------------------------------------

    Linkadresse zu Volkards C++ Kurs (auf dieser Seite unter Tutorials und EBooks/deutsch): http://www.c-plusplus.net/cms/modules.php?op=modload&name=Downloads&file=index&req=getit&lid=15&nocache=1

    Generell wußte ich nicht genau, ob ich (für meinen Teil) oder für alle als Orientierung nur eher Compilercode oder nur Ghcibeispiele, oder nur lhc-Files (fänd ich gut) bzw. gemischt/egal/nach Laune rein schreibe.
    Z.B. ghci: für das erste Codebeispiel in Volkards C++ Kurs wäre dann einfach einmal Entertaste drücken eine gute Übersetzung? 😉

    Da bei den C++ Standardbeispielen immer auch eine Standard Bib-Datei angegeben wird, wäre die Frage bei Haskell: Wie das imitieren? Bzw. welche "Module" bieten sich an, wären witzig, oder passend? Man könnte praktisch orientiert bytestrings importieren, oder was anderes wie Data.Bits; Bits, z.B. um shiften zu können, oder "normale" XORs zu machen, Data.Ratio um angeberisch mit Bruchzahlen rumzumachen etc. - oder eben je nach C++ Beispielcode.

    Bei den C++ Codebeispielen in Volkards C++ Kurs dachte ich, man könnte die einzelnen Lektionen ein wenig ergänzen, Code aus anderen Büchern hernehmen - wobei hier: Kopierproblem? - oder eben anderen, z.B. eigenen Code als Orientierung nehmen, das bietet sich manchmal an, einfach, weil andere Codebeispiele z.T. etwas mehr in die Tiefe gehen, oder einfach aktueller sind. Ich finde es z.B. gerade bei Kalenderberechnungen ganz interessant, verschiedene Beispiele/Varianten zu vergleichen.

    Beim Haskell-Code bin ich mir nicht sicher, ob eher imperativstylische Übersetzung, oder doch eher ein typisch Anfängerfreundliches Gegenstück, bzw. eine grobe Umsetzung von C++ Tut zu Haskell-Tut.
    Bei Fibonaccis z.B. kann ich mich nicht beherrschen, da müssen performante Beispiele hin...
    (Ein Beispiel mit Acceleratortechnik wird supergut in den Text von Hermann Puhlmann (siehe Erste Hilfe zu Haskell) erklärt.)
    -------------------------------------------------------
    Taktung, Strukturierung, Threadsstarts:

    Wie oben schon gesagt, ich fände 1-4 Lektionen pro Thread ganz gut. Threadstarts: Soll ich die alleine machen (als Orientierung) oder wer Lust hat, macht einfach die nächste Sektion auf - oder von mir aus auch eine sehr viel spätere Sektion, das ganze sollte dann aber nicht gleich zu unübersichtlich werden. Ich glaube, es ist für die wenigen Mitleser erstmal hilfreicher, einfache Beispiele zu sehen, oder als roten Faden zu haben.

    Meinungen?



  • nachtfeuer schrieb:

    Meinungen?

    Wozu?


  • Mod

    Bashar schrieb:

    nachtfeuer schrieb:

    Meinungen?

    Wozu?

    Wozu überhaupt?



  • Mach einfach mal nachtfeuer, ich glaub hier rafft nich sonderlich wer was du überhaupt meinst.

    Mach einfach mal deine "Übersetzung" für ein paar Beispiele und dann kann man auch sehen was du meinst.



  • Was will man denn überhaupt mit Haskell anfangen? Webbrowser schreiben, Graphen traversieren, Bildbearbeitung, Kompression, Verschlüsselung, Protokolle umsetzen, Spiele, Compiler???



  • HaskellBastel schrieb:

    Was will man denn überhaupt mit Haskell anfangen?

    Alles!

    Webbrowser schreiben

    Es gibt einen Windowmanager, reicht das? Ausserdem ist Haskell sehr beliebt für Webserver.

    Graphen traversieren

    Gibt Data.Graph.

    Bildbearbeitung, Kompression, Verschlüsselung, Protokolle umsetzen,

    Das sind Standardaufgaben, die es in fast jeder Programmiersprache gibt. Alles auch in XMonad drin, falls du Beispiele willst.

    Spiele

    https://www.haskell.org/haskellwiki/Game_Development

    Compiler???

    Der Haskell-Compiler ist in Haskell geschrieben und ausserdem gibt es einen Perl 6 Interpreter.


Anmelden zum Antworten