[U] Mit welcher Programmiersprache programmiert ihr?

06/22/2013 03:06 Czer0™#31
C++. Leistungsstarke und effiziente Sprache. Syntax ist zwar etwas ungewöhnlich, aber man gewöhnt sich schnell dran. ;)
06/22/2013 14:00 Methodman.#32
C, C++ & Python.
06/22/2013 14:26 MrSm!th#33
Quote:
Originally Posted by マルコ View Post
aso... und in C++ sind die Objekte also einfach... da. Natürlich musst du auch in C++ Speicher allocieren. Sonst wird das nix.
Nope.
Quote:
Und dass ich den parent constructor extra aufrufen muss empfinde ich persönlich als VORTEIL.
Warum? Wenn du keine Automatismen magst, warum dann kein ASM?
Quote:
Windows Philosophie ist: Alles zusammenpacken, nix re-usen. Wieso sollte man da irgendwo abweichen? Delphi macht das ganz toll von Natur aus. Da musst du nicht extra Arbeit rein stecken.
Inwiefern?
Quote:
Originally Posted by マルコ View Post
aha, und wozu gibt es dann new?
Code:
Foo bar = new Foo();
New verwendet man in gutem C++ eher selten und wenn, dann steckt man es sofort in einen Smartpointer.
06/22/2013 18:58 マルコ#34
Und wenn ich keinen Speicher hab, wo soll das Objekt dann sein? Ein Objekt ist im Speicher, also muss dort Platz reserviert werden. BASTA. Und ob du nun dein Objekt mit new erzeugst oder einfach wie ne Variable mit Klammern dran oder wie auch immer, du allocierst immer Speicher. Ich glaub zwar nicht, dass du das nicht weißt, aber so wie du das schreibst, lässt sich das kaum anders interpretieren.

Wieso soll ich auf eine so niedrige Sprache zurück greifen? Wieso darf ich bei einer Hochsprache nicht etwas weniger Automatismen verlangen können?

Man verwendet new auch in gutem C++. So wie du es sagst. Und wenn es nur beim Erstellen von SmartPointern ist.
Also stimmst du mir doch zu, dass man Speicher reservieren muss?
06/22/2013 19:52 Dr. Coxxy#35
Quote:
Originally Posted by マルコ View Post
Man verwendet new auch in gutem C++. So wie du es sagst. Und wenn es nur beim Erstellen von SmartPointern ist.
Also stimmst du mir doch zu, dass man Speicher reservieren muss?
diese speicherreservierung wird aber automatisch vom compiler vorgenommen, ohne dass man dafür extra code schreiben müsste.
Außerdem stimmt es nicht immer, dass objekte immer speicher verbrauchen, temporäre objekte können durchaus von dem compiler rausoptimiert werden, desweiteren werden lokale objekte normalerweise auf dem stack allokiert, was idr. ein gutes stück schneller geht.
06/22/2013 20:02 Master674b#36
Quote:
Originally Posted by Dr. Coxxy View Post
diese speicherreservierung wird aber automatisch vom compiler vorgenommen, ohne dass man dafür extra code schreiben müsste.
Außerdem stimmt es nicht immer, dass objekte immer speicher verbrauchen, temporäre objekte können durchaus von dem compiler rausoptimiert werden, desweiteren werden lokale objekte normalerweise auf dem stack allokiert, was idr. ein gutes stück schneller geht.
Und mit Delphi so überhaupt gar nicht möglich ist.
Aufm Stack ists nur eine einzige sub esp, x bzw add esp, -x Instruktion und ein ctor call der eventuell sogar super inlined wird :p
06/22/2013 21:41 マルコ#37
soso, und jezz ziehen wir uns auf Compilerfähigkeiten zurück...
Ich hab nie behauptet, dass der Delphi Compiler der beste Compiler wäre und die performantesten Anwendungen ausspucken würde.
Das brauch ich auch nicht. Zumindest meistens nicht, weil man den geringen Unterschied einfach nicht merkt. Deshalb verwende ich auch für entsprechende Anwendungen C++.
Trotzdem bleibt Delphi meine Lieblingssprache. Allein wegen der Sprache - nicht wegen irgendwelchen tollen Compiler Geschichten, wegen der Verbreitung oder weil es die supertollesten neuesten Ideen drin hat..
06/22/2013 23:39 Cencil#38
Dudes ist doch gut.

Jeder wie er es mag. Ich arbeite schon so lange mit Delphi das ich mich gar nicht mal so schnell umgewöhnen möchte, habe damit mein Geld verdient, das ist alles was für mich zählt. Syntax häßlich, unkomfortabel hin oder her - man kann sich daran gewöhnen. Bisher konnte mich all meine Wünsche ohne Probleme realisieren, wie dann am Ende aussieht ist natürlich wieder so ne Sache. Im Grunde bekommt der Endverbraucher von all dem eh nicht sonderlich viel mit.

Als Jahrelanger Delphi Programmierer schaut man natürlich schon mal neidisch rüber zur C++ Fraktion, keine Frage. So lange man Spaß an der Sache hat, seine Zeil erfüllen kann und die Anwendung einen hoch qualitativen Eindruck (sofern sie weitergegeben wird) macht sollte es egal sein, welche Sprache dahinter steckt.

Die Diskussion könnte man ansonsten noch endlos lange fortführen.

just my.. ihr wisst schon.
06/23/2013 09:32 MrSm!th#39
Quote:
Originally Posted by マルコ View Post
Und wenn ich keinen Speicher hab, wo soll das Objekt dann sein? Ein Objekt ist im Speicher, also muss dort Platz reserviert werden. BASTA. Und ob du nun dein Objekt mit new erzeugst oder einfach wie ne Variable mit Klammern dran oder wie auch immer, du allocierst immer Speicher. Ich glaub zwar nicht, dass du das nicht weißt, aber so wie du das schreibst, lässt sich das kaum anders interpretieren.

Wieso soll ich auf eine so niedrige Sprache zurück greifen? Wieso darf ich bei einer Hochsprache nicht etwas weniger Automatismen verlangen können?

Man verwendet new auch in gutem C++. So wie du es sagst. Und wenn es nur beim Erstellen von SmartPointern ist.
Also stimmst du mir doch zu, dass man Speicher reservieren muss?
Die Diskussion handelte darüber, dass man offenbar in Delphi jedes Objekt mit einem Create Aufruf nach der Deklaration erzeugen muss. Mit nem Standardctor ist das in C++ eben nicht notwendig, basta.

Ja, im Falle von new (nein, die meisten Fälle lassen sich anders lösen) reserviert man. Dann ist es ja auch eine Allokation auf dem Heap. Die muss man logischerweise vom System anfordern. Das heißt aber nicht, dass es in C++ allgemein notwendig ist.
Inwiefern die Aussage stimmt, dass man in Delphi auch immer einen Destruktor callen muss, weiß ich nicht. In C++ ist dies jedenfalls auch nicht notwendig.
Quote:
Originally Posted by マルコ View Post
soso, und jezz ziehen wir uns auf Compilerfähigkeiten zurück...
Ich hab nie behauptet, dass der Delphi Compiler der beste Compiler wäre und die performantesten Anwendungen ausspucken würde.
Das brauch ich auch nicht. Zumindest meistens nicht, weil man den geringen Unterschied einfach nicht merkt. Deshalb verwende ich auch für entsprechende Anwendungen C++.
Trotzdem bleibt Delphi meine Lieblingssprache. Allein wegen der Sprache - nicht wegen irgendwelchen tollen Compiler Geschichten, wegen der Verbreitung oder weil es die supertollesten neuesten Ideen drin hat..
Und ich bin Moeps Lieblingsmod. Nicht weil ich irgendwas kann, sondern einfach so.

Quote:
Jeder wie er es mag. Ich arbeite schon so lange mit Delphi das ich mich gar nicht mal so schnell umgewöhnen möchte, habe damit mein Geld verdient, das ist alles was für mich zählt. Syntax häßlich, unkomfortabel hin oder her - man kann sich daran gewöhnen. Bisher konnte mich all meine Wünsche ohne Probleme realisieren, wie dann am Ende aussieht ist natürlich wieder so ne Sache. Im Grunde bekommt der Endverbraucher von all dem eh nicht sonderlich viel mit.

Als Jahrelanger Delphi Programmierer schaut man natürlich schon mal neidisch rüber zur C++ Fraktion, keine Frage. So lange man Spaß an der Sache hat, seine Zeil erfüllen kann und die Anwendung einen hoch qualitativen Eindruck (sofern sie weitergegeben wird) macht sollte es egal sein, welche Sprache dahinter steckt.
Ich wollte keinesfalls irgendwem Delphi ausreden. Ich hab mich eigentlich erst eingeschaltet, als hier dubiose Aussagen über Speicherverwaltung bzw. Initialisierung getätigt wurden. Ich habe keine Erfahrung mit Delphi und erlaube mir gar nicht, darüber zu urteilen.
06/23/2013 12:55 dowhile#40
Java. Wo man ein Objekt übrigens auch mit einem "new" erstellt und deswegen meilenweit C++ unterliegt. :-)
06/26/2013 05:13 Delinquenz#41
C++. Wo einem immer noch nachgesagt wird, man müsse seinen Speicher verwalten :D
06/27/2013 17:54 Master674b#42
Quote:
Originally Posted by Delinquenz View Post
C++. Wo einem immer noch nachgesagt wird, man müsse seinen Speicher verwalten :D
Du musst eigentlich nur noch aufpassen, dass der smart pointer nicht irgendwie so verwickelt wird, dass er sich selbst referenziert :D Ansonsten kann ich auch sagen ich fühl mich wie mit nem Garbage Collector seit ich smart pointer benutze.
06/28/2013 02:45 MrSm!th#43
Quote:
Originally Posted by Master674b View Post
Du musst eigentlich nur noch aufpassen, dass der smart pointer nicht irgendwie so verwickelt wird, dass er sich selbst referenziert :D Ansonsten kann ich auch sagen ich fühl mich wie mit nem Garbage Collector seit ich smart pointer benutze.
shared_ptr ist auch nicht immer die richtige Option.
Allgemein kann man sich dank der STL auch Smartpointer häufig sparen. Verwendet man dann noch ScopeGuards und programmiert auch selbst konsequent nach dem RAII Prinzip, hat man mehr Automation als in Java.
06/28/2013 10:00 nico_w#44
Delphi, C++, C, ASM, Python und PHP..
Hauptsächlich Delphi und C++, kenne noch einige andere Sprachen, nutze die jedoch so gut wie nie (ASM mal außen vor gelassen, wegen Reversing etc.)
06/28/2013 10:39 BlackWu#45
C#, versuche mich aber grade an Java.