[Frage] Das Programmieren

04/16/2011 18:01 Bot_interesierter#16
DEV C++ ist definitiv kein Müll, man sollte aber eine neuere Version des MinGW C++ Compilers installieren bevor man es benützt, funktionieren tut die IDE jedenfalls.
Genauso wenig muss ein gutes C++ Buch etwas kosten, ich habe es zwar schon oft verlinkt aber hier nochmal:
[Only registered and activated users can see links. Click Here To Register...]
@MrSm!th
Nur weil etwas Geld kostet muss es noch lange nicht gut sein und es gibt genügend schlechte C++ Bücher und damit meine ich wirklich graußig schlechte Bücher die mieserable Praktiken propagieren, ganz zuschweigen vom gesammten coding Stil.

Wir könnten wirklich mal einen Thread gebrauchen der nicht nur die Programmiersprachen auflistet, sondern auch auf gute Bücher zu den jeweiligen Sprachen verweist.
Für C++ würde ich dazu definitiv Thinking C++ und natürlich The C++ Programming Language zählen, für absolute Programmieranfänger sind diese Bücher allerdings ziemlich schwer, jedoch kenne ich kein einziges gutes C++ Buch dass sich für Programmiereinsteiger eignen würde.
04/16/2011 19:30 Gertos#17
Ich würde nicht mit C++ anfangen.

C++ ist zwar die Sprache die man können sollte, wenn man Spiele programmieren möchte.
Aber C++ ist keine Einsteiger-Sprache. Da kann man viel zu viel falsch machen und das verdirbt einem den Spaß am lernen.

Ich halte da Java oder C# für deutlich besser.

Das Visual C# 2010 Express kann man sich bei MS kostenlos runterladen.

Und wenn du das C# beherscht kann du ja zu XNA Game Studio Express wechseln.
Das ist dann der Einstieg in die Spieleprogrammierung für Windows und die XBox360
([Only registered and activated users can see links. Click Here To Register...])

Das passende Buch zum lernen gibt es hier als kostenloses Ebook.
[Only registered and activated users can see links. Click Here To Register...]
04/16/2011 20:03 MrSm!th#18
Quote:
Originally Posted by Bot_interesierter View Post
DEV C++ ist definitiv kein Müll, man sollte aber eine neuere Version des MinGW C++ Compilers installieren bevor man es benützt, funktionieren tut die IDE jedenfalls.
Ok, entschuldige, da habe ich mal wieder IDE und Compiler zusammengefasst. Natürlich meinte ich den uralten Compiler, mit dem Dev C++ ausgeliefert wird.
Allerdings ist auch die IDE nicht gerade die beste, denkt man nur mal an die Autovervollständigung der anderen IDEs.
Also wenn, dann würde ich wxDev C++ nehmen, da diese auch das WX Framework enthält.
Quote:
Genauso wenig muss ein gutes C++ Buch etwas kosten, ich habe es zwar schon oft verlinkt aber hier nochmal:
[Only registered and activated users can see links. Click Here To Register...]
Niemand sagte, dass es etwas kosten muss. Ich habe nur die generelle Einstellung, kein Geld ausgeben zu wollen, kritisiert.
Quote:
@MrSm!th
Nur weil etwas Geld kostet muss es noch lange nicht gut sein und es gibt genügend schlechte C++ Bücher und damit meine ich wirklich graußig schlechte Bücher die mieserable Praktiken propagieren, ganz zuschweigen vom gesammten coding Stil.
Keine Frage, die gibt es. Aber angesichts der Tatsache, dass sich mehr Leute das Hochladen eines Tutorials leisten können, als das Schreiben eines Buches, unterstelle ich mal, dass es mehr schlechte Tutorials gibt.

Außerdem sagte ich nie, dass alles was kostet, auch gut ist. Und ich sagte auch nicht, dass alles, was nicht kostet, schlecht ist.
Nur muss man einfach sagen, sieht man von Warez ab, kosten wirklich gute Informationsquellen in diesem Bereich normalerweise Geld.
Reverse Engineering und Co sind nochmal was anderes, da bekommt man eher durch kostenlosen Tutorials und CrackMEs gutes Wissen und Praxiserfahrung vermittelt, aber so im Bereich Spieleprogrammierung, muss ich wirklich sagen, kamen bisher noch keine Tutorials, die ich gelesen habe, an so manche Bücher ran.
Quote:
Wir könnten wirklich mal einen Thread gebrauchen der nicht nur die Programmiersprachen auflistet, sondern auch auf gute Bücher zu den jeweiligen Sprachen verweist.
Wäre eine Idee, würde auch eventuell die Anzahl der Threads dieser Sorte verringern.
Quote:
Für C++ würde ich dazu definitiv Thinking C++ und natürlich The C++ Programming Language zählen, für absolute Programmieranfänger sind diese Bücher allerdings ziemlich schwer, jedoch kenne ich kein einziges gutes C++ Buch dass sich für Programmiereinsteiger eignen würde.
Nun, ich habe es selbst nicht gelesen, aber:

[Only registered and activated users can see links. Click Here To Register...]

Das soll wohl ganz gut für Anfänger geeignet sein und da es vom Erfinder der Sprache kommt und ich das andere Buch von ihm

[Only registered and activated users can see links. Click Here To Register...]

selbst gelesen habe und es gut fand (nur nicht so geeignet für Anfänger), denke ich mal, es wäre vielleicht auch das Geld wert.

Vielleicht ist es aber auch wirklich so, dass man erst ein Tutorial machen sollte, was einem die absoluten Grundlagen beibringt und einen gleichzeitig schon mal ein bisschen mit der Sprache konfrontiert und dann, wenn man weiß, dass man die Sprache lernen möchte, kauft man sich ein Buch.
Das versteht man dann etwas besser und es lässt normalerweise nicht die ganzen Details aus, die Tutorials auslassen (wir gehen mal von einem guten Buch aus). Außerdem, zumindest durch Stroustrups Buch, bekommt man dadurch auch einen ganz guten Stil vermittelt.
Das einzige, was man bei diesem Vorgehen nicht machen dürfte, ist sich an eventuell ungern gesehene oder schlechte Paradigmen, die man im Tutorial aufgegriffen hat, zu gewöhnen.

Quote:
C++ ist zwar die Sprache die man können sollte, wenn man Spiele programmieren möchte.
Aber C++ ist keine Einsteiger-Sprache. Da kann man viel zu viel falsch machen und das verdirbt einem den Spaß am lernen.
Wenn man die Sprache wirklich lernen möchte, dann geht das genau so wie mit C#.
Der einzige Nachteil ist, dass manche Dinge in C++ nicht ganz so komfortabel sind, wie zb. Strings, Arrays usw., trotzdem ist die Sprache nicht schwerer als C#, die Syntax ist ja sogar fast die gleiche.
04/16/2011 20:52 kaiN_92#19
Ich verstehe nicht wieso soviele Leute sagen, dass man nicht mit cpp anfangen soll...könnte mir das bitte mal jemand erklären ?
Liegt es daran, dass der Code sehr kryptisch is ?
Oder wieso seht ihr andere Sprachen als "leichter" an ?
Im Endeffekt brauch man doch für jede Sprache ein Gerüst..und dieses Gerüst muss eben sicher gelernt werden.
04/16/2011 21:21 Crossfire_User#20
C++ ist und bleibt eine der schwersten Programmierprachen und für Leute die sehr ungeduldsam sind ist es definitiv nicht die beste Entscheidung.

C++ ist sehr komplex und den Syntanx dieser Sprache finde ich persönlich auch "gewöhnungsbedürftig". Ich bin selber daran gescheitert C++ zu lernen.

Ich bin umgestiegen auf Delphi (Pascal) und finde den Syntax viel besser. Keine geschweiften Klammern usw..

Ich habe mir Delphi und C# angeeignet und bin echt zufrieden damit. Wenn du Spiele entwickeln willst ist C# eine gute Entscheidung, denn wie schon gesagt gibt es dafür XNA Game Studio 4.0 mit dem es möglich ist Xbox 360 und Pc Spiele zu entwickeln.

Mfg
04/16/2011 22:39 MrSm!th#21
Quote:
Originally Posted by kaiN_92 View Post
Ich verstehe nicht wieso soviele Leute sagen, dass man nicht mit cpp anfangen soll...könnte mir das bitte mal jemand erklären ?
Liegt es daran, dass der Code sehr kryptisch is ?
Oder wieso seht ihr andere Sprachen als "leichter" an ?
Im Endeffekt brauch man doch für jede Sprache ein Gerüst..und dieses Gerüst muss eben sicher gelernt werden.
Das sagen hauptsächlich Leute, die keine Ahnung haben oder selbst zu wenig Ergeiz hatten und deshalb früh aufgeben haben.

Quote:
Originally Posted by Crossfire_User View Post
C++ ist und bleibt eine der schwersten Programmierprachen und für Leute die sehr ungeduldsam sind ist es definitiv nicht die beste Entscheidung.
falsch, sie ist nur nicht gerade sehr komfortabel und für die meisten, die nur schnell ihre 1337 hax schreiben wollen, ist die lernkurve zu flach.
Quote:
C++ ist sehr komplex und den Syntanx dieser Sprache finde ich persönlich auch "gewöhnungsbedürftig". Ich bin selber daran gescheitert C++ zu lernen.
komplexer als c# ist es auch nicht wirklich und die syntax gleicht der von java, php, c# und vielen mehr und zwar gerade weil sich viele an eine solche syntax gewöhnt haben. im gegenteil, so eine hässliche syntax wie die von autoshit und vb sind gewöhnungsbedürftig.
Quote:
Ich bin umgestiegen auf Delphi (Pascal) und finde den Syntax viel besser. Keine geschweiften Klammern usw..
gut, das ist ansichtssache, ich weiß jetzt nicht, was an geschweiften klammern schlimm sein soll...
Quote:
Ich habe mir Delphi und C# angeeignet und bin echt zufrieden damit. Wenn du Spiele entwickeln willst ist C# eine gute Entscheidung, denn wie schon gesagt gibt es dafür XNA Game Studio 4.0 mit dem es möglich ist Xbox 360 und Pc Spiele zu entwickeln.

Mfg
Dem stimme ich zu, für die meisten kleinen Spieleprojekte muss man mittlerweile nicht mehr unbedingt C++ und DirectX drauf haben.
04/17/2011 05:07 Gertos#22
Der Nachteil von C++ ist nicht die Syntax, sonderen die Tatsache das man sehr viele Fehler machen kann!

Beispiel:
In C++ muss man jeden Speicher den man belegt auch wieder selber freigeben.
Wenn man das nicht macht, bleibt der Speicher bis zum ende des Programms belegt.

In C#/Java gibt es dafür einen garbage collection, der einem die Arbeit abnimmt.
Es wird intern für jede variable ein Referenz-Zähler geführt. Wenn der auf '0' geht wird der Speicher von selbst wieder freigegeben.


In C++ kann man sehr schnell mit Pointern die Daten im Arbeitsspeicher verändern.
Man kann, wenn man sich dabei vertut aber auch ganz andere Variablen verändern.
(Wenn man in seinem INT* Pointer einen UINT speicher, gibt es eine Überraschung bei negativen Zahlen. Wenn man da ein Long speichert; wird gleich die Variable dahinter verändert.)

C#/Java sind beide sehr Typsicher. Die erkennen solche Fehler und verhindern es schon beim kompilieren. Ebenfals gibt es im normalen Modus keine Pointer.
( Im /unsafe Mode von C# kann man Pointer jedoch wieder benutzten)

Hier wird man durch C#/Java zwar etwas eingeschränkt beim programmiren; bekommt dadurch jedoch deutlich weniger Bugs in sein Program.
Und wer schon mal 2 Tage noch abstürzen in fremden C++ Programmen gesucht hat, wird die Vorteile von den moderen Sprachen zu schätzen wissen.


Das pure C++ bringt auch kaum eigene Funktionen mit sich.
Die muss man sich oft erst über 3rd Party Bibliotheken oder in der OS API zusammen suchen.

Bei C#/Java gibt es ein riesiges Framework mit vorgefertigen Klassen die eigentlich keine Wünsche offen lassen.
Ein XML-Parser, MD5 Berechnung ; Downloaden einer Datei via HTTPS ... das sind in C#/Java oft nur 3 Zeilen Code. In C++ kann man erstmal kucken wie man sowas hinbekommt.

Wenn ich die Wahl habe etwas in C++ oder C# zu schreiben, würde ich derzeit immer C# benutzten.
04/17/2011 05:58 Nicklas1971#23
Was ich dem TE rate ist das du auf jeden Fall Englisch brauchst um vieles zu verstehen. Es gibt halt nicht alles auf Deutsch, denn leider sind die meisten Programmiersprachen am internationalen Englisch angelehnt.

Ich habe auch mit C# angefangen und habe mir damals das Buch von Markt und Technik besorgt. Eine Investition die sich mal lohnt. Du kannst auch erstmal in die Stadtbücherei gehen und es dir ausleihen und lesen und wenn du merkst du kommst damit zurecht kann man es sich schenken lassen zu Ostern, Geburtstag oder Weihnachten. Es gibt auch noch eins aus der Serie ".... für Dummies". Auch hier erstmal in der Bücherei nach fragen und ausleihen. Ums lesen wirst du nicht herum kommen, egal ob im Web oder in einem Buch.

Der Hinweis zu XNA Game Studio 4.0 ist auch recht gut, denn so verbindest du das was du vorhast am besten. Es gibt aber auch noch andere Game Projekte und Software einfach mal googlen.
04/17/2011 20:21 MoepMeep#24
Quote:
Originally Posted by kaiN_92 View Post
Ich verstehe nicht wieso soviele Leute sagen, dass man nicht mit cpp anfangen soll...könnte mir das bitte mal jemand erklären ?
Liegt es daran, dass der Code sehr kryptisch is ?
Oder wieso seht ihr andere Sprachen als "leichter" an ?
Im Endeffekt brauch man doch für jede Sprache ein Gerüst..und dieses Gerüst muss eben sicher gelernt werden.
Tjo, manche Leute schreiben halt gerne Romane und lassen sich die ganze Arbeit durch irgendwelche Frameworks etc abnehmen :>
04/17/2011 20:38 MrSm!th#25
Quote:
Originally Posted by Gertos View Post
Der Nachteil von C++ ist nicht die Syntax, sonderen die Tatsache das man sehr viele Fehler machen kann!

Beispiel:
In C++ muss man jeden Speicher den man belegt auch wieder selber freigeben.
Wenn man das nicht macht, bleibt der Speicher bis zum ende des Programms belegt.

In C#/Java gibt es dafür einen garbage collection, der einem die Arbeit abnimmt.
Es wird intern für jede variable ein Referenz-Zähler geführt. Wenn der auf '0' geht wird der Speicher von selbst wieder freigegeben.


In C++ kann man sehr schnell mit Pointern die Daten im Arbeitsspeicher verändern.
Man kann, wenn man sich dabei vertut aber auch ganz andere Variablen verändern.
(Wenn man in seinem INT* Pointer einen UINT speicher, gibt es eine Überraschung bei negativen Zahlen. Wenn man da ein Long speichert; wird gleich die Variable dahinter verändert.)

C#/Java sind beide sehr Typsicher. Die erkennen solche Fehler und verhindern es schon beim kompilieren. Ebenfals gibt es im normalen Modus keine Pointer.
( Im /unsafe Mode von C# kann man Pointer jedoch wieder benutzten)

Hier wird man durch C#/Java zwar etwas eingeschränkt beim programmiren; bekommt dadurch jedoch deutlich weniger Bugs in sein Program.
Und wer schon mal 2 Tage noch abstürzen in fremden C++ Programmen gesucht hat, wird die Vorteile von den moderen Sprachen zu schätzen wissen.
Hab ich doch schon gesagt, C++ ist keinesfalls sicherer oder komfortabler, aber genau so leicht zu lernen!
Quote:
Das pure C++ bringt auch kaum eigene Funktionen mit sich.
Die muss man sich oft erst über 3rd Party Bibliotheken oder in der OS API zusammen suchen.

Bei C#/Java gibt es ein riesiges Framework mit vorgefertigen Klassen die eigentlich keine Wünsche offen lassen.
Ein XML-Parser, MD5 Berechnung ; Downloaden einer Datei via HTTPS ... das sind in C#/Java oft nur 3 Zeilen Code. In C++ kann man erstmal kucken wie man sowas hinbekommt.

Wenn ich die Wahl habe etwas in C++ oder C# zu schreiben, würde ich derzeit immer C# benutzten.
1. s.o.
2. Das ist wahr, das liegt daran, dass der Standard für C++ möglichst kompakt gehalten werden sollte, Java und C# haben es ja auch nicht als Teil der Syntax, sondern in einer großen standardisierten Bibliothek.
Außerdem sagte ich nie, dass man C++ bevorzugen sollte. C# ist wesentlich komfortabler, natürlich nutzt man für die meisten Zwecke heutzutage eher C# als C++. Ich habe lediglich gesagt, dass C++ auch nicht schwerer zu lernen ist.
04/18/2011 14:36 Prestino#26
Quote:
Originally Posted by Crossfire_User View Post
C++ ist und bleibt eine der schwersten Programmierprachen und für Leute die sehr ungeduldsam sind ist es definitiv nicht die beste Entscheidung.

C++ ist sehr komplex und den Syntanx dieser Sprache finde ich persönlich auch "gewöhnungsbedürftig". Ich bin selber daran gescheitert C++ zu lernen.

Ich bin umgestiegen auf Delphi (Pascal) und finde den Syntax viel besser. Keine geschweiften Klammern usw..

Ich habe mir Delphi und C# angeeignet und bin echt zufrieden damit. Wenn du Spiele entwickeln willst ist C# eine gute Entscheidung, denn wie schon gesagt gibt es dafür XNA Game Studio 4.0 mit dem es möglich ist Xbox 360 und Pc Spiele zu entwickeln.

Mfg
schonmal deinen benutzertitel gelesen ? :p

Würde auch mit c++ anfangen, und dann mit vs express ;)
04/18/2011 19:08 MrSm!th#27
Quote:
Originally Posted by EpicF4ilx3 View Post
schonmal deinen benutzertitel gelesen ? :p

Würde auch mit c++ anfangen, und dann mit vs express ;)
1. was hat das mit dem thema zutun?
2. vs express ist keine sprache, sondern eine ide
04/18/2011 19:21 Prestino#28
Quote:
Originally Posted by MrSm!th View Post
1. was hat das mit dem thema zutun?
2. vs express ist keine sprache, sondern eine ide
1. Garnichts, aber er hat sich so failig wiedersprochen :rolleyes:
2. Meinte ich auch -.-
04/23/2011 18:45 |NeoX#29
Quote:
Originally Posted by EpicF4ilx3 View Post
1. Garnichts, aber er hat sich so failig wiedersprochen :rolleyes:
2. Meinte ich auch -.-
Du gibst Ihm ein " -.- " für DEINE Unfähigkeit die deutsche Grammatik zu benutzen?

Da nimm ein "-.-" von mir -.-