Welche Sprache sollte ich nahezu perfekt beherrschen?


  • Mod

    Kai9595 schrieb:

    Welche Sprache sollte ich nahezu perfekt beherrschen?

    Java && Assembler
    Assembler ist ein Bonbon, denn es gibt ja nur eine Handvoll Befehle beim ARM, deren Benutzung sich sehr schnell erarbeiten lassen.

    Der Sprachumfang und Bibliotheksumfang von C ist klein.
    Für C und Assembler ist ein (Hardware-)Entwicklungskit sehr dienlich.

    C++ und FP sind umfangreich, brauchen viel Zeit.

    Programmieren ist ein bisschen so wie Dauerlaufen. Am Anfang ist es erstmal egal, wo du lang läufst hauptsache du läufst.

    Auf dem Weg zum besseren Programmierer ist eine Fehlerprotokoll-Datei (oder Bug-Data-Base) sehr nützlich.
    (Wenn man z.B. mit einem Haskellinterpreter arbeitet, dann sollte die Fehlerprotokoll-Datei geöffnet sein, bevor der Interpreter gestartet wird.)

    (Eines der ersten Programme sollte ein Programm sein, welches den eigenen, aktuellen Code (Performance) nach den gelisteten Fehlern checkt und den entsprechenden Eintrag in der Fehlerliste ausgibt - der nächste Schritt mit der Fehlerdatei ist, diese in den Buildprozess zu integrieren. So hast du dann immer auch eigene Fehlermeldungen + Performanceüberwachung (plus Tagesaktuelle Kommentare wie "Alles Char Coal hier oder was?" oder "nur 3 Fehler heute, Respekt!" oder "Nur 20 Fehler, geh mal besser schlafen!) oder "Fehlerrate-Monitoring Output: Status: 2 von 32 : (Bedenklich, Chaotisch) : Empfehlung : Weg vom Rechner", oder "0 Fehler: Flowtime, go")
    ( http://stackoverflow.com/questions/184618/what-is-the-best-comment-in-source-code-you-have-ever-encountered
    http://www.joelonsoftware.com/articles/fog0000000332.html
    http://c2.com/cgi/wiki?FunnyThingsSeenInSourceCodeAndDocumentation )

    Für Motivation sehr dienlich, wenn man sich
    a) eine Liste, mit Wunschprogrammen erstellt, bzw. diese Liste immer mal wieder erweitert oder anpasst, + den Fortschritt o. ä. interpretiert, bewertet etc. also auch "Evaluation" betreibt.
    b) Unternehmen anschaut, bei denen man gerne arbeiten möchte. Problem: man weiß nicht immer vorher, wo es Spaß macht. Also: Praktika, Ferienjobs, Unijobs...



  • nachtfeuer schrieb:

    Auf dem Weg zum besseren Programmierer ist eine Fehlerprotokoll-Datei (oder Bug-Data-Base) sehr nützlich.
    (Wenn man z.B. mit einem Haskellinterpreter arbeitet, dann sollte die Fehlerprotokoll-Datei geöffnet sein, bevor der Interpreter gestartet wird.)

    (Eines der ersten Programme sollte ein Programm sein, welches den eigenen, aktuellen Code (Performance) nach den gelisteten Fehlern checkt und den entsprechenden Eintrag in der Fehlerliste ausgibt - der nächste Schritt mit der Fehlerdatei ist, diese in den Buildprozess zu integrieren. So hast du dann immer auch eigene Fehlermeldungen + Performanceüberwachung (plus Tagesaktuelle Kommentare wie "Alles Char Coal hier oder was?" oder "nur 3 Fehler heute, Respekt!" oder "Nur 20 Fehler, geh mal besser schlafen!) oder "Fehlerrate-Monitoring Output: Status: 2 von 32 : (Bedenklich, Chaotisch) : Empfehlung : Weg vom Rechner", oder "0 Fehler: Flowtime, go")

    Never! Das Rezept klappt nur für Dich und ist für Menschen ungeeignet.



  • @volkard
    Wieso hast du deinen ganzen Beitrag wieder weggelöscht? 😕



  • hustbaer schrieb:

    @volkard
    Wieso hast du deinen ganzen Beitrag wieder weggelöscht? 😕

    War irgendwie zu viel der Beratung für dieses Forum.

    Und Kai hatte reichlich Zeit, ihn zu lesen.



  • volkard schrieb:

    hustbaer schrieb:

    @volkard
    Wieso hast du deinen ganzen Beitrag wieder weggelöscht? 😕

    War irgendwie zu viel der Beratung für dieses Forum.

    Versteh' ich nicht. Wieso zu viel?



  • @hustbaer: Gefühlt die Hälfte von Volkards kryptischem Nonsens ist tatsächlich nur Nonsens. Vielleicht eine Art Experiment?

    Irgendwie glaube ich kaum, dass mich das auf meinen künftigen Beruf (Softwareentwickler) vorbereitet.

    Praktisch das wichtigste als Software-Entwickler ist IMO, zügig Lernen zu können. Wenn deine Hochschule es geschafft hat, dir das beizubringen, hat sie ihr primäres Ziel erfüllt. C++ ist ein Brocken, aber viele Sprachen sind relativ schnell erlernbar (e.g. ML, Java, …), was bedeutet, dass, sobald du die unterliegenden Prinzipien der Programmierung verinnerlicht hast, dir potenziell viele Sprachen zu Füßen liegen. Man braucht dann nur noch ein paar Dutzend Stunden für Formalitäten (Syntax, Standardbibliothek, Idiome, etc.) und man kann es schon halbwegs einsetzen. Noch ein paar hundert Stunden mehr und man geht richtig ab. (Zeit hängt natürlich von der Sprache ab!).



  • hustbaer schrieb:

    Versteh' ich nicht. Wieso zu viel?

    Siehe Arcoths infantilen Einwurf.



  • ----



  • Kai9595 schrieb:

    Reicht es aus sich auf eine Sprache zu konzentrieren?

    Wahrscheinlich eher nicht ... wobei man das auch nicht so pauschal sagen kann. Aber nur eine einzige Programmiersprache zu können ist relativ wenig für einen Softwareentwickler. Auch wenn man hinterher nur mit einer Sprache arbeitet, sollte man abundzu mal über den Tellerrand gucken. Für Adroid-Programmierung könnte man z.B. auch Kotlin als "hübscheres Java" ausprobieren -- einfach mal so.

    Kai9595 schrieb:

    Wie hält ihr euch in mehreren Sprachen fit?

    Hauptsächlich, indem ich sie benutze. Das sind aktuell C++, Matlab/Octave und Rust. In Java habe ich auch mal eine längere Zeit programmiert. Aber das ist für den Anwendungsbereich, in dem ich mich jetzt bewege, eher uninteressant.



  • eine Sprache vernünftig lernen, alle anderen kann man sich dann i.d.R. recht flott beibringen.
    Nimm wenn möglich eine Sprache, die auch OOP (objektorientierte Programmierung) gut unterstützt*, da viele Frameworks davon stark Gebrauch machen und man sich eben leichter tut, wenn man das mal verstanden hat.

    Je nachdem, was man machen will, sind unterschiedliche Sprachen sinnvoll. C++ zu lernen schadet sicher nicht (total unerwartete Antwort in diesem Forum, oder?), da man dann leicht auf einfachere Sprachen (Python, Java, ...) ohne zu viel Aufwand umsteigen kann.

    * ja, man kann auch in C OOP programmieren, aber ich denke der Lernerfolg stellt sich bei Java oder C++ eher ein


Anmelden zum Antworten