Programmieren lernen aber wie?

01/12/2014 03:38 snow#16
Quote:
Originally Posted by MultiHackMack View Post
Meine Meinung ist, er sollte mit leichtem Anfangen und nach und nach zu schwereren Dingen wechseln, wenn du zB ins Fitnessstudio gehst, und Gewichte hebst, dann tust du nicht sofort 300kg drauf, sondern fängst bei wenig Gewicht an und gehst immer höher. :)
Und nur weil man C++ lernt, fängt man direkt mit der Metaprogrammierung durch Templates an? if bleibt if, else bleibt else & while verhält sich in so ziemlich jeder Programmiersprache gleich. Wenn es dann zu den komplexeren Dingen kommt, hat man normal das nötige Wissen dafür bereits erworben. Und wenn man erstmal C++ kann, kann man so ziemlich jede Programmiersprache nicht nur anwenden sondern auch im Detail verstehen - frag mal nen Java-Entwickler, was ne virtuelle Funktion ist.

@lol ags own: Das Buch wird des öfteren empfohlen, es gibt sicher keinen so tiefen Einblick in die Sprache wie z.B. der C++ Primer aber für deine Zwecke sollte es reichen - nach dem Buch dürftest du wissen, ob das mit der Spieleprogrammierung etwas für dich ist. :)
01/12/2014 12:53 Delinquenz#17
Der Einstieg in C++ ist ohne Zweifel leichter als der in Java. In C++ hast du einfach die main-Funktion und du kannst sagen, dass alles, was da drin steht, von oben nach unten abgerattert wird. In Java hat mein Lehrer nachdem es nur 5en und 6en gab (außer meine Klausur) aufgegeben und macht vorerst nur noch theoretischen Unterricht.

Im Umkehrschluss kann man auch sagen, dass man so ziemlich kein Problem mehr mit anderen Programmiersprachen haben dürfte, wenn man C++ kann. Lediglich die funktionale Programmierung stellt da eine Ausnahme.
01/12/2014 14:02 dowhile#18
Quote:
In C++ hast du einfach die main-Funktion und du kannst sagen, dass alles, was da drin steht, von oben nach unten abgerattert wird.
In Java auch?
01/12/2014 14:06 .Kirataro#19
Quote:
Originally Posted by lol ags own View Post
da ich per google nicht soviele informationen herausfinden konnte.
Genau das wird dir später das größte Hindernis sein.
01/12/2014 15:10 Delinquenz#20
Quote:
In Java auch?
Du meinst die main Methode der Hauptklasse? Wenn du Funktionen willst, wo packst du sie hin? In der Klasse? Achso, wieso denn? Sowas löst dann schon die ersten Fragen aus. Die erzwungene OOP macht den Einstieg definitiv nicht leichter.
01/12/2014 15:48 James Moriarty#21
Quote:
Originally Posted by Dr. Coxxy View Post
C++ ist aber nicht schwieriger, sondern man sieht lediglich langsamer ergebnisse und konkrete aufgaben sind etwas kleinschrittiger, da die programmiersprache nicht so viel vorgibt.
Für mich klingt das nach "Du arbeitest lange um ein Ergebnis zu haben". Als Neuling bei der Programmierung will man aber nicht alle 3 Monate ein neues Programm fertig bekommen, das ist viel zu wenig Inspiration, bei VB bekommt man einfach viel schneller was fertig, die Möglichkeiten sind zwar erheblich weniger als bei C++ aber für einen Neuling kann ich VB nur empfehlen
01/12/2014 16:00 ​Tension#22
Quote:
Originally Posted by MultiHackMack View Post
Für mich klingt das nach "Du arbeitest lange um ein Ergebnis zu haben". Als Neuling bei der Programmierung will man aber nicht alle 3 Monate ein neues Programm fertig bekommen, das ist viel zu wenig Inspiration, bei VB bekommt man einfach viel schneller was fertig, die Möglichkeiten sind zwar erheblich weniger als bei C++ aber für einen Neuling kann ich VB nur empfehlen
Das ist falsch.
Der Anfang ist lediglich nicht so leicht wie bei anderen Programmiersprachen aber wenn du es erst einmal verstanden hast dann klappt das auch schneller. Außerdem hat man mit C++ viel mehr Möglichkeiten.

btw. hört mal auf C++ als eine solch schwere Sprache darzustellen.
01/12/2014 16:14 XxharCs#23
Quote:
Originally Posted by Delinquenz View Post
Der Einstieg in C++ ist ohne Zweifel leichter als der in Java.
Wenn du von 0 anfängst, egal ob Java oder C++ der Anfang ist in jeder Programmiersprache gleich. Man hat 0 Plan von der Sprache und man lernt sie halt. Wenn man nicht mit Interesse lernt, dann ist ja klar das es schwerer ist, wenn du mit Begeisterung und Interesse lernst ist das erlernen einer Programmiersprache leicht.


Quote:
Originally Posted by Delinquenz View Post
In C++ hast du einfach die main-Funktion und du kannst sagen, dass alles, was da drin steht, von oben nach unten abgerattert wird.
Und in Java ist es nicht so, was? Es wird alles von oben nach unten abgerattert, du erwartest nicht das alles von unten nach oben? Oder von der Mitte nach unten und dann nach oben? Diese Aussage finde ich lustig.


Mal nebenbei, als Java Entwickler ist man nur von dem "Hardwarenahem"(sag ich jetzt mal), also Speicher, etc. isoliert, da die JVM vieles für dich erledigt (zB.: in Java kümmert sich der Garbage Collector für die Entsorgung des Restmülls im Speicher). Und mal so, wenn man von Java auf C++ umsteigt ist dies um Meilen leichter als von C++ auf Java. Bei Java hast du die Grundlage (sozusagen) für C++, C, C#
01/12/2014 16:18 Razor'#24
Ich kenne einen Guten lehrer. Melde dich mal per PM!
01/12/2014 18:06 Delinquenz#25
Quote:
Und in Java ist es nicht so, was? Es wird alles von oben nach unten abgerattert, du erwartest nicht das alles von unten nach oben? Oder von der Mitte nach unten und dann nach oben? Diese Aussage finde ich lustig.
Dazu habe ich bereits einen Beitrag geschrieben. Ich werde mich nicht wiederholen nur um deine Leseschwäche zu kompensieren.
01/12/2014 18:11 snow#26
Quote:
Originally Posted by XxharCs View Post
Und mal so, wenn man von Java auf C++ umsteigt ist dies um Meilen leichter als von C++ auf Java. Bei Java hast du die Grundlage (sozusagen) für C++, C, C#
Und das ist der Grund, weshalb es heute noch so viel Code mit new gibt. :|

Quote:
In Java auch?
Und jetzt musst du dem verwirrten Anfänger nur noch erklären, warum er da nur statische Funktionen und Variablen verwenden kann & was denn der Unterschied zwischen static int und int ist. Java ist ja ganz nett für den OOP-Einstieg, für einen kompletten Anfänger ist da aber C++ o.ä. oder auch eine Skriptsprache (die überhaupt keinen speziellen Einstiegspunkt kennt) wahrscheinlich praktischer.
01/12/2014 18:41 dowhile#27
Quote:
Du meinst die main Methode der Hauptklasse? Wenn du Funktionen willst, wo packst du sie hin? In der Klasse? Achso, wieso denn? Sowas löst dann schon die ersten Fragen aus. Die erzwungene OOP macht den Einstieg definitiv nicht leichter.
Trotzdem wird der Code in der main()-Methode sowohl in C++ als auch in Java von oben nach unten ausgeführt.

Quote:
Und jetzt musst du dem verwirrten Anfänger nur noch erklären, warum er da nur statische Funktionen und Variablen verwenden kann & was denn der Unterschied zwischen static int und int ist. Java ist ja ganz nett für den OOP-Einstieg, für einen kompletten Anfänger ist da aber C++ o.ä. oder auch eine Skriptsprache (die überhaupt keinen speziellen Einstiegspunkt kennt) wahrscheinlich praktischer.
Um ihm zu vermitteln, dass der Code in der main()-Methode von oben nach unten ausgeführt wird muss er das nicht wissen.

Aber auch wenn er eigene Methoden haben möchte muss er den Unterschied - solange er sich für Klassen noch nicht interessiert - nicht kennen. Attribute braucht man am Anfang auch noch nicht unbedingt ...
01/12/2014 22:47 MrSm!th#28
Quote:
Und mal so, wenn man von Java auf C++ umsteigt ist dies um Meilen leichter als von C++ auf Java. Bei Java hast du die Grundlage (sozusagen) für C++, C, C#
Wie kommst du denn auf den Unfug?

Quote:
Dazu habe ich bereits einen Beitrag geschrieben. Ich werde mich nicht wiederholen nur um deine Leseschwäche zu kompensieren.
Nur dass deine Begründung absoluter Schwachsinn war. Bei Anfängern muss man immer bestimmte Dinge erstmal als gegeben erklären und hinterher erklären.
Du könntest in C++ nicht einmal ein Helloword schreiben, ohne gleich auf Klassen, Operatorüberladung, Datentypen, etc. pp. einzugehen.
Java ist für Anfänger genau so simpel wie C++, C und was nicht alles. Man fängt bei jeder imperativen Sprache ohnehin erstmal prozedural an - auch in Java.
01/13/2014 10:14 XxharCs#29
Quote:
Originally Posted by MrSm!th View Post
Wie kommst du denn auf den Unfug?
Ist ja so.
Wenn du C++ oder C nach Java lernen willst, muss man sich halt noch zusätzlich mit Pointern, eigenen Strukturen(also zB. eigene Datentypen), Speicherverwaltung und ein paar anderen(wenigen) Dingen beschäftigen und das wars eigentlich, was das wichtige angeht.

Bei C# weiß ich nicht wie es da ist, da ich mir die Sprache nicht angesehen hab.

Quote:
Originally Posted by snow911 View Post
Und das ist der Grund, weshalb es heute noch so viel Code mit new gibt. :|
Jop
01/13/2014 14:09 Schlüsselbein#30
Quote:
Wenn du C++ oder C nach Java lernen willst, muss man sich halt noch zusätzlich mit Pointern, eigenen Strukturen(also zB. eigene Datentypen), Speicherverwaltung und ein paar anderen(wenigen) Dingen beschäftigen und das wars eigentlich, was das wichtige angeht.
Das solltest du nochmal genauer ausführen. Warum genau ist es dann leichter von Java auf C++ als umgekehrt?