RobbyLee Geschrieben 22. Juni 2010 Teilen Geschrieben 22. Juni 2010 Moinsen, Ich hoffe ich kann zum kommenden Wintersemester den Bachelorstudiengang Informatik antreten. Unter anderem erwartet mich dort Software-Engineering. Um schonmal einen Überblick über Browser-unabhängige Programmierung zu kriegen, wollte ich C++ lernen. Ich habe nicht viel Ahnung von richtigen Programmiersprachen, bislang habe ich im Webbereich mit PHP gescriptet. Ich habe diverse C++ Tutorials gefunden, aber in vielen die mir empfohlen wurden, wird erst C behandelt, Unterschiede zu C++, und dann erst C++. Meine Frage ist nun: Sollte ich zuerst C lernen, um dann C++ zu lernen, oder sollte ich es ignorieren wenn C erwähnt wird, und mit dem C++ Tutorial fortfahren? MfG Robert Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
flashpixx Geschrieben 22. Juni 2010 Teilen Geschrieben 22. Juni 2010 Meine Frage ist nun: Sollte ich zuerst C lernen, um dann C++ zu lernen, oder sollte ich es ignorieren wenn C erwähnt wird, und mit dem C++ Tutorial fortfahren? Vielleicht etwas flach formuliert, C++ ist C mit der Objektorientierung. Ich denke diverse Grundlagen, wie Zeiger, call-by-ref und call-by-value, sowie den grundlegenden Syntax kann man schon mit C lernen, wenn das dann sitzt würde ich nach C++ wechseln und mir hier die OOP und Metaprogrammierung anschauen Letztendlich sollte Dir aber bewusst sein, dass ein Studium nicht "programmieren" ist, sondern Du vielleicht eine oder zwei Veranstaltungen hast, in denen programmiert wird und dort wird das, was Du brauchst beigebracht. Ich würde Dir eher raten Dich auf die mathematischen Fächer zu konzentrieren, da das für die meisten zu Beginn die schweren Fächer sind Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
M.A.Knapp Geschrieben 22. Juni 2010 Teilen Geschrieben 22. Juni 2010 Letztendlich sollte Dir aber bewusst sein, dass ein Studium nicht "programmieren" ist, sondern Du vielleicht eine oder zwei Veranstaltungen hast, in denen programmiert wird und dort wird das, was Du brauchst beigebracht. Ich würde Dir eher raten Dich auf die mathematischen Fächer zu konzentrieren, da das für die meisten zu Beginn die schweren Fächer sind So ist es ... Programmieren macht vielleicht 20% vom Studium aus .. mehr nicht. War für mich zum Glück recht einfach, weil ich schon vor gut programmieren konnte ... es sind aber viele andere daran gescheitert, weils doch viel Aufwand ist und das Tempo recht hoch ist. Aber die Mathe war für mich auch ein harter Brocken ... ... aber das ist schon längst alles wieder Geschichte :cool: Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
gimbo Geschrieben 23. Juni 2010 Teilen Geschrieben 23. Juni 2010 Naja, ob es nicht sinnvoller ist, erst mit OOP zu beginnen und dann prozedual zu programmieren, darüber kann man streiten. Ein einmal erlerntes "falsches" Paradigma wieder zu korrigieren, kann sehr schwierig werden. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Akku Geschrieben 23. Juni 2010 Teilen Geschrieben 23. Juni 2010 Naja, ob es nicht sinnvoller ist, erst mit OOP zu beginnen und dann prozedual zu programmieren, Um Gottes willen. Ein einmal erlerntes "falsches" Paradigma wieder zu korrigieren, kann sehr schwierig werden. Eben. Unterhalte dich mal mit Menschen (plural), die erst Java und dann C gelernt haben. Wir lehren grundsätzlich in der Reihenfolge C->(C++/C#/Java)->PLSQL. Hätte ich genügend Zeit, würde ich noch Assembler an den Anfang schieben. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
T0ken Geschrieben 23. Juni 2010 Teilen Geschrieben 23. Juni 2010 (bearbeitet) Um Gottes willen. Eben. Unterhalte dich mal mit Menschen (plural), die erst Java und dann C gelernt haben. Wir lehren grundsätzlich in der Reihenfolge C->(C++/C#/Java)->PLSQL. Hätte ich genügend Zeit, würde ich noch Assembler an den Anfang schieben. Anwesend. 2 Semester Objektorientierte Programmierung am Bsp. von Java 1 Semester Interprozesskommunikation mit C geplant: noch 2 Semester aufbauend auf java (teilweise, mit studienarbeiten etc), 2 Semester mit C (teilweise, mit studienarbeiten etc). Ich persönlich denke die Objektorientierung ist sehr angenehm und ich programmiere deutlich lieber in Java als in C. Aber der Fakt, dass bisher fast alle Funktionen, die ich brauchte (haben z.B. ein chat-programm geschrieben [startprogramm -> Sende, Empfangsprogramm]) waren schon 'vorgefertigt', was ich so von java nich wirklcih gewöhnt bin (klar gibt es bibliotheken etc, aber ein programm, dass nur aus bereits bestehenden funktionen besteh? =D)... Also ich würde nicht sagen dass die Reihenfolge java->C schlimm ist. Lishkovshes Substitutionsprinzip, dynamische Polymorphie etc. sind Dinge, die einem beim C Programmieren nicht wirklich fehlen.. wenn man sie nicht brauch Bearbeitet 23. Juni 2010 von T0ken Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
flashpixx Geschrieben 23. Juni 2010 Teilen Geschrieben 23. Juni 2010 Unterhalte dich mal mit Menschen (plural), die erst Java und dann C gelernt haben. Wir lehren grundsätzlich in der Reihenfolge C->(C++/C#/Java)->PLSQL. So kenne ich das auch, wobei ich mit Pascal bzw Basic (C64) noch begonnen habe. Pascal halte ich für die Lehre ganz gut, da es wirklich sehr strukturiert ist. Letztendlich ist eine Methode in einer Klasse bzw dann in einem Objekt immer noch ein eine Funktion/Prozedur, die sequentiell abgearbeitet wird. Wenn man direkt mit der OOP beginnt, dann fehlt einem einfach diese Denkstruktur, dass auf Maschinenebene alles sequentiell verarbeitet wird. Selbst wenn man sich das Pipelining bei den modernen Graphikkarten anschaut, die Befehle werden auf der GPU einzeln verarbeitet, auch wenn man eben durch die Pipelines den Datenfluss besser gestalten kann. Ich denke ein Anfänger sollte wirklich einmal lernen, was Zeiger und einfache Datentypen sind, wie man aus denen dann komplexere Structs baut, denn Structs sind ja schon so etwas wie "sehr einfache" Klassen. Wenn man sich dann z.B. mal mit void* Zeigern beschäftigt, dann kann man so etwas wie "generische Strukturen" erschaffen. Hat man das gemacht, darf man sich dann den Schritt in die OOP wagen und sieht, dass man dort so etwas schon fertig bekommt. Hätte ich genügend Zeit, würde ich noch Assembler an den Anfang schieben. Ist zwar nicht direkt Maschinencode, aber für einen Anfänger durchaus gut: Visual X-TOY Die Toymaschine ist eine in Java geschriebene kleines System, auf dem man eben lernt wie man mit einfachen und beschränken Sprachbefehlen arbeitet. Was z.B. ein Programcounter ist, was Register sind usw. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
FinalFantasy Geschrieben 23. Juni 2010 Teilen Geschrieben 23. Juni 2010 C oder C++ zuerst, spielt meiner Meinung nach kaum eine Rolle. Ich habe mit C im privaten angefangen, bekam dann im Rahmen der Ausbildung eine richtige C-Schulung und letztendlich C++. Der unterschied besteht quasi nur darin, ob man die Objektorientierung verstanden hat, was sich ja nichtmal auf die Sprache C beschränkt, sondern ein allgemeines Konzept ist. Zu Anfang meiner C Zeit hatte ich allerdings unbewusst mir schon ein C-"Framework" gebaut, dass schon ansatzweise objektorientiert war. Ich hab mir damals z.B. Strukturen mit Datenmembern und Funktionspointern gebaut, die dann die Daten manipuliert haben. Im Prinzip schon die Objektkapselung. Polymorphie und so Zeug war dabei natürlich noch nicht enthalten. Insofern finde ich eine objektorientierte Sprache für den Anfang eigentlich sogar leichter, da das Objektorientierte eher dem menschlichen Vorstellungsvermögen entspricht und allgemein eher überschaubarerer und verständlicher Code dabei rauskommt. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
KuhTee Geschrieben 23. Juni 2010 Teilen Geschrieben 23. Juni 2010 Wir lehren grundsätzlich in der Reihenfolge C->(C++/C#/Java)->PLSQL. Und genau das ist der grund, weshalb man regelmäßig gruseligsten C/C++ mischmasch code zu sehen bekommt, der einen nur noch ****en lässt. Von modernem C++ oftmals keine spur zu sehen. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
flashpixx Geschrieben 24. Juni 2010 Teilen Geschrieben 24. Juni 2010 Und genau das ist der grund, weshalb man regelmäßig gruseligsten C/C++ mischmasch code zu sehen bekommt, der einen nur noch ****en lässt. Das hast Du auch bei anderen Sprachen. Ordentlicher Quellcode ist immer von demjenigen abhängig, der ihn programmiert. Ich kenne auch ganze Module, bei denen alle Variablen global deklariert sind, von einer sinnvollen und konsequenten Benennung mal ganz zu schweigen. Ein Programmierer, der sich Gedanken über den Code macht, braucht eben auch Zeit dafür. Mal etwas Quick 'n' Dirty hinzucoden ist heute aber üblich, Hauptsache man kann ein Ergebnis vorweisen, ob es nun auch 100%ig läuft, steht auf einem anderen Blatt. C zu lernen und ann C++ für die OOP ist durchaus sinnvoll, sofern man dem "Schüler" auch klar macht, wie man dann OOP auch richtig anwendet Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Akku Geschrieben 24. Juni 2010 Teilen Geschrieben 24. Juni 2010 Und genau das ist der grund, weshalb man regelmäßig gruseligsten C/C++ mischmasch code zu sehen bekommt, Dann habe entweder ich etwas falsch gemacht oder der Azubi etwas falsch verstanden und muss zurück auf Los. Nur Syntax zu vermitteln ist durchaus suboptimal. Zur Softwareentwicklung gehört auch eine gehörige Portion Disziplin. Genau aus diesem Grund würde ich gerne zuvor Assembler lehren. Jedoch reichen dazu 3 Jahre Ausbildung nur bedingt. Außerdem ging es hier nicht darum, welche Programmiersprache die bessere Wahl ist, sondern welche zum Erlernen besser geignet ist. Wie flashpixx schon schrieb, ist es ungeheuer spannend das klickern der Gehirnzellen der Azubis förmlich zu hören, wenn Klassen anhand von struct aufgebaut werden. Langsam Schritt für Schritt. Von nativen bis zu zu komplexen Datentypen. Danach Kapselung usw. herrlich. Davon ab, ist es mir wichtig, dass Azubis die unser Unternehmen, aus welchen Gründen auch immer, verlassen und in ein anderes Umfeld gelangen, wo sie zum Beispiel alten C-Code vorfinden, professionell damit umgehen können. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.