AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

warum C++ statt Delphi?

Ein Thema von stahli · begonnen am 24. Dez 2012 · letzter Beitrag vom 10. Jan 2013
Antwort Antwort
Seite 1 von 2  1 2   
Benutzerbild von BMI
BMI

Registriert seit: 16. Jul 2010
58 Beiträge
 
Delphi 2 Desktop
 
#1

AW: warum C++ statt Delphi?

  Alt 25. Dez 2012, 06:53
Frohe Weihnachten allen!
Oder zumindest Frohe Fest/Feier*/Frei-tage!

mhh, ich dachte immer, daß c++ aufgrund der differenzierteren Aufteilung der Spachelemente in Libraries noch effizienteren und einen Tacken schneller laufenden Code produzieren kann.
Noch schneller sei/ist wohl nur C - und darüber geht wohl nur Prozessor optimierter Assemblercode -
wobei bei C ja da noch ermöglicht schneller komplexere Programme (wie modernere Betriebssysteme außer UNIX) schneller zu erstellen.

Obwohl es sogar GUIbasierte Dateimanager für DOS in Assembler gab, setzt man ASM denk ich heute nur noch für kürzere Spezialcodestücke, die wenig Zeilen INLINE CODE aber maximale Effizienz brauchen ein (10-100 Zeilen)

Dafür ist das Schreiben in C fehleranfälliger als C++.

Und JAVA - der Compiler bringt doch auch in Maschinensprache übersetzten Code hervor, der auf ausgelagerte, vorgefertigte compilierte Funktionen zurückgreift - ähnlich DLLs - nur permanent eben.
Das ist doch keine Scriptsprache. Javascript - das is für den Browser.
Aber das Klassen/Funktionensystem hat mir 1992 schon nicht gefallen. fand ich persönlich ekelhaft anzuwenden. Aber das kann man nicht generalisieren.

C/c++ war mir leider zu zeitaufwendig zu lernen und damals gab es noch kein bezahlbares Internet.

Bin von Quickbasic (1993) über VB5 (1997) direkt zu Delphi 3(2002).
eine Signatur? - in 2022? - WOZU ?!!!
  Mit Zitat antworten Zitat
Benutzerbild von Aphton
Aphton

Registriert seit: 31. Mai 2009
1.198 Beiträge
 
Turbo Delphi für Win32
 
#2

AW: warum C++ statt Delphi?

  Alt 25. Dez 2012, 07:18
Ich kenn mich mit Java noch nicht so gut aus (muss es jedoch wegen Uni lernen >/), aber man kann angeblich Codebereiche definieren, die zur Laufzeit nicht interpretiert sondern richtig kompiliert und ausgeführt werden.
Das hat sicher nen Namen, mag es mir jemand verraten? ^_^
Habs, JIT
das Erkennen beginnt, wenn der Erkennende vom zu Erkennenden Abstand nimmt
MfG
  Mit Zitat antworten Zitat
Benutzerbild von Memnarch
Memnarch

Registriert seit: 24. Sep 2010
737 Beiträge
 
#3

AW: warum C++ statt Delphi?

  Alt 26. Dez 2012, 13:51
Ich kenn mich mit Java noch nicht so gut aus (muss es jedoch wegen Uni lernen >/), aber man kann angeblich Codebereiche definieren, die zur Laufzeit nicht interpretiert sondern richtig kompiliert und ausgeführt werden.
Das hat sicher nen Namen, mag es mir jemand verraten? ^_^
Habs, JIT
Falsch(Huch..sind da meine Lehrer an der Berufsschule mal mehr up2date o.O?!)
In Java(Zumindest auf den gängigen Platformen Win/Linux/Mac) wird der KOMPLETTE JavaBytecode per Jitcompiler zur laufzeit auf den Prozessor compiliert. Interpretiert wird da gar nichts mehr .

Java ist schon wirklich sehr schnell geworden. Das einzige was hier noch performance killen KÖNNTE wäre dieser Java-Wahn der zigfachen verschachtelten Abstraktion bevor auch nur ein hauch von Implementierung zu erkennen ist. Das ist so ziemlich das einzige was mich an Java tierisch nervt!
Da man Trunc nicht auf einen Integer anwenden kann, muss dieser zuerst in eine Float kopiert werden
  Mit Zitat antworten Zitat
Benutzerbild von Aphton
Aphton

Registriert seit: 31. Mai 2009
1.198 Beiträge
 
Turbo Delphi für Win32
 
#4

AW: warum C++ statt Delphi?

  Alt 26. Dez 2012, 14:00
Ich kenn mich mit Java noch nicht so gut aus (muss es jedoch wegen Uni lernen >/), aber man kann angeblich Codebereiche definieren, die zur Laufzeit nicht interpretiert sondern richtig kompiliert und ausgeführt werden.
Das hat sicher nen Namen, mag es mir jemand verraten? ^_^
Habs, JIT
Falsch(Huch..sind da meine Lehrer an der Berufsschule mal mehr up2date o.O?!)
In Java(Zumindest auf den gängigen Platformen Win/Linux/Mac) wird der KOMPLETTE JavaBytecode per Jitcompiler zur laufzeit auf den Prozessor compiliert. Interpretiert wird da gar nichts mehr
Uhm, joa, ich habs mir ja nur ergoogelt bzw. bei Wikipedia nachgelesen.
Ich wusste nicht, dass das der Fall war, also dass alles kompiliert anstatt interpretiert wird. Hmmm.
das Erkennen beginnt, wenn der Erkennende vom zu Erkennenden Abstand nimmt
MfG
  Mit Zitat antworten Zitat
Insider2004
(Gast)

n/a Beiträge
 
#5

AW: warum C++ statt Delphi?

  Alt 26. Dez 2012, 14:59
Ich mag Programmiersprachen, wo genau das da steht, was dann auch gemacht wird und man nicht erst Knoten im Hirn bekommt. C und Java zählen da wohl nicht dazu. Was bei Java unheimlich nervt sind die grossen Einrückungen und die unübersichtlichen Klassendeklarationen. Bei C sind es die Trennnung von .h und .c. Man hat alles doppelt und man weiss nie, wo man zuerst nachschauen muss.
  Mit Zitat antworten Zitat
Furtbichler
(Gast)

n/a Beiträge
 
#6

AW: warum C++ statt Delphi?

  Alt 26. Dez 2012, 19:02
Was bei Java unheimlich nervt sind die grossen Einrückungen und die unübersichtlichen Klassendeklarationen.
Das beweist deine außerordentliche Fachkenntnis und Erfahrung (ebenso, wie der Quatsch mit der höheren Produktivität von Delphi-Programmierern).
Also:
1. "große Einrückungen" sind keine Eigenschaft der Sprache, sondern des Programmierers bzw. der verwendeten Code Formatting Convention.
In Delphi benötigt man nach gängiger Praxis 2x2 Einrückungseinheiten, schau mal:
Delphi-Quellcode:
if foo then
  begin
    bar;
  end
Java dagegen nur 2 (gängige Praxis)
Code:
if( foo ) {
  bar();
}
Also, wenn Du schon so argumentierst, dann müsstest Du ja bei Delphi kotzen...

2. "unübersichtliche Klassendeklarationen" sind Geschmacksache und (vor allen Dingen) eine Sache der Gewohnheit. Also bei C/C++ gebe ich Dir Recht, aber bei Java nicht.
  Mit Zitat antworten Zitat
Benutzerbild von Chemiker
Chemiker

Registriert seit: 14. Aug 2005
1.859 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: warum C++ statt Delphi?

  Alt 26. Dez 2012, 19:45
Hallo,

ich finde C++/ C und Delphi sind zwei tolle Sprachen.

Man muss mit C++ etwas mehr Kommentare schreiben und sollte auch nicht die Lesbarkeit bis zum Letzten ausreizen und produktiv kann man genauso wie in Delphi sein, da gibt es eigentlich nicht einen so großen Unterschied.

Bis bald Chemiker
wer gesund ist hat 1000 wünsche wer krank ist nur einen.
  Mit Zitat antworten Zitat
Insider2004
(Gast)

n/a Beiträge
 
#8

AW: warum C++ statt Delphi?

  Alt 26. Dez 2012, 19:49
Deine Beispiele Zeigen mir, dass du das Thema voll erfasst hast.

Was bei Java unheimlich nervt sind die grossen Einrückungen und die unübersichtlichen Klassendeklarationen.
Das beweist deine außerordentliche Fachkenntnis und Erfahrung (ebenso, wie der Quatsch mit der höheren Produktivität von Delphi-Programmierern).
Also:
1. "große Einrückungen" sind keine Eigenschaft der Sprache, sondern des Programmierers bzw. der verwendeten Code Formatting Convention.
In Delphi benötigt man nach gängiger Praxis 2x2 Einrückungseinheiten, schau mal:
Delphi-Quellcode:
if foo then
  begin
    bar;
  end
Java dagegen nur 2 (gängige Praxis)
Code:
if( foo ) {
  bar();
}
Also, wenn Du schon so argumentierst, dann müsstest Du ja bei Delphi kotzen...

2. "unübersichtliche Klassendeklarationen" sind Geschmacksache und (vor allen Dingen) eine Sache der Gewohnheit. Also bei C/C++ gebe ich Dir Recht, aber bei Java nicht.
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.223 Beiträge
 
Delphi 10.4 Sydney
 
#9

AW: warum C++ statt Delphi?

  Alt 26. Dez 2012, 21:24
[QUOTE=Furtbichler;1196768]Also:
1. "große Einrückungen" sind keine Eigenschaft der Sprache, sondern des Programmierers bzw. der verwendeten Code Formatting Convention.
In Delphi benötigt man nach gängiger Praxis 2x2 Einrückungseinheiten, schau mal:
Delphi-Quellcode:
if foo then
  begin
    bar;
  end
Java dagegen nur 2 (gängige Praxis)
Code:
if( foo ) {
  bar();
}
Also, wenn Du schon so argumentierst, dann müsstest Du ja bei Delphi kotzen...

Also wir (und der größte Teil der VCL-Sourcen verwendet hier nur eine Einrückung
In Delphi benötigt man nach gängiger Praxis 2x2 Einrückungseinheiten, schau mal:
Delphi-Quellcode:
if foo then
begin
  bar;
end
und bei Java/C++ kann man genau so 2* einrücken:
Code:
if( foo )
  {
    bar();
  }
Also 1:1 zwischen den Sprachen

2. "unübersichtliche Klassendeklarationen" sind Geschmacksache und (vor allen Dingen) eine Sache der Gewohnheit. Also bei C/C++ gebe ich Dir Recht, aber bei Java nicht.
Dort wo es unpraktisch/eine Sackgase beschritten wurde wude ja bii .NET und Java schon mindestens eine Redesign duchgeführt.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
pixfreak

Registriert seit: 6. Jul 2007
112 Beiträge
 
Delphi XE3 Professional
 
#10

AW: warum C++ statt Delphi?

  Alt 25. Dez 2012, 07:37
Hallo zusammen,

C++ ist um ein vieles mächtiger als Delphi. Allein die Template Möglichkeiten gehen bei weitem über die der Generics von Delphi hinaus.

Oder die Möglichkeit der Mehrfachvererbung: Ok, man muss schon aufpassen, was man da wie vererbt, das kann sehr schnell unübersichtlich und fehleranfällig werden, lässt einem aber doch weite Freiheiten. Die Interface sind da nur ein fadenscheiniger Ersatz.

Mit Boost bzw. jetzt dem neuen Standard kann man viele schöne Sachen machen, Multithreading z.B. ist reltiv schnell und sicher umgesetzt.

Ja und da ist noch die Sache, dass ich fast jede Klasse auch lokal instanziieren kann und nicht immer mit new einen neuen Speicherplatz dynamisch anfordern muss. In Delphi gibt es da ganz schnell diese häßlichen try..finaly Verschachtelungen, wenn ich mal etwas mehr in einer Methode brauche, ok, etwas am Design verändert, kann ich das vielleicht auch vermeiden.

Ich persönlich mag C++ sehr gerne und kann damit auch recht gut um, es bedarf allerdings eine lange Lernphase, aber wenn man es drauf hat, dann kann man recht dolle Sachen damit machen.

Persönlich fehlt mir in C++ aber die with-Anweisung, da hat Delphi was voraus

Ich finde, das vergleichen der Sprachen ist aber nur eine seite der Medallie. Zum proggen brauche ich auch noch einen Compiler und am besten eine ordentliche IDE. Und da geht es schon los.

Wenn ich das richtig verfolgt habe, sind die neuen C++ Features nur im 64 Bit Compiler verfügar, man belehre mich, wenn ich mich irren sollte. Für 32 Bit werkelt immer noch der alte. Die Produktivität ist mit dem C++ Builder nicht mit Delphi zu vergleichen, ein Hauptgrund warum ich als One-man-Tastaturhämmerer auf Delphi setze, wegen z.B.
  • keine Refaktorings, außer Umbenennen, und das nur sehr oberflächlich
  • keine Klassenvervollständigung ala Strg-shift-C, man muss immer in zwei Dateien, Header und Code, die Funktionen einfügen und bearbeiten (ok, mit UML gehts auch so, der Klassenbrowser regt mich in den akuellen Versionen nur auf)
  • VCL wird halt irgendwie mit rein operiert, VCL Klassen müssen dynamisch angelegt werden, statisch geht nicht
  • der Experte für vorcompilierte Header ist tricky, man muss schon selbst Hand anlegen, damit ordentliche precomiled Headers heraus kommen, die auch was bringen in Bezug auf Compiliergeschwindigkeit. Und da kommen z.B. die DevExpress Compos, die haben in einem Header Daten stehen und die zerschießen den precomiled Header so, dass er nicht verwendet werden kann. Ich hab das schon mehrmals denen geschrieben, ist aber in jeder Version wieder drinne... (Ich habs dann mal rausoperiert...)
  • der Delphi Compiler ist um Welten schneller, ok für den Builder gibt es TwineCompile, da sieht man mal, was ginge, aber Delphi bleibt schneller (single-pass)
  • Code-completion funktioniert nur mit einem ordentlichen precomiled Header und auf einem schnellen Rechner ordentlich, sonst passiert es schon mal, dass man über eine Sekunde wartet, bis die Code completion angezeigt wird, und ist sie einmal angestossen muss man auch warten und kann nicht weitertippen

Also, der Emba Compiler (ich rede jetzt mal nur vom 32er) ist wie schon gesagt, meilenweit hinter den aktuellen Compilern zurück. Aber es gibt noch ein Problem: Welches Tool nimmt man für die Oberflächenprogrammierung? Ok, QT fällt mir gerade ein, VCL braucht die Builder IDE und die ist grottig, MFC ist doch eh fast WinAPI, ja und dann?

Also meine Meinung: Für "Backboxen" würde ich C++ mit einem vernünftigen Compiler nehmen, kommt eine GUI dazu, dann entweder in Schichten mit verschiedenen Systemem arbeiten oder eben auf das Brot- und Wassertool Delphi ausweichen. (Um .net habe ich bis jetzt einen Bogen gemacht und Java mag ich persönlich nicht so...)

So, nun denn, frohe Weihnachten!


Gruß Pixfreak
... und noch nen C++ Builder XE2
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2   

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:15 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz