AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

C oder Delphi oder was?

Ein Thema von morp2 · begonnen am 1. Jan 2007 · letzter Beitrag vom 1. Jan 2007
Thema geschlossen
Seite 4 von 5   « Erste     234 5      
morp2

Registriert seit: 1. Jan 2007
30 Beiträge
 
#31

Re: C oder Delphi oder was?

  Alt 1. Jan 2007, 21:30
Zitat von alzaimar:
@morp2: Preisfrage: Woher kommen die ganzen Buffer Overruns, die für die Instabilität der meisten Programme verantwortlich sind? Von der dämlichen C Library, der kranken Syntax und den noch bescheuerten Halbamateuren, die sich mit ihrem Frickelwissen 'C' als 'Cult' Programmiersprache (Chit wäre besser) ausgesucht haben (Gründe in meinem vorherigen Post).
Auch in einem Flamewar sollte mach sachlich bleiben.

Bzw: Was haben Dos-Attacken mit einer Programmiersprache zu tun?
 
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#32

Re: C oder Delphi oder was?

  Alt 1. Jan 2007, 21:42
Zitat:
Und womit wurde Delphi programmiert ? Imho mit C++
Wie kommst du dadrauf?
Zitat:
und das ist schließlich die "Verbesserung" von C
c++ ist höchstens eine (OOP) Erweiterung von C aber keine Verbesserung. IMHO gab/gibt es auch bessere "Erweiterungen" objective c oder auch Java/C#
Zitat:
C ist nunmal veraltet, also was bringt es, die neusten Delphiversionen mit C zu vergleichen ? Das wollte ich mal los werden.
Weil es wie schon erwähnt um grundsätzliche Dinge geht, die für die neueste Version von Delphi geanuso wie für Pascal gilt (auf der anderen Seite dementsprechend)
Markus Kinzler
 
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#33

Re: C oder Delphi oder was?

  Alt 1. Jan 2007, 21:48
Ich glaube, wir sollten uns alle mal wieder etwas beruhigen.

Was die Lesbarkeit angeht, ist es reine Geschmacks- und Gewöhnungssache. Ich finde Arabisch auch extrem unübersichtlich und unleserlich im Vergleich zur gewohnten lateinischen Schrift. Ich bin mir aber ziemlich sicher, dass ein Araber dies etwas anders sieht.

Bleiben noch die Sprach-Features über die man diskutieren könnte. Auch hier wird man zu dem Schluss kommen, dass es wieder reine Gewöhnungs- bzw. Geschmackssache ist. Nehmen wir die Möglichkeit Variablen in C++ auch mitten im Quellcode deklarieren zu können. Dies hat Vor- und Nachteile. Ein Vorteil wäre, dass ich eine größere Kontrolle über die Sichtbarkeit der Variablen habe. Eine in einem Block deklarierte Variable, ist auch nur dort sichtbar. Nachteil, ich habe nicht alle Variablen übersichtlich am Funktionsanfang zusammen, wenn ich dieses Feature nutze. Ich komme von Delphi her und wenn ich in C/C++ programmiren muss, dann deklariere ich auch, aus Gewohntheit, alle Variablen am Anfang. Das hat, finde ich den Voretil, dass man sich schon mal Gedanken darüber macht, wie die Funktion, denn letztendlich aussehen soll und was man für Vatriablen man denn eigetlich braucht. Also eine Sache der Disziplin.

Jemand hat mal gesagt, dass Englisch eine Sprache ist, die man schnell lernt, aber die sehr schwer richtig anzuwenden ist. Ähnlich verhält es sich meiner Meinung nach auch mit C/C++, wenn ich an die BufferOverFlows denke. Sie sind alle vermeidbar, wenn man es denn richtig macht.

Dies könnte ich jetzt nioch auf viele weiter Aspekte ausdehnen, wie zum Beispiel Templates etc. Aber es gibt im Internet schon genug Abhandlucgen zu disem Thema. Ltztendlich läuft es aber immer daraufhinaus, dass man die Sprache nach dem zu lösenden Problem wählen sollte und nicht nach dem Kriterium, was einem besser gefällt. Für systemnahe Programmierung würde ich auch C/C++ vorziehen, ich habe das bei meinem Usermanager gemerkt, da hätte ich mir mit C/C++ viel Arbeit ersparen können. Für die datenbankprogrammierung würde ich aber wieder Delphi den Vorzug geben, da man dort schon viele Komponenten findet, die einem die Arbeit sehr erleichteren.

Letztendlich halte ich diese Diskussion schlicht für überflüssig, da es für jede Sprache Pros und Kontras gibt. Und jeder seine Meinung zu dem Thema hat. solch eine Diskussion kann höchsten dabei helfen sich eine Meinung zu bilden, mehr aber auch nicht.
Michael
Ein Teil meines Codes würde euch verunsichern.
 
xaromz

Registriert seit: 18. Mär 2005
1.682 Beiträge
 
Delphi 2006 Enterprise
 
#34

Re: C oder Delphi oder was?

  Alt 1. Jan 2007, 21:49
Hallo,
Zitat von Nils_13:
Und womit wurde Delphi programmiert ? Imho mit C++ und das ist schließlich die "Verbesserung" von C und da würde ich doch lieber bei *dank* und *trotz* (wegen deinen Argumenten) zugleich bleiben. C ist nunmal veraltet, also was bringt es, die neusten Delphiversionen mit C zu vergleichen ? Das wollte ich mal los werden.
Delphi wurde IMHO in Delphi geschrieben. Turbo Vision unter Turbo Pascal war auch nur ein Abfallprodukt der IDE-Entwicklung (TP 6.0).

C++ ist übrigens keine "Verbesserung" von C, sondern eine eigene Programmiersprache, die mit C einen Großteil der Syntax teilt. Das machen Perl und PHP aber auch[1].

@Topic:
Ich finde ja, die Diskussion ist etwas von der Eingangsfrage abgekommen. Die lautete ja: Soll der OP C++ oder Delphi benutzen.
Die Sache mit WinAPI können wir streichen, das geht in beiden Sprachen. Dass es für die Programmierung von Oberflächen unter Windows (nativ) kein besseres Framework gibt als die VCL bestreitet hoffentlich keiner hier. Wenn es aber um die Syntax der Sprachen geht, worüber hier diskutiert wird, so ist dazu zu sagen
- in einem Delphi-Forum werden die Vorteile von Delphi gepriesen
- Beide Programmiersprachen sind für die Win32-Programmierung gleich gut geeignet. Es entscheidet also die Vorliebe

Gruß
xaromz

[1] Ich weiß, dass C wesentlich näher an C++ ist als an Perl oder PHP.
I am a leaf on the wind - watch how I soar
 
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.171 Beiträge
 
Delphi 10.4 Sydney
 
#35

Re: C oder Delphi oder was?

  Alt 1. Jan 2007, 21:56
Zitat von morp2:
Zitat von Bernhard Geyer:
- Wird hier time_t noch signed oder unsigend verwendet? Sprich: Ist der Code nur bis 2030 oder 2100 lauffähig?
Kommt auf den Compiler an. Im VS signed.
Also ist 2030 Schluß. Hatte man bei SW aus den 70er nicht auch von "Das Programm braucht keiner in 2000[/quote]

Zitat von morp2:
Zitat von Bernhard Geyer:
- Einen Fehlerwert mittels eines gültigen Wertes zu kennzeichnen ist auch nicht gerade schön. Was ist wenn time_t mal erweitert wird und LONG_MAX immer noch den maximalwert eines bestimmten Datentyps darstellt? (Schöne Portierbarkeit von C/C++-Code)
Der Schrei nach Portierbarkeit ist eine Erfindung von genervten Java Programmierern
Hhhmmm. Und was ist mit 64-Bit? Von Win32 nach Win64 zu gehen verursacht auch Portierungsaufwand.

Zitat von morp2:
Zitat von Bernhard Geyer:
- Wieso muß es in C/C++ immer 50 verschiedene neue Typen für einen Integer geben. size_t ist so ein Fall
Das hat damals als wir noch nicht mit IDEs programmiert haben die Lesbarkeit ungemein verbessert
Zu wissen das 50 Typen einen 0815-Integer abbilden ist sehr lesbar.

Zitat von morp2:
Zitat von Bernhard Geyer:
- Was macht stat?
Wenn ich dir Delphicode zeige in dem eine Funktion namens stat benutzt wird kannst du mir dann sagen was stat macht? Bzw ein Rechtsklick und dann auf "Gehe zu Definition" reicht um es rauszufinden
In Delphi/Pascal sind Funktionsbezeichner oft verständlicher oder auch ohne Handbuch/Onlinehilfe zu erraten.

Zitat von Bernhard Geyer:
Zitat von Bernhard Geyer:
- Einmal wird table->check_file im Sinne eines Booleans verwendet und einmal wird 0 zugewiesen. Sinnvoller wäre hier FALSE zu verwenden (Ach ja: Bloß wo ist das wieder definiert bzw. wurde es auch richtig definiert).
Was heißt hier richtig definiert? False war 0 und False wird auch immer 0 sein.
Ich kenne C-Headerdateien mit folgenden Inhalt (Evtl. nicht 100%ig Korrekte Syntax):
Code:
define FALSE 0;
define TRUE 1;
Und wenn nun auf True verglichen wird aber 2 zurückkommt ist man aufgeschmissen..
Windows Vista - Eine neue Erfahrung in Fehlern.
 
alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#36

Re: C oder Delphi oder was?

  Alt 1. Jan 2007, 21:56
Zitat von morp2:
Zitat von alzaimar:
@morp2: Preisfrage: Woher kommen die ganzen Buffer Overruns, die für die Instabilität der meisten Programme verantwortlich sind? Von der dämlichen C Library, der kranken Syntax und den noch bescheuerten Halbamateuren, die sich mit ihrem Frickelwissen 'C' als 'Cult' Programmiersprache (Chit wäre besser) ausgesucht haben (Gründe in meinem vorherigen Post).
Auch in einem Flamewar sollte mach sachlich bleiben.
Das ist sachlich und kein 'Flamewar' (Immer erst lesen und dann so'ne Allerweltsantworten posten). Die meisten Entwickler haben es nun mal nicht drauf. Dafür kann ich nichts, aber so ist das nun mal. Es ist wirklich so, das viele Frickler vorzugsweise in 'C' programmieren, "weil die Programme so schön cool professionell ausehen". Die Aussage stammt nicht von mir, sondern von eben diesen Programmieranfängern.
Zitat von morp2:
Bzw: Was haben Dos-Attacken mit einer Programmiersprache zu tun?
DoS-Attacken gehen gegen die Schwachstellen einer Software. Bei C sind die Schwachstellen die 'Entwickler', die fehleranfällige Syntax und die blöde Library. Hab ich doch erklärt.

Und Abschließend nur noch das hier:
1. xarmomz hat Recht und
2. Es ist egal, was Du nimmst. Nimm halt das, was Dir am Besten gefällt, aber um Himmels willen schreib ordendliche, robuste, lesbare und kommentierte Programme!
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
 
Benutzerbild von thkerkmann
thkerkmann

Registriert seit: 7. Jan 2006
Ort: Pulheim Brauweiler
464 Beiträge
 
Delphi 2010 Professional
 
#37

Re: C oder Delphi oder was?

  Alt 1. Jan 2007, 21:56
Hi alle.

Nun hackt mal nicht so sehr auf dem armen morp2 herum. Ich glaube, mittlerweile ist ihm klar, dass er in diesem Forum die falsche Frage gestellt hat. Leider hat er aber auch den falschen Ansatz bei seiner Programmierungsaufgabe - und das hat er noch nicht gemerkt.

Es geht doch eigentlich darum:

Mit welcher Sprache läßt sich die Aufgabe am besten umsetzen UND welche Sprache liegt dem Programmierer am besten. Dazwischen gilt es - sofern man nicht mehrere Sprachen wie aus dem ff beherrscht - einen Kompromiss zu finden.

Und diese Antwort kann er nur sich selber geben. Wir wissen nicht wie gut er C/C++ oder Delphi programmieren kann. Wir wissen nicht welche Sprache ihm am meisten liegt. Das wissen wir nur von uns selbst, daher auch diese erregte Diskussion....

Ich kann morp2 nur raten in sich zu gehen und es für sich selber herauszufinden. Und dann - wenn er seine Sprache gefunden hat, und sie richtig gut beherrscht - kann er trotz/wegen der Existenz von C/C++ oder Delphi oder PHP oder Java oder was auch immer - ein toller Programmierer sein.

Ich wünsche es ihm.

Gute Nacht.



[Edit] sorry hatte statt morp2 - morph2 angesprochen [/Edit]
Thomas Kerkmann
Ich hab noch einen Koffer in Borland.
http://thomaskerkmann.wordpress.com/
 
morp2

Registriert seit: 1. Jan 2007
30 Beiträge
 
#38

Re: C oder Delphi oder was?

  Alt 1. Jan 2007, 22:08
Zitat von Bernhard Geyer:
In Delphi/Pascal sind Funktionsbezeichner oft verständlicher oder auch ohne Handbuch/Onlinehilfe zu erraten.
Jeder der in Delphi programmiert gibt seinen Funktionen automatisch sinnvolle Namen?

Zitat von Bernhard Geyer:
Ich kenne C-Headerdateien mit folgenden Inhalt (Evtl. nicht 100%ig Korrekte Syntax):
Code:
define FALSE 0;
define TRUE 1;
Und wenn nun auf True verglichen wird aber 2 zurückkommt ist man aufgeschmissen..
Das ist ein klassischer Anfängerfehler. Man vergleicht nicht auf true oder false. Du schreibts ja auch nicht:
Code:
int i = 5;
if((i == 5) == TRUE) ...
if(((i == 5) == TRUE) == TRUE) ...
Boolsche Variablen vergleicht man immer so:
Code:
BOOL bla = TRUE;
if(bla) ...
Und da ergibt alles außer 0 TRUE
 
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#39

Re: C oder Delphi oder was?

  Alt 1. Jan 2007, 22:23
Ihr kommt immer weiter vom Thema ab.
[quote="morp2"]
Zitat von Bernhard Geyer:
In Delphi/Pascal sind Funktionsbezeichner oft verständlicher oder auch ohne Handbuch/Onlinehilfe zu erraten.
Jeder der in Delphi programmiert gibt seinen Funktionen automatisch sinnvolle Namen?

Zitat von Bernhard Geyer:
Ich kenne C-Headerdateien mit folgenden Inhalt (Evtl. nicht 100%ig Korrekte Syntax):
Code:
define FALSE 0;
define TRUE 1;
Und wenn nun auf True verglichen wird aber 2 zurückkommt ist man aufgeschmissen..
Ist in Delphi genauso.
Michael
Ein Teil meines Codes würde euch verunsichern.
 
alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#40

Re: C oder Delphi oder was?

  Alt 1. Jan 2007, 22:27
morp2: Was soll denn das jetzt? Es *gibt* kein Argument für 'C'. Entweder Du magst es, oder nicht. Ich finde 'C' zum , aber das weißt du ja nun. Ich programmiere seit 30 Jahren, teilweise auch in C. Und mich mag es nicht. Ich bevorzuge Delphi nicht nur, sondern mag die Asthetik, die mir sonst kein Code bietet. Vielleicht ist das Altersstarrsinn oder Gewohnheit. Es ist mir egal. Da ich beide Welten kenne, erlaube ich mir ein abschließendes Urteil : C(++) kommt mir nicht ins Haus.

Eine einzige Sache allerdings fehlt in Delphi: #define.... Sonst vermisse ich Nichts, sondern im Gegenteil: Die Compiler-Magic, die mir viele mühsehlige und fehleranfällige Aufräum- und Initialisierungsarbeiten ersparen, will ich nicht mehr missen. Wenn ein befreundeter C-Programmierer mit Variants arbeiten soll, hat er mehr Probleme als ich. Aber wenn ich maschinennah irgendwelche hochperformanten Minialgorithmen umsetzen muss (ASM gült nicht), schiele ich auf C,weil ich mir einbilde, das C hier ein paar % besser ist.

Bitte hör auf, mit irgendwelchen peinlichen 'Argumenten' dein C zu verteidigen, bringt doch nix:
Zitat von morp2:
Zitat von Bernhard Geyer:
In Delphi/Pascal sind Funktionsbezeichner oft verständlicher oder auch ohne Handbuch/Onlinehilfe zu erraten.
Jeder der in Delphi programmiert gibt seinen Funktionen automatisch sinnvolle Namen?
Ja, tendentiell. Wenn ich mich im Umfeld von Abkürzungen und Sonderzeichen befinde (C mit int, {, ++ etc.) neigt man dazu, den Variablen kurze kryptische Namen zu geben. In Umgebungen mit ausgeschriebenen Wörtern nimmt man eher längere Namen. Natürlich gibt es auch C-Code mit guten Variablennamen und Delphi-Code mit schrecklicher Nomenklatur, aber in der Tendenz ist es schon so, wie Berhard sagt.

Zitat von morp2:
Zitat von Bernhard Geyer:
Ich kenne C-Headerdateien mit folgenden Inhalt ...
Und wenn nun auf True verglichen wird aber 2 zurückkommt ist man aufgeschmissen..
Das ist ein klassischer Anfängerfehler.
Nein, ist es nicht. Das ist ein typischer "1.000 Zeilen und wir finden den Fehler nicht"-Fehler. Es gibt leider keinen expliziten boolean-typen. Eine Funktion, die nur 0/1-liefert *sollte*, garantiert mir leider nicht, das sie das auch wirklich tut, eine Delphi-Boolean-Funktion schon.

Verstehst Du? C gibt dem Programmierer viel (imho: zu viel) Initialitive und Verantwortung in die Hand. Das mag damals bei Kernighan und Richie noch richtig gewesen sein (nämlich dem Dogma der starren veralteten Programmiersprachen zu entkommen), ist aber heute total überholt.

Wenn deine Anwendung GUI-lastig ist, verwende lieber Delphi. Die VCL und die angebotenen 3rd-Party-Komponenten sind einfach besser als die, die für C erhältlich sind.

Wenn deine Anwendung API-lastig ist (also Funktionalität implementiert, und keine GUI), dann nimm lieber C, weil für C einfach mehr Libraries auf dem Markt sind.

Und wenn schon eine Alternative zu Delphi, dann lieber C# oder Java, ehrlich. C ist veraltet.
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
 
Thema geschlossen
Seite 4 von 5   « Erste     234 5      


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 22:01 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz