Wie gehts weiter?



  • Man kann auch in C++ funtkionial programmieren.



  • @PI: Man kann auch in Assembler Objektorientierung betreiben. Das will nur niemand, wenn es um den Lernzweck für jemanden geht, der seit 2 Jahren beim Programmieren ist. Abgesehen davon ist funktionales C++ weit entfernt von der Eleganz von echt funktionalen Sprachen wie bspw. Haskell. Will heißen potthässlich.


  • Mod

    Was soll das mit Spezialisieren? Was du (nach der Schnellskizze des Profils)
    eher bräuchtest, wäre mehr Programierpraxis.

    Versuch ein paar kleine Spiele für Handys zu entwickeln, oder Weiterentwicklungen von Typ Sysinternals ( http://technet.microsoft.com/en-us/sysinternals/bb842062 )
    (Leider kein Sourcecode mehr dabei, aber es hilft vielleicht schon, sich einfach mal die Funktionsliste in IDA anzeigen zu lassen. Oder versuche einen Disassembler für Linuxe, erst einfach, dann viel intelligenter als der Rest der schon da ist. Es gibt zu wenige gute Hexeditoren, dabei sind die gar nicht so schwer zu programmieren. Aber deswegen gibt es wohl so wenig gute, die meisten schreiben sich das Ding wahrscheinlich selber. Aber es gibt auch viele gute solcher Programme mit Sourcecode, die weiterhelfen.
    Der Midnight Commander in Unixen war anfangs eigentlich auch "nur" ein Einsteigerlernprojekt zum C Lernen.
    (Das Original Dosprg war in Assembler geschrieben, ebenfalls recht Einsteigerfreundlich)

    Bei der Spieleentwicklung für Handys kannst du einen Menge lernen, performanter programmieren, lineare Arithmetik, überhaupt Mathevertiefung, schnelle Algorithmen nutzen und vieles mehr.

    Versuch ein Schachspiel mit Bitmaps aufzubauen o.ä.

    Man könnte auch generell mehr Api-Kenntnisse, dokumentiert und undokumentiert aufbauen.

    Wie sieht es aus mit Erweiterungen von C, OpenMP, Cuda, Parallelprogrammierkenntnissen?

    Wie gut sind deine Assemblerkenntnisse?

    Wenn es aber unbedingt noch eine Sprache sein muß, würde ich auch in Richtung Scala oder Haskell zeigen. Haskell hat eine hervorragende Parallelperformance, gute Entwicklungstools, gute deutschsprachige Einführungsliteratur und auch gute wissenschaftliche Literatur zum Vertiefen.
    An den Unis scheint zwar seit einiger Zeit Ocaml bzw. Metaocaml mehr en vogue zu sein, aber im Direktvergleich mit anderen Funktionalen Sprachen finde ich, schneidet Haskell eigentlich am besten ab.

    Naja, und Bibliothekzeugs und Libs und so...
    http://www.amazon.de/Programming-Prentice-Source-Software-Development/dp/0132354160/
    http://www.amazon.de/Game-Coding-Complete-Mike-McShaffry/dp/1584506806/



  • Vielen Dank ich werde dann mal damit anfangen irgendeine funktionelle Sprache zu lernen.

    Grüsse



  • Cho++ schrieb:

    Vielen Dank ich werde dann mal damit anfangen irgendeine funktionelle Sprache zu lernen.

    Grüsse

    Wobei ichs mit funktionalen Sprachen nicht übertreiben würde. Ist ganz witzig, interessiert aber keinen. Am ehesten noch Scala, das kann man noch unauffällig in ein Java Projekt einbauen, wenn man will. Mach ich ab und zu. Aber dass du jemals eine Aufgabe bekommst, wo du was in Haskell programmieren musst (außer im Praktikum an der Uni) ist sehr unwahrscheinlich.



  • Das ist so nicht ganz richtig. In der Telematik spielt das funktionale Erlang durchaus eine Rolle.



  • JFB schrieb:

    Das ist so nicht ganz richtig. In der Telematik spielt das funktionale Erlang durchaus eine Rolle.

    Ja, es gibt paar kommerzielle Erlang und sogar Lisp Projekte, deswegen hab ich auch explizit Haskell geschrieben. Aber mit Erlang wird man auch nicht unbedingt in Berührung kommen, es sei denn, man will es explizit und bewirbt sich extra bei den 2-3 Firmen, die das nutzen. Wobei ich natürlich niemanden davon abhalten will, sich Erlang, Lisp oder Haskell anzutun, hab ich ja selber auch gemacht. Wollte nur sagen, dass es kein Muss ist. Gibt ja auch genug andere Sachen, die vielleicht praxisnäher oder "wichtiger" sind.



  • Achso, ich hab deine Aussage ein wenig absoluter verstanden 🙂

    Zum Thema praxisnah und "wichtig": Ich kann nur für mich sprechen, aber ich finde, dass funktionale Programmierung (v.a. die theoretischen Grundlagen, also der Lambda-Kalkül) einem einen völlig neuen Blickwinkel auf das Programmieren geben. Wichtig würde ich es also auf jeden Fall nennen.

    Und die Art von Modularität und Abstraktion, die man dort kennenlernt hat zumindest meine Sicht auf die (sehr praxisrelevante) OOP stark beeinflusst. Alles in allem auf jeden Fall eine den Horizont erweiternde Erfahrung, finde ich.



  • JFB schrieb:

    Zum Thema praxisnah und "wichtig": Ich kann nur für mich sprechen, aber ich finde, dass funktionale Programmierung (v.a. die theoretischen Grundlagen, also der Lambda-Kalkül) einem einen völlig neuen Blickwinkel auf das Programmieren geben.

    Jo, ich bin über Python zur funktionalen Programmierung gekommen und lern jetzt etwas Haskell. Ist wirklich sehr ... mhh ... horizonterweiternd. 😉
    Werds zwar so direkt kaum brauchen, aber meine Intuition für einige Template-Metaprogramming-Geschichten hat sich dadurch schon verbessert.



  • Na Vielen Dank! Da ich sowieso nicht wusste was ich machen soll lern ich gerade Lisp. Naja gegenüber C++ finde ich es viel einfacher, aber ist schon empfehlenswert sich sowas anzuschauen.


Anmelden zum Antworten