Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!
Werbeanzeige
carli
unregistriert
Zitat von »"$nooc"«
ich bin eben bequem
Zitat von »"carli"«
C ist eine Sprache aus den frühen 70ern und beherrscht ja nichtmal das Konkatenieren von Strings......
Wenn's dir um Bequemlichkeit geht, nimm irgendwas aber kein C.
C++, Freepascal, Java, C# sind die gängigen Sprachen.
carli
unregistriert
Zitat von »"drakon"«
Und du erweckst einen falschen Eindruck. Klar ist C schon recht alt, hat aber nichts eingebüst.
Zitat
- Plattformunabhängigkeit nur auf Konsolenebene (..."für den Rest gibts Libs/Frameworks"....lol, die nutzt doch eh keiner)
Zitat
Delphi-Pascal ist maschinennaher - da weiß ich inzwischen durch jahrelange Erfahrung und Disassemblen, was genau für ein Code erzeugt werden wird und kann somit sogar handoptimierten ASM-Code ins Programm einschleusen - direkt in den Zusammenhang mit dem Rest-Code.
carli
unregistriert
Gibt es nicht - ich habs selbst disassemblet. C++ hingegen macht einen Riesen Overhead wenn ich z.B. eine Funktion aufrufe, schiebt er erstmal alle möglichen Register rum und ruft irgendwelche Funktionen auf (die ich niemals ganz durchtracen konnte) - dass nenne ich Overhead!Zitat von »"drakon"«
Wovon ich spreche ist, dass es keinen "magischen" Overhead hat, der von sonst wo kommt.
Was zum Beispiel?Zitat
Und man hat dadurch die Möglichkeit sehr viel mehr zu steuern.
Das ist so ne Frage.Zitat
Ich weiss jetzt nicht, wie das in Delphi ist, aber ist dort der generierte Code standardisiert? - Sprich, wenn jetzt ein Compiler Hersteller auf die Idee kommt etwas anderst zu lösen, als die anderen (dabei aber immer standardkonform ist) funktioniert dann dein handoptimierter Code immer noch?
hää? Mein Schicksal: Auf einem 64bit-Prozessor ging der 32bit Maschinencode nicht mehr. (bin auf Freepascal umgestiegen) - man kann sich eben aussuchen, ob man lieber ein prozessorabhängiges System programmieren will oder prozessorunabhängig bleibt. Ob es nun Linux oder Windows ist, ist dann egal.Zitat
-> Wenn nein (was ich ehrlich gesagt einmal annehme), dann ist das sicher nicht platformunabhängig.
Zitat
Und ich wiederhole mich, wenn ich sage, dass nicht jede Sprache OO sein muss. Das ist nur ebenfalls eine Technik. Eine im Moment sehr populäre, aber wer sagt denn, dass es _die_ Technik ist?
Quellcode |
|
1 |
procedure Render(obj: TObject; color:TColor); |
Quellcode |
|
1 |
procedure TObject.Render(color: TColor); |
Zitat von »"carli"«
Gibt es nicht - ich habs selbst disassemblet. C++ hingegen macht einen Riesen Overhead wenn ich z.B. eine Funktion aufrufe, schiebt er erstmal alle möglichen Register rum und ruft irgendwelche Funktionen auf (die ich niemals ganz durchtracen konnte) - dass nenne ich Overhead!
Zitat von »"carli"«
OOP ist nix andres, dass man mit Verbunddatentypen (genannt struct oder record) auch Methoden aufrufen kann. Es ist einfach eine andere Schreibweise.
carli
unregistriert
Zitat von »"dot"«
Zitat von »"carli"«
Gibt es nicht - ich habs selbst disassemblet. C++ hingegen macht einen Riesen Overhead wenn ich z.B. eine Funktion aufrufe, schiebt er erstmal alle möglichen Register rum und ruft irgendwelche Funktionen auf (die ich niemals ganz durchtracen konnte) - dass nenne ich Overhead!
Würd mich interessieren was für Code du da mit welchem Compiler getestet hast.
Nicht bei VisualStudio (bei anderen Sachen konnte ich mangels Lust, den GDB anzuschmeißen nicht nachprüfen)Zitat von »"dot"«
Funktionsaufrufe sind in C wie in C++ normalerweise ziemlich lightweight.
Zitat von »"dot"«
Zitat von »"carli"«
OOP ist nix andres, dass man mit Verbunddatentypen (genannt struct oder record) auch Methoden aufrufen kann. Es ist einfach eine andere Schreibweise.
Ich denke du verwechselst da was...
/wordZitat
Zitat:
Und man hat dadurch die Möglichkeit sehr viel mehr zu steuern.
Was zum Beispiel?
Zitat von »"carli"«
Nicht bei VisualStudio (bei anderen Sachen konnte ich mangels Lust, den GDB anzuschmeißen nicht nachprüfen)Zitat von »"dot"«
Funktionsaufrufe sind in C wie in C++ normalerweise ziemlich lightweight.
Werbeanzeige