Erlernen der Programmierkunst



  • Ja geht.
    Man sollte aber schon Ahnung von Mathematik und etwas Verständniss für Problemlösungen haben.
    Software entwickeln ist nicht nur Source schreiben.

    Da gehört schon mehr dazu und ich spreche jetzt nicht von Hobbyprogrammierer.



  • Vor allem sollte man lernen wie man ein großes Problem in viele kleine unterteilt. Eine gewisse mathematische Grundbildung auch ziemlich wichtig.



  • Also ich kann nur von mir sprechen, aber meine Programme sehen seit ich studiere doch gänzlich anders aus als früher. Man lernt einfach ein paar Sachen, auf die man selbst nicht unbedingt kommt. Zwei wichtige Dinge sind zum Beispiel Automaten- und Graphentheorie. Das begegnet einem fast ständig.
    Schaut man sich zum Beispiel die Aufgaben des Bundestwettbewerbs für Informatik an, dann wird das fast schon langweilig. Zumindest beim letzten Mal waren zwei Stück dabei mit mit z.B. mit einer simplen Tiefensuche in einem Graphen zu erledigen waren.

    MfG Jester



  • Ich meine auch mit Büchern zu lernen.

    Was ich aber hauptsächlich meine ist, ob ein Mensch ohne (oder sagen wir mit wenig) Lehrkraft in der Programmierung so weit kommen kann wie einer der das hauptsächlich in der Schule (oder Uni) lernt.

    In meiner Schule lerne ich nur die grundlegenden Dinge in der C-Sprache. Durch Bücher und Tutorials usw. bin ich jetzt doch schon weit gekommen und frage mich deshalb ob ich nicht einen Kurs machen sollte.



  • MaSTaH schrieb:

    Vor allem sollte man lernen wie man ein großes Problem in viele kleine unterteilt.

    Sicherlich, aber das lernt jeder Techniker/Naturwissenschaftler, ist nix Spezifisches in der Informatik.

    Nur BWL ist anders - dort lernt man, wie man aus jedem kleinen Problem viele Große macht. 🤡



  • Sebastian Thalhammer schrieb:

    Was ich aber hauptsächlich meine ist, ob ein Mensch ohne (oder sagen wir mit wenig) Lehrkraft in der Programmierung so weit kommen kann wie einer der das hauptsächlich in der Schule (oder Uni) lernt.

    Ja, grundsätzlich schon. Für grundlegendes Wissen in der Programmierung kommt man mit Büchern sehr sehr weit. Und die typischen Kurse oder 5-Tage-Seminare gehen nicht so tief rein wie man sich erhofft oder erwünscht.

    Ab einem gewissen Erfahrungslevel ist es aber sehr hilfreich, wenn man Seminare oder solche Expertenrunden ("Roadshows") besucht, wie sie z.B. von Borland oder MS angeboten werden. Dort wird nicht direkt ein Programmierkurs abgehalten, aber man kann sich an 2 oder 3 Tagen mit vielen Leuten austauschen und wird den ganzen Tag mit aktuellen Entwicklungen und Ideen bombadiert - was sehr hilfreich ist für die eigene Einordnung und den Überblick.

    Mir geht es nämlich zumindest so - es ist viel einfacher konkrete Probleme zu lösen als noch den Überblick zu behalten, was gerade wo eingesetzt wird und welches Tools wann wofür auf dem Markt ist. Das ist nämlich bei dem Entwicklungstempo fast die größere Gefahr, daß man irgendwas verpennt als daß man irgendwelche Problemchen im Kleinklein nicht lösen kann.



  • Vielleicht muß man aber noch erwähnen: es hängt natürlich auch vom persönlichen Lerntyp ab. Nicht jeder ist für diese Art des Selbstlernens geschaffen, das muß man natürlich auch realistisch sehen. Evtl. ist es hilfreich, einige Gleichgesinnte für Diskussionen zu haben, damit man nicht auf das falsche Gleis gerät und sich dort verfährt.



  • Sebastian Thalhammer schrieb:

    Hi.

    Ich hab mich schon oft gefragt, ob ein Mensch der sich das Programmieren nur von Tutorials usw. erlernt auch auf den selben Level kommen kann, wie ein sagen wir, Informatikstudent.

    Was haltet ihr davon?

    Klar, zumindest kann derjenige wesentlich besser programmieren, als ein schlechter Informatikstudent. Aber an einen guten Informatik Studenten wird dieser wohl nie rankommen. (ist natürlich auch von uni/fh und vom Themengebiet abhängig)

    Also ein Studium ist keine Freikarte, aber gemixt mit den Büchern und Erfahrungsaustausch etc. sicherlich um einiges besser um profesionelle Software zu entwickeln.



  • Wieso sollte ein nicht-Informatik-Student oder ähnliches nicht an einen Informatik-Studenten oder ähnliches heranreichen? Ist es nicht eine Sache der Selbstdisziplin, sich Fähigkeiten anzueignen, ein Studierter ist in keinster Weise der Bessere. (irgendwie würde ich jetzt gerne auf Johannes Rau hinweisen...bin mir aber nicht sicher ob jeder dann den Sinn verstehen würde).



  • Weil jemand der studiert hat ein fundierteres Wissen über Grundlagen, Methoden, Techniken und das Drumherum besitzen kann, als jemand der nicht studiert hat.
    (so sehe ich das zumindest)

    Und das ein Studierter der bessere ist, hab ich nicht gesagt.
    Ich habe nur gesagt(zumindest wollte ich es so verständlich machen), dass jemand der studiert hat UND Selbstdisziplin hat dem nicht Studierten um einiges vor-raus ist.

    Und ich wollte verdeutlichen, dass ein Studium alleine aus jemandem keinen Profi machen kann.



  • Ich sehe es so:
    Wenn man auf einem Niveau wie Marc++us und Hume angekommen ist (nur um mal zwei zu nennen, vor denen ich gehörigen Respekt habe) - dann ist man zum Programmieren zu schade geworden, da es eben normalerweise auch weitaus einfachere Methoden gibt, um die praktischen Probleme zu lösen...
    Vielleicht nicht so effiziente und elegante - einfachere eben... :xmas2:



  • musst do so kurz vor 2004 noch einmal so tief in den Arsch von anderen Leute kriechen @Bitsy? Wir suchen wirklich keine Mods mehr!



  • Marc++us schrieb:

    Man kann das auch leicht beweisen: angenommen, man kann Softwareerstellung nur durch ein Informatikstudium lernen - wie haben das dann die 1. und 2. Generation der Softwareentwickler gelernt, zu deren Zeiten es noch kein Informatikstudium gab. Offensichtlich ging es ja doch!

    Daß das gehöriger Quark ist müßtest Du doch selbst begreifen! Das paßt auf alles!
    Man kann also auch nur mit Tutorials mal eben locker BWL, VWL, oder Moderne Kriegsführung erlernen... 🤡 👍

    [EDIT] ...oder Chirurg werden... 😉



  • Hi,

    nicht, dass ich Ahnung hätte, aber ich denke, in den ganzen verschiedenen Informatikstudien lernt man viel mehr bestimmte Techniken und die Theorie, weniger (bzw. gar nicht?) die Umsetzung in einer bestimmten Programmiersprache wie C++ oder Java.

    Von daher hab ich mir auch vorgenommen, später z.B. theoretische Physik oder sowas zu studieren, aber bestimmt keine Informatik, da ich wirklich nur auf's Programmieren und nicht auf irgendwelche Graphentheorie aus bin.

    ChrisM



  • ChrisM schrieb:

    da ich wirklich nur auf's Programmieren und nicht auf irgendwelche Graphentheorie aus bin.

    Das ist eigentlich schade... ich bin mir fast sicher, daß Du schon mehr als ein graphentheoretisches Problem gelöst hast, nur leider ohne es als solches zu erkennen. Was glaubst Du zum Beispiel was ein A* ist?
    Wenn man sich einmal mit der Theorie auseinandergesetzt hat fällt und einem die Implementierung deutlich leichter und sie wird möglicherweise auch wesentlich effizienter.

    MfG Jester



  • Hallo zusammen!

    Ich war etwas über 10 Jahre lang selbständig und habe nebenbei studiert (Mathematik/Informatik). An einer speziellen Problemstellung habe ich fast die ganze Zeit über gearbeitet, mich auch mit anderen ausgetauscht, ohne dabei einen zufriedenstellenden Lösungsalgorithmus zu finden. In einem der letzten Semester habe ich eine Vorlesung besucht, von der ich nie gedacht hätte, daß sie mir bei meinem speziellen Problem weiterhelfen würde. Zuerst hat sie das auch nicht. Nach meinem Studium kam mir aber eine Idee, wie eine in dieser Vorlesung erlernte Methode für meine Problemstellung weiterentwickelt werden könnte. Jetzt habe ich eine zufriedenstellende Lösung.

    Der Zusammenhang mit diesem Thread ist nun der folgende: autodidaktisch hätte ich mich niemals mit denjenigen Dingen beschäftigt, die notwendig waren um ein Diplom in Mathematik zu bekommen. Vieles davon ist einfach mühsam, äußerst theoretisch und war - zumindest für mich - nur durch stundenlange Gespräche in Arbeitsgruppen zu verstehen. Gerade die mathematischen Grundlagen aber werden von vielen Programmierern abgelehnt, daß sie sich dieses Wissen selbst aus Büchern beibringen halte ich daher für unwahrscheinlich.

    Fazit: Mir hat mein Studium sehr viel gebracht, insbesondere wenn es darum geht eigene Algorithmen zu entwickeln. Ob ich dadurch ein besserer Programmierer geworden bin weiß ich nicht. Vielleicht ist sogar das Gegenteil der Fall: die Entwicklung eines Konzeptes macht mir nach wie vor Spaß, mein fertiges Konzept dann zu programmieren ist nur noch langweilig...

    Viele Grüße
    Th.



  • Hi,

    hmm... das kann natürlich sein, ich habe auch A* schon implementiert, aber habe den, auch die Theorie, nicht als besonders schwer empfunden. OK, vielleicht lag's auch an dem Tutorial, das ihn recht gut erklärt hat.

    ChrisM

    PS: Trotzdem finde ich Physik interessanter 🙂



  • Kann mich jemand mal aufklären was A* bedeutet.

    Also beim lernen ist sicherlich die Diskussion mit gleich interesierten Leuten am wichtigsten, aber ob das jetzt im Studium oder im Forum passiert ist doch erstmal egal. Nur wahrscheinlich ist das es im Studium intensiver ist. Man hat einfach einen anderen Draht zum gegebenüber.

    Und im Studium wird man zwangsweise auf Themen gebracht, die man aus eigenem Interesse nicht angerührt hätte. Vielleicht auch weil einem die Überschrift nix gesagt hat.

    Und selber sich was beibringen muss man wohl in beiden Fällen können. Spätestens in der Diplomarbeit hilft einem fast keiner mehr.



  • Um das auch noch mal klar zu stellen - ein Studium ist durch Bücher lesen nicht ersetzbar, das ist vielleicht falsch rüber gekommen. Das war ja auch nicht die ursprüngliche Frage, nebenbei bemerkt.

    Wenn ein aufgeweckter Kopf 4 oder 5 Jahre studiert, wird er in dieser Zeit soviele gepackte Informationen bekommen, das läßt sich kaum noch einholen. Vor allem er sich am Abend dann auch noch Gedanken über das Gehörte macht - diese Masse an Informationen und Methoden besitzt man. Will jemand als Autodidakt dagegen antreten, so hat er ein echtes Problem - diesen zeitlichen Vorsprung bei gleicher Bandbreite abzudecken? Schwer vorstellbar.

    Also, halten wir fest:

    Ein Studium ist nicht so einfach ersetzbar.

    Aber, nun kommt es:

    Ein Informatik-Studium ist keine Ausbildung in Programmierung. Das ist immer noch und immer wieder Mißverständnis Nummer 1.

    Wenn nun jemand fragt, ob man durch Bücher als Autodidakt so gut programmieren lernen kann wie ein Informatik-Student, so MUSS man diese Frage einfach bejahen.

    [Programmieren ist halt doch nur Löten auf hohem Niveau. 🤡 ]

    Interessant wird es dann bei der Frage, an welche Aufgaben man einen Autodidakten setzen kann - welche Probleme der Softwareentwicklung wird er mit seinen Programmierfähigkeiten lösen können. Und hier kommen dann rasch die Einschränkungen - zwei anschauliche Beispiele ohne Anspruch auf Vollständigkeit:

    - Wenn ich einen Elo-Ing habe, so kann ich zu dem sagen "programmiere mir einen PID-Regler in den PC, aber die Abtastzeit liegt nahe der Zeitkonstanten, also setze den korrekt mit Hilfe der z-Transformation um".

    - Wenn ich einen Informatiker habe, so sage ich zu dem "für die 3D-Koordinaten brauchen wir zunächst eine Rotation um den Schwerpunkt des Gegenstands und Du schiebst den Schwerpunkt in den Ursprung des Koordinantensystems, danach normierst Du alle Koordinaten auf das Intervall [-1,1]".

    Weiß ich jeweils was das mathematisch bedeutet, so ist die Programmierung der dahinter steckenden Funktionen trivial. Das kann ich auch meinem autodidakten Programmierer im Selbststudium hinlegen. Aber wenn ich dem gleichen Programmierer die komplette Aufgabe hinlege, wird er sicherlich an seine Grenzen geführt. Und dieses Hintergrundwissen, das hätte er gehabt, wenn er studiert hätte.

    Ich hoffe mal, ich habe mit dem Beispiel verdeutlicht was ich meinte und auch ein wenig dargestellt, wo und warum ein Studium sinnvoll ist.

    Und noch so ein Ding: im Rahmen des Software-Engineerings kann man lernen, daß ein Softwareentwickler nur 20% seiner Zeit mit der Programmierung verbringt. Auch das sollte einem ein Fingerzeig sein, was einem ein technisches Studium nützt.



  • Ich liebe immer Marc++us seine Statemens.
    Nie zu kurz gehalten, immer detailiert - einfach geil!

    Doch trotzdem, heute ist Sylvester. RAUS aus der Bude, Spass haben.

    BtW: Wollte nicht zu sehr nach OT schlagen. Nur musste mal gesagt werden, sry!


Anmelden zum Antworten