Zitat Zitat von Whiz-zarD Beitrag anzeigen
Ein Trugschluß
Nur weil man ein paar Semester programmiert, heißt es lange nicht, dass man gut und effizient programmieren kann.
Ein Hobbyprogrammierer, der mehrere Jahre programmiert, muss nicht in der Lage sein, z.B. ein B*-Baum zu kennen, oder er kann nicht konkret erklären, was der genaue Unterschied zwischen einem Array und einer Arraylist ist, oder er schreibt Seitenweise Spaghetticodes, weil für ihn die ordentliche Strukturierung zu lange dauert.


Die Programmiersprachen unterscheiden sich auch nicht nur an der Syntax. Wie du schon selbst gesehen hast, gibt es auch da gravierende Unterschiede, wie z.B. ein nicht vorhandener Garbage Collector.

Außerdem ist Programmieren nur ein Bruchteil der Arbeit. Die meiste Zeit geht beim Analysieren und Zerlegen des Problems drauf. Das Implementieren ist nachher schnell erledigt. Wer aber nicht in der Lage ist, die Probleme in möglichst kleine Teilprobleme zu zerlegen, der wird es als Softwareentwickler schwer haben, auch wenn der die Sprache kennt.
Da hast du mich wohl nicht ganz richtig verstanden. Ich habe nicht behauptet, dass ich damals das Gefühl hatte, gut programmieren zu können. Ich meinte nur, dass wir in C++ die ersten Wochen bzw. eigentlich die meiste Zeit (das Skript hab ich mir ja nun vor der jeweiligen Vorlesung schon kurz angeguckt) genau das gleiche gemacht haben, wie im Semester zu vor in Java. Wie weise ich Variablen zu, was ist ein Array, was ist eine Klasse/ein Objekt, wie greife ich da auf die Inhalte zu, wie schreibe ich Funktionen etc. Da ist die Syntax in C++ nun mal nicht so viel anders als vorher in Java und man hat sich halt gedacht "schenk ich mir". Wenn ich vorher ein vollständiges Programm als Abschlussprojekt einer Vorlesung schreiben musste, was später auch mehr oder minder von der Uni oder dem Fachbereich eingesetzt wurde, dann ist eine Hausaufgabe zu "schreibe einen einfachen Taschenrechner" (und ich glaube, das war sogar schon die 3. oder 4. von insgesamt 4 Hausaufgaben) nicht mehr so eine großes Herausforderung, wie vorher, wenn man bei null anfängt. Und vor allem ist die Herausforderung auch dann noch geringer, wenn man dafür 2 oder 3 oder 4 Wochen Zeit hat, statt vorher bei Java nur knapp eine Woche.

Und dass Programmiersprachen sicherlich auch ihre Unterschiede haben, weiß ich. Ich bin ja nun auch schon ein weilchen raus aus dem Studium. Ich bezog das nur auf die Situation im Studium. Ich kann mit C++ nicht gut, ich mags nicht, was aber daran liegt, dass ich es damals im Studium zu sehr "vernachlässigt" hab. Ich hab meine 1 im Projekt bekommen, ja, weil ich es immer irgendwie hinbekomme, aber von können kann hier nicht die Rede sein. Aber Studium sind eben auch nur Grundlagen. Unser Prof hat damals im C++ Kurs gesagt, dass jemand (ich weiß nicht mehr, ob es nicht sogar der Erfinder von c++ war oder sonst jemand, der es schon seit vielen vielen Jahren anwendet und dann wohl irgendwo in einer großen Firma Hauptentwickler war) mal gesagt hat, dass er nach 10 Jahren Programmieren in C++ nicht von sich behaupten würde, wirklich richtig gut in C++ zu sein. Wie soll ich dann bitte nach 3 Monaten Vorlesungen nur ansatzweise was können? Aber ganz ehrlich - im Studium ist doch jeder erstmal nru froh, wenn er sich durchhangelt und am Ende noch halbwegs gute Noten schreibt. Da bleibt auch oft einfach nicht die Zeit, sich noch wirklich intensiv in seiner Freizeit mit Dingen auseinander zu setzen. Außer man ist ein Obernerd und hat keine Freunde, die man noch sehen will, oder will nicht auch mal was anderes außer Programmieren machen.





Zitat Zitat von Whiz-zarD Beitrag anzeigen
Och, das kann ich dir abgewöhnen ^^
Du kannst es aber auch lassen. Mir ist nicht ganz klar, warum du so eine Ausführung postest, die mit dem Thread an sich nicht wirklich viel zu tun hast, außer dich selbst zu profilieren, weil du so unglaublich tolle schwere Aufgaben lösen musst/kannst. ;-)
Was bringt es dir, irgendwem irgendwelche Sonderfälle aus dem Alltag vor die Nase zu knallen, nur um zu demonstrieren, dass es noch schlimmer geht? Es geht immer schlimmer, mir ist das durchaus bewusst. Es geht hier aber ums Studium, wo du für solche Fälle gar nicht die Zeit zur Verfügung hast. Und wo es keinen Sinn macht, solche umfangreichen Aufgaben zu machen, weil es erstmal ums Verstehen geht. Ich habe im Job auch bereits längere und kompliziertere Abfragen gebaut, die sicherlich nicht an dein Beispiel heranreichen, aber an denen ich auch schon länger gesessen hab, weil irgendeine Kleinigkeit nicht ganz so wollte und das bei mehreren Zeilen eben schwieriger wird. Ich halte mich nicht für perfekt. Und ich weiß auch, dass ich nicht in allem 100%ig sein muss und sein kann. Dafür arbeite ich in einem Team, wo man sich gegenseitig helfen kann. Aber Spaß machen kann es mir trotzdem.

Zitat Zitat von Whiz-zarD Beitrag anzeigen
Was die Computergrafik angeht, hat sich in den letzten 20 Jahren wirklich nicht viel geändert. Um die Grundlagen der Computergrafik zu verstehen, da reichen auch wirklich Unterlagen die 20 Jahre oder älter sind. Das, was man vor 20 Jahren in der Computergrafik verwendet hat, findet man heute immer noch wieder. Viele bestehende Algortihmen sind so performant, dass es sich nicht lohnt, dort was besseres zu finden, bzw. es wurde in vielen Bereichen auch noch nichts besseres gefunden. Es wird z.B. immer noch der Bresenham-Algorithmus verwendet, um eine Linie oder ein Kreis zu rastern und diesen gibt es schon seit 1962. Auch die komplette Rendering Pipeline ist nichts neues. So arbeitete z.B. OpenGL/DirectX und die Grafikchips schon immer und ich sehe auch keinen Grund, wieso man es ändern sollte. Oder für Transformationen und Translationen hat man auch immer die Lineare Algebra und entsprechende Matrizen zur Hilfe genommen.
Die bekanntesten Beleuchtungsmodelle, die heute hauptsächlich verwendet werden, entstanden in den 70ern. Heutzutage werden eigentlich nur noch diese Beleuchtungsmodelle optimiert und verfeinert, um sie physikalisch plausibler zu machen. Keiner wird sich hinsetzen, und sich ein neues Modell ausdenken. Wozu auch?
Ja, das mag wohl richtig sein. Nur hat sich der Dozent halt auch nicht wirklich irgendwie auf dem Laufenden gehalten, zumindest hatte man den Eindruck. Wenn man ihn was zu neueren Sachen gefragt hat, hatte er nicht wirklich Ahnung. Er hat sein Theoriewissen gehabt, hat dann einige Übungen gestellt (male einen Kreis, male dies, male irgendwelche Formen), konnte aber programmierseitig überhaupt gar keine Hilfestellung geben. Gottseidank war in dem Fall die Übung nur freiwillig und hätte einem ein paar Bonuspunkte für die Abschlussprüfung gebracht. Als wir im zweiten Semester den Praxisteil mit 3ds max gemacht haben, hat er jemanden aus dem Rechenzentrum angeschleppt, der uns die Bedienung erklärt hatte, weil er das überhaupt nicht konnte. Ich hab meine Seminararbeit über das Texturieren geschrieben und ein Teil daraus bestand aus einer Anleitung, weil er im nächsten Jahr wieder so eine Aufgabe stellen wollte und der Typ aus dem Rechenzentrum nicht mehr da war. Es kam mir vor, als hätte er sich irgendwan vor Jahren in das Thema eingelesen und darüber was erzählt, ohne aber ab und zu mal wenigstens ein bisschen zu gucken, wies läuft. Und sicherlich sind die Grundlagen noch die gleichen. Aber ich denke, dass viel auch schon irgendwie in entsprechende Programme eingebaut ist, ohne dass man selbst jedes Mal die Formeln zusammenstellen muss. Zu wissen, wie sie funktionieren ist gut, aber man sollte halt auch ein bisschen zeigen, wie es läuft, damit man als kleiner Student das ganze betrachten und in Zusammenhang stellen kann.
Aber vielleicht täusche ich mich da auch, ich hab mit Computergrafik seitdem nichts mehrzu tun gehabt.