Fragen zu C und C++

C++ unterstützt so ziemlich jedes (oder jedes?) Programmier-Paradigma und es gibt sehr gute Entwicklungswerkzeuge. Daher natürlich C++ bei der Wahl zwischen C und C++.

Ich würde dir allerdings zum Anfang bzw. Parallel eine Skriptsprache wie Python empfehlen. Es kann nämlich sehr frustrierend sein aufgrund von häufigen Compilier-Vorgängen nicht vom Fleck zu kommen.
 
Ich find das so krass, es ist besser ein Buch in komplett deutsch zu lesen als in komplett Englsich...ist einfach verständlicher. Das wiederrum heißt NICHT das ich kein Englisch kann, ihc kann sehr gut Englsich und ich weiß auch (!) das man gute Englischkenntnisse benötigt um C++ zu lernen oder andere Sprachen (jedenfalls ist es vorteilhaft). Habe mir mal das Buch "Der C++ Programmierer" bestellt.

http://www.amazon.de/Programmierer-lernen-Professionell-anwenden-Lösungen/dp/3446416447

Kennt das zufällig jemand?
 
Richtig. Erst kaufen, dann fragen ob es jemand kennt.
 
Ihr seit ja nicht die einzigsten die ich frage oder? Und außerdem habe ich zuvor schon gefragt also kannst du das unterlassen.
 
@Schroeerg: nochmals, schaue in deine alten Threads. Dort wurden dir bereits Bücher empfohlen. Wieso machst du ständig einen neuen Thread zu diesem Thema auf. Das kommt schon ein wenig ignorant rüber!
 
antred schrieb:
Ohne jetzt wieder einen Glaubenskrieg auslösen zu wollen, was genau findet ihr Java-Befürworter denn eigentlich so viel besser als am "Oldie" C++? Ich höre da immer wieder das Argument:

"Na Garbage Collection natürlich!"

aber, jetzt da die boost-Library shared_ptr bietet (und dies bei einigen modernen Compilern sogar selbst ohne boost schon im Lieferumfang enthalten ist), zieht dieses Argument eigentlich nicht mehr. Was ist also an Java so viel moderner als an C++?

Meiner Meinung nach gibt es sicherlich Sprachen, die 'moderner' und eleganter sind als C++, aber Java fällt für mich eher nicht in diese Kategorie.

Och Du, ... nix ... Ich habe das eher so salopp gemeint. Mir persönlich ist C++ weitaus lieber als die ganze Java- ähm ...! Ich bin da schwer geschädigt. Ich muss diverse Programme supporten die eher unsauber in Java geschrieben wurden.

Mir gefällt an Java, dass es Plattformübergreifend ist.
Negativ ist, dass man eine JVM benötigt == Geschwindigkeitseinbussen!
Und den automatisierten Mülleinsammler ... da decken wir besser den Mantel des Schweigens drüber. (Wer seinen eigenen Müll nicht selbst sauber machen kann/will sollte sich auf die Müllabfuhr nicht unbedingt werlassen. Das kann schief gehen. ... und tut es meist auch.)

Kurz: Wenn man es richtig macht, ist's super. WENN!
Ergänzung ()

Schroeerg schrieb:
Ich find das so krass, es ist besser ein Buch in komplett deutsch zu lesen als in komplett Englsich...ist einfach verständlicher.

???
Eine Übersetzung kann niemals so klar sein wie das ursprünglich Geschriebene.
 
Da ich selber zurzeit Programmieren lerne, kan ich dir sagen das mit C anfangen und mit c++ weitermachen gut ist. Wenn du mit C anfängst kannste die Basics lernen. später dann C++ is einfach neuer und teilweise einfacher :D. Aber dann wenn du Erfahrungen gesammelt hast und C++ verstehst und kannst, mach mit C# oder Java weiter.
 
Unnu schrieb:
Negativ ist, dass man eine JVM benötigt == Geschwindigkeitseinbussen!

Was nicht unbedingt stimmen muss.
In der Schule haben wir in C eine verkettete Liste implementiert und diesen Code in Java portiert. Die Geschwindigkeit beider Programme unterschied sich erst bei über 10.000 Zugriffen auf die Liste.
Java ist schon durchaus in der Lage, an die Geschwindigkeiten von C ranzukommen.
Sicher, durch die JVM kann man nicht 100%ig die Geschwindigkeit von C erreichen, aber der Unterschied kann durchaus so minimal sein, dass er vernachlässigbar ist.
 
Whiz-zarD schrieb:
Die Geschwindigkeit beider Programme unterschied sich erst bei über 10.000 Zugriffen auf die Liste.

10.000 ist keine sehr große Zahl, mag für kleine Übungsprogramme aber reichen.
Aber schau dir zum Beispiel mal Minecraft an. Wenn du (ziemlich geringe Sichtweite) nur in jede Richtung 50 Blöcke (Meter) betrachtest sind das schon 100^3 = 1.000.000 Blöcke. Da macht das ganz schnell mal einen Unterschied.

(Ja, natürlich werden die effizienter gespeichert als in einer verketteten Liste. Soll nur mal die Größenordnungen verdeutlichen)
 
Zuletzt bearbeitet:
Und dennoch ist Minecraft performant genug, obwohl es mit Java programmiert wurde, und zum Teil sogar sehr unsauber programmiert wurde. Für Minecraft ist es vielleicht wenig. Für andere Bereiche ist es mehr als Ausreichend.
 
also ich fand "C++ für Spieleprogrammierer" von Heiko Kalista sher gut/verständlich. Hat natürlich nichts mit Spieleprogrammierung zu tun (ausser am ende...da schreibt man ein kleines spielchen). kostet mit 35 euro auch nicht diiiie Welt ;).
 
Minecraft hat so einige Probleme, das würde ich wirklich nicht als "performant genug" bezeichnen.

... edit: siehe unten ...
 
Zuletzt bearbeitet:
Welche Software hat keine Probleme?
Und das, was Minecraft leistet, finde ich es durchaus Performant.
Schreib du mal so eine Engine, die per Zufall eine riesige Landschaft generiert.
 
Zuletzt bearbeitet:
Ich kann den Rückschluss von einem konkret implementierten Projekt auf die (schlechte) Performance einer Sprache nicht nachvollziehen. Programmierer sind nicht unfehlbar und Teams von Programmierern schon gar nicht.
Abgesehen davon ist Performance nicht alles was zählt, bei der Wahl der Sprache.
 
Um diesen Rückschluss ging es mir auch garnicht, war blöd von mir nochmal so zu antworten.

Das Beispiel sollte eigentlich (unabhängig von der Sprache in der das Spiel implementiert ist) nur zeigen, dass Anzahlen, die um ein vielfaches größer sind als 10.000 leicht auftreten können und es somit durchaus nicht unerheblich ist wenn ein Unterschied schon (!) bei 10.000 Elementen messbar ist.
 
Zurück
Oben