Entwickler-Ecke
Sonstiges (Delphi) - Delphi - Gegenüberstellung mit anderen Sprachen
reQuiem - So 10.08.08 21:47
Titel: Delphi - Gegenüberstellung mit anderen Sprachen
hi all,
ich programmiere jetzt schon seit Jahren alle möglichen Sprachen, angefangen von Java über C/C++, C# und ein halbes Dutzend Scriptsprachen. Delphi war leider nie eine Option für mich, da ich primär Linux benutze. Allerdings wird bei uns in der Schule Delphi (5!) programmiert (was ich nicht verstehe, da Delphi nicht einmal kostenlos ist, oder täusche ich mich da?) und ich habe seit diesem Jahr Informatik als Kurs. Da ich schon sehr viel an Kenntnissen in OOP und Programmiertechnik allgemein besitze, wäre es für mich praktisch, eine Art Übersicht zu finden, die Delphi-Programmelemente anderen Programmiersprachen gegenüberstellt. So eine Art Delphi for C++-Programmers (oder Java, C#, ...). Ich bezweifle zwar, dass es sowas gibt, aber vielleicht habt ihr ja Tipps für mich, die mir die Sache etwas erleichtern könnten.
Bin dankbar für alle Informationen und Hinweise!
Gruß,
Niklas
mkinzler - So 10.08.08 21:54
Von Delphi gibt es auch kostenlose Versionen. Allerdings ist D5 schon etwas alt.
Was meinst du mit Gegenüberstellung? Syntax?
Hidden - So 10.08.08 22:11
Hi,
Delphi ist(genau wie pascal) syntaxmäßig darauf ausgelegt, möglichst intuitiv gelesen werden und damit auch schnell erlernt werden zu können. Für das ungewohnte Auge schlecht lesbare Elemente wie
{}, !, &&, ||, ^, %, .. sind durch ihre eigentliche Bedeutung ersetzt :arrow:
begin end, not, and, or, xor, mod, ...
Somit solltest du Delphi-Quelltexte ohne Vorkenntnisse problemlos lesen können. Ansonsten sollte hier sicher die Syntax durch schnelles Überfliegen erlernt werden können:
Crashkurs von Christian S. [
http://www.christian-stelzmann.de/artikel/CrashkursReloaded/]
Edit: Aso, ganz vergessen^^ Es gibt die Delphi-Syntax auch für
Linux [
http://www.delphi-forum.de/viewtopic.php?t=72504&highlight=linux], allerdings diesem Thread nach wohl eher unterrichtsbegleitend, nichtzur ernsthaften Programmierung.
mfG,
reQuiem - So 10.08.08 23:16
ok der crashkurs passt mir sehr gut danke!
ansonsten, delphi auf linux ist einfach ein krampf :D hab mir mal lazarus angeschaut. ist noch hässlicher als delphi 5... naja, da wird wohl dann die virtuelle maschine herhalten müssen. zum thema delphi 5 ist alt: mein lehrer benutzt das halt, ich kann ja schlecht schönen neuen code abgeben, mit dem er dann nichts anfangen kann ;-) für mich ist die entscheidung, delphi in der schule zu verwenden, ohnehin absolut unverständlich, wo es doch so viele freie, gute programmiersprachen gibt.
Gruß,
Niklas
elundril - Mo 11.08.08 04:18
dank lazarus und den turbo delphi ist delphi ja auch gratis. Und die Sprache ist auch frei nur leider gibt es keinen der einen freien compiler dafür schreibt.
Ich find Delphi nicht so schlecht und viele gute programme wie skype, total commander oder TeamSpeak sind in delphi verfasst worden.
mkinzler - Mo 11.08.08 07:44
FreePascal, VirtualPascal und GnuPascal sind doch frei
baka0815 - Mo 11.08.08 09:44
reQuiem hat folgendes geschrieben: |
Ansten, delphi auf linux ist einfach ein krampf :D hab mir mal lazarus angeschaut. ist noch hässlicher als delphi 5... |
Musst Lazarus halt für GTK2 kompilieren. Für GTK1 ist's wirklich ziemlich furchtbar. :D
Timosch - Mo 11.08.08 09:53
baka0815 hat folgendes geschrieben: |
reQuiem hat folgendes geschrieben: | Ansten, delphi auf linux ist einfach ein krampf :D hab mir mal lazarus angeschaut. ist noch hässlicher als delphi 5... |
Musst Lazarus halt für GTK2 kompilieren. Für GTK1 ist's wirklich ziemlich furchtbar. :D |
Ja, dann gewöhnt man sich ganz gut dran. Fands am Anfang auch recht seltsam (Umstieg D2005/Win2k->Lazarus/Ubuntu, wobei ich Delphi auf Windows immer noch parallel verwende), aber man gewöhnt sich dran. Ist halt nicht so ganz kompatibel.
reQuiem - Mo 11.08.08 15:45
sehr schön, danke!
baka0815 hat folgendes geschrieben: |
reQuiem hat folgendes geschrieben: | Ansten, delphi auf linux ist einfach ein krampf :D hab mir mal lazarus angeschaut. ist noch hässlicher als delphi 5... |
Musst Lazarus halt für GTK2 kompilieren. Für GTK1 ist's wirklich ziemlich furchtbar. :D |
ok gar nicht gewusst dass das geht :D danke für den tipp! wobei mein turbodelphi sich in der VM jetzt auch wohlfühlt und dass ist _noch_ schöner. btw: kann man eigentlich dieses blöde Cursor-Positioning hinter zeilenende abschalten?
elundril hat folgendes geschrieben: |
dank lazarus und den turbo delphi ist delphi ja auch gratis. |
ja, turbo delphi habe ich auch gerade erst entdeckt, dank dem crashkurs :) wahrscheinlich kann mein lehrer meine dateien dann trotzdem nicht öffnen :D
elundril hat folgendes geschrieben: |
viele gute programme wie skype, total commander oder TeamSpeak sind in delphi verfasst worden. |
aber teamspeak 3 wird c++ ;) ham scheinbar was gelernt dabei :D wie geht das eigentlich, dass TS2 unter linux läuft?
Gruß,
Niklas
baka0815 - Mo 11.08.08 15:54
reQuiem hat folgendes geschrieben: |
baka0815 hat folgendes geschrieben: | reQuiem hat folgendes geschrieben: | Ansten, delphi auf linux ist einfach ein krampf :D hab mir mal lazarus angeschaut. ist noch hässlicher als delphi 5... |
Musst Lazarus halt für GTK2 kompilieren. Für GTK1 ist's wirklich ziemlich furchtbar. :D |
ok gar nicht gewusst dass das geht :D danke für den tipp! wobei mein turbodelphi sich in der VM jetzt auch wohlfühlt und dass ist _noch_ schöner. btw: kann man eigentlich dieses blöde Cursor-Positioning hinter zeilenende abschalten? |
Naja, gibt beim GTK2 Betrieb wohl auch noch ein paar Bugs und so oft arbeite ich nicht unter Linux.
Diese Cursor-Positionierung im "freien Bereich" nervt mich auch 'n bissl., aber ich fang' an es zu akzeptieren.
reQuiem hat folgendes geschrieben: |
aber teamspeak 3 wird c++ ;) ham scheinbar was gelernt dabei :D wie geht das eigentlich, dass TS2 unter linux läuft? |
Entweder ist es eines der wenigen Programme die mit CLX unter Kylix entwickelt wurden oder sie haben für Linux dann FreePascal verwendet.
Hidden - Mo 11.08.08 16:14
Hi,
Ich halte Delphi für die Schule eig. doch zimelich geeignet: Einerseits nimmt die VCL - wenn man erstmal den Ramen erlernt hat, was imho komplett im Code-Teil erfolgen sollte - eine Menge Tipparbeit ab und man kann so schneller im Stoff vorankommen(Alternative: Immer halbfertige Programme, sobalds komplexer wird :roll:).
Andererseits ist die Pascal-Syntax, wi o.e., darauf ausgelegt, schnell erlernt werden zu können und dadurch für Informatik gut geeignet, da die Syntax der Sprache ja im Hintergrund stehen soll und die Programmlogik im Vordergrund.
Ab und zu gibt es übrigens auch mal kostenfreie Versionen; Schüler kommen also locker heran(auch, wenn ich etwas bedenklich finde, wie viele Daten CodeGear beim Download der Turbo 2006 haben wollte :?). Turbo Delphi 2006 ist leider ein wenig
veruggt [
http://www.delphi-forum.de/viewtopic.php?t=80883], aber es gibt doch noch die Personal 2005, die mal auf ner CD drauf war, oder? :gruebel:
mfG,
Martok - Mo 11.08.08 16:22
[Über-Schule-Aufreg]
Hidden hat folgendes geschrieben: |
Ich halte Delphi für die Schule eig. doch zimelich geeignet: Einerseits nimmt die VCL - |
... wenn sie denn ausgenuzt wird ...
Hidden hat folgendes geschrieben: |
wenn man erstmal den Ramen erlernt hat, was imho komplett im Code-Teil erfolgen sollte |
Aber Zeit und vor allem etwas Mitdenken erfordert... nichts für Schüler (und auch manche Lehrer xD)
Hidden hat folgendes geschrieben: |
Andererseits ist die Pascal-Syntax, wi o.e., darauf ausgelegt, schnell erlernt werden zu können und dadurch für Informatik gut geeignet, da die Syntax der Sprache ja im Hintergrund stehen soll und die Programmlogik im Vordergrund. |
Ist aber zu den meisten Lehrplänen noch nicht durchgedrungen. Da wird Programmieren gelehrt, nicht Algorithmen entwickeln oder wenigstens verstehen.
[/Über-Schule-Aufreg]
Hidden hat folgendes geschrieben: |
Ab und zu gibt es übrigens auch mal kostenfreie Versionen; Schüler kommen also locker heran(auch, wenn ich etwas bedenklich finde, wie viele Daten CodeGear beim Download der Turbo 2006 haben wollte :?). |
Naja. Sein wir doch mal ehrlich: da wird Schwarzkopiert was das Zeug hält.
reQuiem hat folgendes geschrieben: |
ja, turbo delphi habe ich auch gerade erst entdeckt, dank dem crashkurs :) wahrscheinlich kann mein lehrer meine dateien dann trotzdem nicht öffnen :D |
Doch, solange du nicht die neuen Sprachfeatures verwendest, ist das kein Problem. Und bei den meisten Aufgaben wirst du das nicht, die bleiben lange unter dem Niveau wo das eine Rolle spielen würde.
Hidden - Mo 11.08.08 16:27
Öffnen wird er sie in der Regel(immer) können. Compillieren nur, wenn er exotische neue Syntax-Features entfernt(afaik nur strict private, strict protected und {$region}) ;)
elundril - Mo 11.08.08 17:08
reQuiem hat folgendes geschrieben: |
elundril hat folgendes geschrieben: | dank lazarus und den turbo delphi ist delphi ja auch gratis. |
ja, turbo delphi habe ich auch gerade erst entdeckt, dank dem crashkurs :) wahrscheinlich kann mein lehrer meine dateien dann trotzdem nicht öffnen :D
Gruß,
Niklas |
welche datein kann dein lehrer denn nicht öffnen? ich nehme an das es die dfms sind und das er einer version < 5 hat. wenns so ist kann dem leicht abhilfe mit einem kleinen programm geschaffen werden das die dfms umwandelt. außerdem musst du aufpassen das du keine befehle verwendest die in einer früheren version nicht vorhanden sind.
Dunkel - Mo 11.08.08 17:26
Na, Turbo Delphi (Explorer) läuft meines Erachtens wesentlich stabiler als das wahrhaftig verbuggte Delphi 2005 (PE). Dass Du mal Probleme mit Deinem Turbo Delphi hattest, schiebe ich jetzt einfach mal auf einen unsauberen Quellcode oder eine defekte Installation; denn, wie heißt es so schön: der größte Bug befindet sich (meistens) zwischen Bildschirm und Rückenlehne... :wink:
reQuiem - Mo 11.08.08 17:29
Hidden hat folgendes geschrieben: |
Ich halte Delphi für die Schule eig. doch zimelich geeignet: Einerseits nimmt die VCL... |
dann lieber konsolenprogramme als so stumpfsinnige formulare... ich hab jahrelang VB6 programmiert und was mich im nachhinein am meisten aufregt, ist, dass ich dort nie wirklich programmiert habe, sondern immer die benutzeroberfläche im vordergrund stand. ich denke, beim programmieren geht es eher um die backends, die algorithmen, die schnittstellen. EDIT: + das Code-/Klassendesign
Hidden hat folgendes geschrieben: |
Aber Zeit und vor allem etwas Mitdenken erfordert... nichts für Schüler (und auch manche Lehrer xD) |
full ack.
Hidden hat folgendes geschrieben: |
Andererseits ist die Pascal-Syntax, wi o.e., darauf ausgelegt, schnell erlernt werden zu können und dadurch für Informatik gut geeignet, da die Syntax der Sprache ja im Hintergrund stehen soll und die Programmlogik im Vordergrund. |
ich finde solche konstrukte hier eher hinderlich:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7:
| if a<b or b<a then begin foo end; else begin bar end; |
hallo? bin mir jetz net sicher, ob das überhaupt stimmt, aber bis ich das geschrieben habe, bin ich alt. und bis ich dann noch den fehler gefunden habe, der aus der komischen operatoren-priorität resultiert, kann ich das gleich noch meinen enkelkindern mit auf den weg geben... da wäre doch eine programmiersprache, die das "principle of least surprise" umsetzt, eher zum lernen geeignet oder nicht?
Martok hat folgendes geschrieben: |
[Über-Schule-Aufreg] |
ebenso full ack ;)
Martok hat folgendes geschrieben: |
Ist aber zu den meisten Lehrplänen noch nicht durchgedrungen. Da wird Programmieren gelehrt, nicht Algorithmen entwickeln oder wenigstens verstehen. |
wenn überhaupt.
Martok hat folgendes geschrieben: |
Naja. Sein wir doch mal ehrlich: da wird Schwarzkopiert was das Zeug hält. |
das kann aber nicht die absicht der schule sein. aber mal ehrlich. bei uns wusste kein lehrer, dass es von delphi auch kostenlose versionen gibt. stattdessen hat er 5 Delphi-5-CDs auf den Tisch gelegt, mit den Worten: "Die leg ich jetzt mal hier hin. wenn jemand fragt, ich hab sie hier liegenlassen und ihr habt sie euch genommen. aber es wird eh keiner fragen, weil das programm 10 jahre alt ist!"
Martok hat folgendes geschrieben: |
Doch, solange du nicht die neuen Sprachfeatures verwendest, ist das kein Problem. Und bei den meisten Aufgaben wirst du das nicht, die bleiben lange unter dem Niveau wo das eine Rolle spielen würde. |
<scherz>also mit neu meinst du alle sprachfeatures seit 1999?</scherz>
Ne is schon klar, das beruhigt mich :D
Gruß,
Niklas
Martok - Mo 11.08.08 17:53
reQuiem hat folgendes geschrieben: |
ich finde solche konstrukte hier eher hinderlich: |
Der Compiler auch, das wird er dir nicht abnehmen. Wieder eine Fehlerquelle weniger.
So compilierts:
1: 2: 3: 4: 5: 6: 7:
| if (a<b) or (b<a) then begin foo; end else begin bar; end; |
reQuiem hat folgendes geschrieben: |
stattdessen hat er 5 Delphi-5-CDs auf den Tisch gelegt, mit den Worten: "Die leg ich jetzt mal hier hin. wenn jemand fragt, ich hab sie hier liegenlassen und ihr habt sie euch genommen. |
Kommt mir bekannt vor :P
Steht das etwa so im Lehrplan :shock:
reQuiem hat folgendes geschrieben: |
<scherz>also mit neu meinst du alle sprachfeatures seit 1999?</scherz> |
Naja, außer den von Hidden genannten fällt mir grade nur noch Operator Overloading ein... sonst gabs da eigentlich nichts. Ist halt alles da was man so braucht, außer Generics ;)
reQuiem - Mo 11.08.08 17:58
Martok hat folgendes geschrieben: |
Der Compiler auch, das wird er dir nicht abnehmen. Wieder eine Fehlerquelle weniger. |
du weißt was ich meine ;) hab ja gesagt dass ichs net überprüft hab.
Martok hat folgendes geschrieben: |
reQuiem hat folgendes geschrieben: | stattdessen hat er 5 Delphi-5-CDs auf den Tisch gelegt, mit den Worten: "Die leg ich jetzt mal hier hin. wenn jemand fragt, ich hab sie hier liegenlassen und ihr habt sie euch genommen. |
Kommt mir bekannt vor :P
Steht das etwas so im Lehrplan :shock: |
hehe :D
Martok hat folgendes geschrieben: |
reQuiem hat folgendes geschrieben: | <scherz>also mit neu meinst du alle sprachfeatures seit 1999?</scherz> |
Naja, außer den von Hidden genannten fällt mir grade nur noch Operator Overloading ein... sonst gabs da eigentlich nichts. Ist halt alles da was man so braucht, außer Generics ;) |
AH dabei liebe ich operator overloading und generics! und du sagst, das sei nicht wichtig! ab welcher version gibts das? oder ist das nur mit .NET möglich?
Gruß,
Niklas
jakobwenzel - Mo 11.08.08 18:21
reQuiem hat folgendes geschrieben: |
Martok hat folgendes geschrieben: | reQuiem hat folgendes geschrieben: | stattdessen hat er 5 Delphi-5-CDs auf den Tisch gelegt, mit den Worten: "Die leg ich jetzt mal hier hin. wenn jemand fragt, ich hab sie hier liegenlassen und ihr habt sie euch genommen. |
Kommt mir bekannt vor :P
Steht das etwas so im Lehrplan :shock: |
hehe :D |
Also hier wurde früher mal für jeden Schulpc eine von den c'ts gekauft, wo Delphi 7 Personal drauf war.
Hidden hat folgendes geschrieben: |
Öffnen wird er sie in der Regel(immer) können. Compillieren nur, wenn er exotische neue Syntax-Features entfernt(afaik nur strict private, strict protected und {$region}) ;) |
IIRC sind Methoden von Records auch dabei.
Hidden - Mo 11.08.08 19:41
reQuiem hat folgendes geschrieben: |
Hidden hat folgendes geschrieben: | Aber Zeit und vor allem etwas Mitdenken erfordert... nichts für Schüler (und auch manche Lehrer xD) |
full ack. |
Thx, nur war das Martok ;)
Zitat: |
ich finde solche konstrukte hier eher hinderlich |
Verständlich, besser wäre so:
1: 2: 3:
| if (a < b) or (b < a) then foo else bar; |
Hat euch euer Lehrer wahrscheinlich so gezeigt.. begin/end sind nur {} in ausgeschrieben ;) ist eigentlich schnell getippt. Und wegen den Klammern: Die sind nötig, da Delphi für z.B. & und && den selben Operator hat, sprich keine Bitweisen Operatoren. Somit wird aus den Argumenten geschlossen, ob ein Bitweises und oder ein logisches gewünscht ist.
Dunkel hat folgendes geschrieben: |
Na, Turbo Delphi (Explorer) läuft meines Erachtens wesentlich stabiler als das wahrhaftig verbuggte Delphi 2005 (PE). Dass Du mal Probleme mit Deinem Turbo Delphi hattest, schiebe ich jetzt einfach mal auf einen unsauberen Quellcode oder eine defekte Installation; denn, wie heißt es so schön: der größte Bug befindet sich (meistens) zwischen Bildschirm und Rückenlehne... :wink: |
Hast, bitteschön :mrgreen: Habs nochmal runtergeladen, nix hilft. bei nem Freund von mir(auch hier im FOrum) ist es das gleiche. Betrifft aber ausschließlich die Syntaxkorrektur zur Tippzeit, die manchmal Units nicht öffnen kann. Damit wird der ganze Code manchmal rot unterschlängelt, stört aber nicht so, kann man einfahc ignorieren :?
Ach ja, ich deklariere for-loop-Variablen übrigens immer im vorraus, obwohl dazu ein Live-Template existiert. Manchmal spinnt das Template nämlich(Exception, siehe Thread oben). Wenn man sich mit der Sprache auskennt, in der die live-Templates geschrieben sind, kann man die aber auch um-/neuschrieben.
Oops, die 2005er ist verbuggter, dann hab ich nichts gesagt^^
mfG,
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!