Wofür C++ und C?
-
Undertaker schrieb:
Simon2 schrieb:
Aber wie könnte er dann der Sprache C++ einen "Strick daraus drehen" wollen ?
er wollte doch nur zeigen, welche fiesen fehler durchschnittlichen codern mit C++ passieren können, sogar bei so einer leichten aufgabe. ...
Ähhhh was soll denn an einer falsch gestellten Aufgabe "leicht" sein ?
Nach der Logik könnte ich auch "belegen", wie schwer Java ist, indem ich einem Programmierer das Schreiben von (C++)-templates oder die Nichtverwendung von garbage collecting in seine Java-Aufgabe vorschreibe...Gruß,
Simon2.
-
Alvarez schrieb:
Ahso, ok.
Ich bin ja kein blutiger Anfänger.^^
Nur mal so am Rande, hier wird oft gesagt große Projekte mit vielen Leuten ist schwer mit C++ realisierbar. In welcher Sprache werden dann große Projekte wie WoW geschrieben, ich denke mal, da arbeiten sehr viele Leute dran. Ausser Java und C++ bleibt da doch nicht viel, oder?Das kommt immer ganz auf das Projekt an, große Projekte verschlingen ungeheuer viel Ressourcen, sodass du noch mit vielen anderen Faktoren zu kämpfen hast als der Wahl der Programmiersprache. Die eigentliche Wahl der Programmiersprache erfolgt in Abhängigkeit zum Projekt, es gibt Sprachen die eignen sich für eine Aufgabe besser als andere Sprachen. Du kannst ja eine Mail an Blizzard schreiben und nachfragen was sie dazu bewogen hat C++ zu verwenden.
Allgemeines Geblubber:
Du hast geschrieben du bist "blutiger" Programmieranfänger. Ich empfehle dir als erstes ein Buch über Softwaretechnik zu lesen und versuchen die verschiedensten Konzepte zu verstehen. Du solltest wenn du die Studien intensiv betreibst auch ein Gefühl für die Herangehensweise an Probleme und deren Umsetzung in einer Programmiersprache entwickeln. Nebenbei würde ich in einen "reinen" Vertreter des jeweiligen "Paradigmas" hineinschauen, d.h. zum Anfang vielleicht C (prozedural, imperativ). Für den Einstieg in die OOP schlage ich Eiffel vor, einfach aus dem Grund das die Sprache einfach zu lernen ist und dich bei der Umsetzung von Problemen "unterstützt". Auch sind nützliche Sachen wie die Def. von Vor- und Nachbedingungen von der Sprache her vorhanden.
Wichtig ist immer kleine Projekte in der jeweiligen Sprache zu starten und durchzuziehen. Es ist auch nicht verkehrt das gleiche Projekte in verschiedenen Sprachen umzusetzen.
Wenn du dann fit in den wichtigsten Konzepten und deren Anwendung bist, wird dir das Lernen einer neuen Sprache recht leicht fallen und du wirst schnell merken was dir die Sprache bietet und welche Macken sie hat, vorausgesetzt du setzt dich intensiver mit ihr auseinander. Im Endeffekt wirst du mehrere Sprachen lernen und 1-2 Hauptsprachen haben in denen du dich wirklich gut auskennst und die dir das bieten was du suchst.
tt
PS: C++ für den blutigen Anfänger halte ich für ungeeignet.
-
Alvarez schrieb:
In welcher Sprache werden dann große Projekte wie WoW geschrieben, ich denke mal, da arbeiten sehr viele Leute dran.
soweit ich weiss, werden bei solchen programmen oft die performancekritischen teile (grafik engine etc.) in C oder C++ programmiert und alles weitere mit einer eingebetteten scriptsprache.
Mr. N schrieb:
Photoshop? Welche (einzelne) andere Sprache wäre für Photoshop denn brauchbar?
theoretisch vieles. C, assembler, etc. für irgendwelche selbstgemachten hi-speed grafikeffekte oder ein plattformunabhängiger layer über ogl, direct-x (was weiss ich, kenne mich da nicht so aus ob man das auch für 2-d bildbearbeitung ausschlachten kann), z.b. Java für das drumherum (wegen plattformunabhängigkeit). es kommt auf viele faktoren an, kernkompetenz der entwickler-crew, wie soll die software im markt plaziert werden, soll sie nur unter win laufen oder auch auf Macs und solaris workstations, fallen linzenzen an für zusatz-libraries usw...usw.. die auswahlmöglichkeiten sind heutzutage unüberschaubar.
Simon2 schrieb:
Ähhhh was soll denn an einer falsch gestellten Aufgabe "leicht" sein ?
Nach der Logik könnte ich auch "belegen", wie schwer Java ist, indem ich einem Programmierer das Schreiben von (C++)-templates oder die Nichtverwendung von garbage collecting in seine Java-Aufgabe vorschreibe...nö, ist doch ganz normal, dass in solche aufgaben fallstricke eingebaut werden. ausserdem fordert er ja nichts unmögliches und für einen erfahrenen C++ coder ist das doch ein klacks (falls die aufgabe mit C++ unlösbar wäre, hätte der tester dafür sicher auch ein ohr gehabt). man muss eben genau aufpassen und wissen, was man tut. aber, ich denke, als C++ programmierer ist man doch sowieso daran gewöhnt, ständig auf der hut zu sein. nichts anderes wollte er mit dem test abklopfen, nämlich, ob die anwender der komplexität der sprache gewachsen sind.

-
-------------------------- /| /| | | ||__|| | Trolle bitte | / O O\__ nicht | / \ füttern! | / \ \ | / _ \ \ ---------------------- / |\____\ \ || / | | | |\____/ || / \|_|_|/ | __|| / / \ |____| || / | | /| | --| | | |// |____ --| * _ | |_|_|_| | \-/ *-- _--\ _ \ // | / _ \\ _ // | / * / \_ /- | - | | * ___ c_c_c_C/ \C_c_c_c____________
-
Artchi schrieb:
-------------------------- /| /| | | ||__|| | Trolle bitte | / O O\__ nicht | / \ füttern! | / \ \ | / _ \ \ ---------------------- / |\____\ \ || / | | | |\____/ || / \|_|_|/ | __|| / / \ |____| || / | | /| | --| | | |// |____ --| * _ | |_|_|_| | \-/ *-- _--\ _ \ // | / _ \\ _ // | / * / \_ /- | - | | * ___ c_c_c_C/ \C_c_c_c____________

Wieso verteidigt Undertaker sonst hier einen 6 Jahre alten Pflaumenbeitrag einer offensichtlichen Pflaume ?
(und wieso mache ich da eigentlich mit ? Vermutlich weil Undertaker versucht, sich die in Bashars zitiertem Spiegelartikel dargestellte "Werbestrategie" zunutze zu machen .... OK, muss er halt alleine weitermachen, wenn er es unbedingt braucht)Danke für den Hinweis,
Simon2.
-
Simon2 schrieb:
Wieso verteidigt Undertaker sonst hier einen 6 Jahre alten Pflaumenbeitrag einer offensichtlichen Pflaume ?
wieso pochst du so auf das alter des beitrags? wäre der artikel gestern erschienen, würde er nicht viel anders sein. ich glaube, vor 6 jahren wurde sogar noch viel mehr in C++ programmiert als heute.

-
Undertaker schrieb:
Simon2 schrieb:
Wieso verteidigt Undertaker sonst hier einen 6 Jahre alten Pflaumenbeitrag einer offensichtlichen Pflaume ?
wieso pochst du so auf das alter des beitrags? wäre der artikel gestern erschienen, würde er nicht viel anders sein. ich glaube, vor 6 jahren wurde sogar noch viel mehr in C++ programmiert als heute.

Der Punkt, dass string und smart pointer alles beheben, was der Autor will, er aber dazu lediglich schreibt
But they only help. The fundamental problem still remains -- it is too easy to write subtly wrong code and the language is littered with booby-traps.
Wo ist da der Sinn? Zu sagen, sie helfen, aber man kann ja auch ohne!
-
Undertaker schrieb:
Alvarez schrieb:
In welcher Sprache werden dann große Projekte wie WoW geschrieben, ich denke mal, da arbeiten sehr viele Leute dran.
soweit ich weiss, werden bei solchen programmen oft die performancekritischen teile (grafik engine etc.) in C oder C++ programmiert und alles weitere mit einer eingebetteten scriptsprache.
Allerallermeistens C++ und nicht C.
Undertaker schrieb:
Mr. N schrieb:
Photoshop? Welche (einzelne) andere Sprache wäre für Photoshop denn brauchbar?
theoretisch vieles. C, assembler, etc. für irgendwelche selbstgemachten hi-speed grafikeffekte oder ein plattformunabhängiger layer über ogl, direct-x (was weiss ich, kenne mich da nicht so aus ob man das auch für 2-d bildbearbeitung ausschlachten kann), z.b. Java für das drumherum (wegen plattformunabhängigkeit). es kommt auf viele faktoren an, kernkompetenz der entwickler-crew, wie soll die software im markt plaziert werden, soll sie nur unter win laufen oder auch auf Macs und solaris workstations, fallen linzenzen an für zusatz-libraries usw...usw.. die auswahlmöglichkeiten sind heutzutage unüberschaubar.
Nein, die Auswahlmöglichkeiten sind nicht unüberschaubar. Ich will mal zu jeder einzelnen Sprache etwas sagen. (Hast du das "einzelne" eigentlich überlesen?)
C: Für ein derartig komplexes Programm wie Photoshop einfach nicht praktikabel, außerdem hat man da keine Vorteile gegenüber C++ (C und C++ sind zwar nicht kompatibel, aber man kann in C++ alles machen, was in C geht).
Assembler: Wird ja durchaus gemacht, aber wirklich nur für einige wenige zentrale Stellen und mit zunehmend besseren Compilern benötigt man das auch immer seltener. Ein weiteres Problem ist, dass Assembler.. eher nicht plattformübergreifend ist.
OpenGL: Das ist keine Programmiersprache.
Java: Programme wie Photoshop brauchen viel Speicher. Es heißt, Garbage Collection ist dann brauchbar, wenn man nicht unwesentlich mehr Speicher hat als man theoretisch benötigt. Die reinste Verschwendung... Außerdem will ich lieber gar nicht erst versuchen, komplexe Filtereffekte in Java zu implementieren.
-
LALALALA schrieb:
Der Punkt, dass string und smart pointer alles beheben, was der Autor will, er aber dazu lediglich schreibt
But they only help. The fundamental problem still remains -- it is too easy to write subtly wrong code and the language is littered with booby-traps.
Wo ist da der Sinn? Zu sagen, sie helfen, aber man kann ja auch ohne!
er sagt damit indirekt, dass C++ so ziemlich kaputt ist, aber teilweise seine eigenen reparatursets mitliefert.

-
Undertaker schrieb:
LALALALA schrieb:
Der Punkt, dass string und smart pointer alles beheben, was der Autor will, er aber dazu lediglich schreibt
But they only help. The fundamental problem still remains -- it is too easy to write subtly wrong code and the language is littered with booby-traps.
Wo ist da der Sinn? Zu sagen, sie helfen, aber man kann ja auch ohne!
er sagt damit indirekt, dass C++ so ziemlich kaputt ist, aber teilweise seine eigenen reparatursets mitliefert.

Und deswegen wird er hier ja auch als inkompetent bezeichnet.
Korrekter wäre: C++ liefert ein Auto, aber auch die Einzelteile des Autos. Man kann das Auto aber unbeschwert benutzen, und braucht keine Einzelteile zusammenzubauen.
-
struct Point { float x; float y; string name;Wer mach denn sowas, wer braucht sowas (String)?
Richtig und problemfrei muss es so aussehen:
struct stPoint { float fX; float fY; char cName[32]; }Völlig ausreichend, platzsparend und übersichtlich.
-
F98 schrieb:
*snip*
Alles falsch.
-
LALALALA schrieb:
Korrekter wäre: C++ liefert ein Auto, aber auch die Einzelteile des Autos. Man kann das Auto aber unbeschwert benutzen, und braucht keine Einzelteile zusammenzubauen.
den vergleich habe ich noch nie gehört (und kann ihn auch nicht nachvollziehen)

kannst du etwas genauer erklären, wie du das meinst?

-
Mit Undertaker braucht ihr doch eh nicht über C++ diskutieren. Er hat eben einen anderen Hintergrund. Wenn er C++ hört fragt er sich eher wie er die zusätzlichen ++ in seinen 8 Bit µC kriegen kann
Ganz zu schweigen davon, dass der Ausgang des Threads doch ohnehin klar ist und ich denke auch alles gesagt wurde.@F98
Ironie?MrN schrieb:
Es heißt, Garbage Collection ist dann brauchbar, wenn man nicht unwesentlich mehr Speicher hat als man theoretisch benötigt.
Wobei man bei Java durch Annotations und Reflections ohnehin einen weiteren Speicherbedarf hat.
-
Undertaker schrieb:
LALALALA schrieb:
Korrekter wäre: C++ liefert ein Auto, aber auch die Einzelteile des Autos. Man kann das Auto aber unbeschwert benutzen, und braucht keine Einzelteile zusammenzubauen.
den vergleich habe ich noch nie gehört (und kann ihn auch nicht nachvollziehen)

kannst du etwas genauer erklären, wie du das meinst?

string = zusammengebautes Auto
char[] = EinzelteileDu sagst:
Einzelteile = kaputtes Zeug
Auto = repariertes kaputtes ZeugMan muss schon wissen, wie man Einzelteile zusammenbaut, oder einfach gleich das Auto nehmen

-
rüdiger schrieb:
Mit Undertaker braucht ihr doch eh nicht über C++ diskutieren....Ganz zu schweigen davon, dass der Ausgang des Threads doch ohnehin klar ist und ich denke auch alles gesagt wurde.
hast ja recht, ich hab mich durch Tim's satz provozieren lassen, sorry, lasst uns schluss machen damit. bringt eh' nix.

-
rüdiger schrieb:
Mit Undertaker braucht ihr doch eh nicht über C++ diskutieren.
Och, ich bin immer neugierig, gerade auf unsinnige Meinungen.

-
Undertaker schrieb:
rüdiger schrieb:
Mit Undertaker braucht ihr doch eh nicht über C++ diskutieren....Ganz zu schweigen davon, dass der Ausgang des Threads doch ohnehin klar ist und ich denke auch alles gesagt wurde.
hast ja recht, ich hab mich durch Tim's satz provozieren lassen, sorry, lasst uns schluss machen damit. bringt eh' nix.

Ja klar. Jetzt bin ich wieder schuld

-
Kommt mir manchmal so vor, als Undertake aka Vista diese Threads selbst eröffnet. Am Ende werden es eh 30+ Seiten wo Undertaker über C++ herzieht.
Mr.N! Dafür haben wir in "Rund um die Programmierung" genug Threads, die du nachlesen kannst, was Undertaker für unsinnige Meinungen hat. Und es ist IMMER die gleiche unsinnige Meinung. Er hat wahrscheinlich einen "Anti C++ Textgenerator" in C oder Java geschrieben, und lässt ihn immer auf das Forum los.
Ich kann mich nur wiederholen: Trolle bitte nicht füttern! Der Zoo dankt für ihre Kooperation
-
Tim schrieb:
Ja klar. Jetzt bin ich wieder schuld

wenn ich so drüber nachdenke, kommt's mir fast so vor, als hättest du das mit absicht gemacht: 'wetten, dass sich gleich der blöde Undertaker meldet, wenn ich so einen satz hinschreibe'
