Was muss ein guter Programmierer können?



  • Jap, das war gerade die optimale Antwort 👍 😮 👍



  • TheBigW schrieb:

    Das mathematisches Verständnis dazu gehört streitet ja hier an sich keiner ab.

    dreaddy streitet ab, dass mathematisches Verständnis dazugehört, wenn ich das richtig verstanden habe.

    TheBigW schrieb:

    Aber es ist wohl sicher kaum so, das jeder gute Mathematiker auch automatisch ein guter Programmierer ist.

    Das hat allerdings keine behauptet. Die Mathematik wurde nur als ein Punkt unter vielen erwähnt.

    TheBigW schrieb:

    Ich gehe (aufgrund der Ermangelung mathematischer Genialität) im Sektor Bildverarbeitung ganz oft den Weg einen Algo erst mal irgendwie zu implementieren, wenn er dann läuft kann man solche Sachen immer noch tunen.

    Das kann ich allerdings nich nachvollziehen. Ich habe bei der Bildverarbeitung oft die Erfahrung gemacht, dass man mit dem mathematischen Background eine ganz andere Herangehensweise an die Dinge hat. Mit anderen Worten: Das DESIGN des Programms ist anders, wenn man auf die Mathematik setzt, da man einen viel höheren Abstraktionsgrad kriegt. Ich sehe nicht, was das dann mit "tunen" zu tun hat. Bei mir ist es bisher so, dass da eher ein kleineres Redesign notwendig wird, wenn ich nicht von Anfang an auf die Mathematik setze.



  • TheBigW schrieb:

    Man muß wohl selbst bei einem Programmierer sehr differnzieren. Bin gespannt, ob noch eine klare Anwort auf die gestellte Frage kommt. "Er muß programmieren könne" war schon ziemlich dicht dran :D.

    such einfach nicht so ne scheiße. aber allen suchern sei als leichtere aufgebe gegeben:
    was braucht gerste am wichtigsten, um zu wachsen?



  • TheBigW schrieb:

    Das mathematisches Verständnis dazu gehört streitet ja hier an sich keiner ab.

    Dann müsste noch "mathematisches Verständnis" definiert werden. Reicht handwerkliches Geschick?
    [edit]deutsche sprack, schwere sprack[/edit]



  • Ich denke, dass ein Programmierer auf jeden Fall mathematisches Verständnis haben muss.
    Wie tief dieses Verständnis geht, hängt meines Erachtens auch davon ab, wo der einsatzgebiet des einzelnen ist.

    Ich denke, dass ein Programmierer der viel mit zB geometrischen Daten zu tun hat mehr Mathematik in seinen Programmen nutzt, als ein Programmierer, der zB eine simple Datenbankanwendung schreibt (zB ein Programm dass einfach nur ein SQL Interface für eine Datenbank bietet)



  • Hi,

    ich finde es wichtig dass jemand abstrakt und allgemein programmieren kann, dazu gehört das jemand mathemathisches und logisches verstandnis hat.

    ferner ist die arbeit im team heutzutage sehr wichtig.

    ein informatiker sollte sich eigenständig neuen stoff zueignen können und auch nicht die fassung zu verlieren wenn etwas nicht klappt.

    profi



  • @volkard

    Wo du recht hast, hast du recht.

    @TDKBacke

    Schwer zu sagen. Mir reicht es aus zu wissen, das ich mich im Zeifelsfall (mit erheblichen Zeitaufwand - da ich nicht so der Mathematikus bin) in die notwendige Materie einarbeiten könnte, aber auch ganz froh bin, wenn ich mir die passenden Algos aus einer Lib, oder Numerical Recipes in C mopsen kann.

    @Gregor

    Hab wohl das Kleingedruckte in den vorherigen Beiträgen nicht ganz gelesen :). Aber im Umkehrschluß würde ich dreaddy nicht unterstellen ein schlechter Programmierer zu sein , nur weil er es mit der Mathematik halt nicht so hat. Nur eine Frage zur persönlichen Weiterbildung : Wo entscheidet ein Bilderverarbeitungsalgo über das Design? (können wir gerne per e-mail fortsetzten, da das hier nicht ganz herpasst)

    Bei uns in der Firma ist ein E-Techniker, der unsere PLDs programmiert und (übertrieben) noch nie ein Integral gesehen hat und Trotzdem auf seinem Gebiet absolut Spitze ist.
    Ich würde sowas nie verallgemeinern. Ein Bekannter von mir ist Mathematiker und lacht mich bei Bildverarbeitung aus, weil das zu trivial ist (womit er von seinem Standpunkt aus nicht ganz unrecht hat).



  • [quote="volkard"]

    TheBigW schrieb:

    was braucht gerste am wichtigsten, um zu wachsen?

    Luft und Liebe....



  • TheBigW schrieb:

    Bei uns in der Firma ist ein E-Techniker, der unsere PLDs programmiert und (übertrieben) noch nie ein Integral gesehen hat und Trotzdem auf seinem Gebiet absolut Spitze ist.

    Vorsicht, ja 😃
    Wenn er E-Technik studiert hat, hat er mehr als nur ein lächerliches Integral gesehen 😉



  • 1. Ein guter Programmierer hat keine Freunde.
    2. Ein guter Programmierer hat keine Allgemeinbildung.
    3. Ein guter Programmierer kriegt keinen ganzen Satz heraus.
    und vor allen Dingen: einen guten Programmierer interessieren diese Punkte auch nicht.



  • Man sollte zwischen Programmierern und Codierern unterscheiden.

    Ein Codierer kann einen vorgebenen Algorhytmus in einer im bekannten Programmiersprache erstellen.

    Die Aufgabe eines Programmiers ist es das Problem zu analysieren in vernünftige Teilprobleme zu erlegen,
    dies solange zu wiederholen bis es sich auf sinnvolle Algorythmen reduziert, die dann von den entsprechenden
    Codieren codieren lassen kann. Dazu gehört auch die Wahl der passenden Sprache.

    Bei vielen von uns fallen beide Aufgaben zusammen.

    Wenn man das Problem analysiert hat ist die Implementierung einer Sprache der zweite Schritt, die meisten
    Sprachen sind austauschbar (nicht schlagen) und werden durch das Umfeld -Arbeitgeber- meist vorgegeben.

    Somit sollten wir auch die Fähigkeit haben uns relativ schnell in neue Programmiersysteme einzuarbeiten.

    Um Probleme sinnvoll umstzen zu können sollte man sich mit folgenden auseinandergestezt haben

    Eine lowLevel Programmiersprache (Assembler)
    eine normale Programmiersprache (C, C++, Delphi, Fortran,...)
    eine Programmiersprache mit einer anderen Philosophie (Lisp, forth,...)
    mindestens zwei Betriebssysteme.

    Neben dem oben aufgeführten Vorraussetzungen sollte man sich in einem Betriebssystem und einer Programmiersprache
    wirklich gut auskennen

    Das weitere Können hängt dann von seinem Interessengebiet ab.

    Programmieren für Banken, Verwaltungen und ähnliches
    Programmieren für Betriebssystem
    Programmieren von Hardware
    Programmierne von Geräten (Navigationscomputer, Rechner für Autos, Flugzeuge, Schiffe)
    Programmieren von Testgeräten
    Programmieren von kommerziellen Programmen Textverarbeitung, Datenbank, Tabellenkalkulation, Graphik,...

    All diese Teilbereiche stellen unterschiedliche Anforderungen an den Programmierer jenseits des oben aufgeführten Wissens auf die man sich einlassen muss.



  • ein guter programmierer ist weiß wie die wand, man spricht in diesem zusammenhang auch von informatikerbräune :p



  • Floh schrieb:

    ein guter programmierer ist weiß wie die wand, man spricht in diesem zusammenhang auch von informatikerbräune :p

    Nicht zu vergessen ungewaschen, Fingernägel länger als Haare, ungepflegt und irgendein dummer Spruch auf dem T-Shirt. Werd ich mir im Laufe der Zeit noch alles zulegen, keine Angst 😃 .



  • Ich habe vor später Physik zu studieren. Da ist es, soweit ich weiss, notwendig/nützlich (?), sich mit Programmiersprachen auszukennen.

    Könnt ihr mir vielleicht sagen, welche Programmiersprachen ich lernen sollte? (Wenn es geht in einer sinnvollen Reihenfolge)

    Ich möchte kein Programmierer werden, aber den PC als nützliches Hilfsmittel verwenden können (z.B. als Ingenieur). Ein paar Tutorials als empfehlung wären auch super nett.

    THX für alle Antworten im Voraus.

    mr-anderson



  • Um die Grundlagen zu lernen, eignen sich eigentlich jede Hochsprache.
    Abraten würd ich dir allerding von VB, das macht deinen Stil kaputt.
    C/C++ gilt als ziemlich schwierig, deshalb raten viele Leute auch davon
    ab. Ich hab allerdings damit angefangen... soooo schlimm ist es gar net 🙂

    Im Ingenieursbereich wird gern die sehr mathematisch angehauchte Sprache Matlab
    benutzt, damit habe ich allerdings (noch) keine Erfahrungen.



  • michael puff



  • ich denke mal die physiker machen eher mit fortran herum als mit c/c++.
    matlab ist genial. sehr mathematisch, das kriegt alles gelöst wenns ne lösung gibt. es produziert aber keine programme, sondern führt skripte aus, ist also eine art laufzeitumgebung.



  • 😃 So verschroben sind wir Physiker auch nicht das wir nicht mit der Zeit gehen meistens sind wir aber etwas pragmatischer als andere 😃

    Wir suchen die zu einem Problem passende Lösung
    - Wenn es den Fortran (FORmular TRANslator) ist dann ist es eben FORTRAN.
    Heutzutage immer noch interessant wegen der großen Anzahl bestehendender Lösungen
    - Wenn es Assembler sein muß, da es noch keinen Hochsprachen Compiler für die CPU gibt, dann ist
    es halt Assembler
    - Simulation eines mathematischen Verhaltens, warum in einer Programmiersprache selber schreiben, wenn Matlab mir ein passenderes Umfeld inclusive Grafik liefert.
    - Warum Graphikprogramm selberschreiben (macht Spaß) wenn GNUPLOT mir eine Sinnvolle Lösung bietet.
    - Da in den meisten Instituten sehr viel mit PC´s gearbeitet wird, werden natürlich auch Lösungen
    aus diesem Bereich genommen und dann kommt man an C und C++ eigentlich nicht vorbei.

    - Das wichtigste aber für jeden Physiker ist nicht das Kennen einer einzelnen Sprache, sondern die Fähigkeit Probleme zu zerlegen, zu analysieren und das passende Lösungsverfahren zu finden, das wirst du später in deinem Studium feststellen.

    - Wenn das Problem in seine Bestandteile zerlegt ist, ist es egal in welchem Dialekt (C, C++, Fortran, Labview, Basic, PASCAL, PLI, Cobol, MAtlab, Gnuplot) dann die Lösung geschrieben wird .( 😃 Ich weis das manche mich dafür wieder schlagen werden 😃 )

    Matlab ist ein sehr komplexes System um mathematische Problem zu lösen, es als Sprache zu bezeichnen ist vielleicht ein bisschen übertrieben. Aber ich habe selten etwas beseres gesehen um mathematische Probleme zu lösen und zu simulieren.

    Meine Empfehlung: Setze dich mit einer Programmiersprache ernsthaft auseinander, zur Zeit würde ich hier C++ wählen.
    Halte aber die Augen offen was für Entwicklungen sich anbahnen und riche überall mal ein bisschen hinein.

    PAD
    (Diplom Physiker Uni Bonn. Hatte das Glück Professor W. Paul noch in der Vorlesung zu haben und mein Vordiplom bei ihm machen zu dürfen).
    Arbeite jetzt, mit viel Spaß an der Arbeit, als Software-Ingenieur in der Testgeräte Entwicklungsabteilung einer Navigationsfirma. Das heist wir bauen die Prüfgeräte für die Sensoren und Computer die unsere Firma herstellt.



  • Danke für die umfangreiche Antowort.

    Werde mich jetzt wahrscheinlich erstmal an c++ ranschmeißen.

    MFG mr-anderson


Anmelden zum Antworten