Delphi und die Möglichkeiten

Tutorials.at
Verfügbare Informationen zu "Delphi und die Möglichkeiten"

  • Qualität des Beitrags: 0 Sterne
  • Beteiligte Poster: aeo - wirthi - Xin
  • Forum: Tutorials.at
  • Forenbeschreibung: Programmierforum
  • aus dem Unterforum: Sonstige Programmiersprachen
  • Antworten: 17
  • Forum gestartet am: Mittwoch 19.04.2006
  • Sprache: deutsch
  • Link zum Originaltopic: Delphi und die Möglichkeiten
  • Letzte Antwort: vor 16 Jahren, 2 Monaten, 2 Tagen, 20 Stunden, 53 Minuten
  • Alle Beiträge und Antworten zu "Delphi und die Möglichkeiten"

    Re: Delphi und die Möglichkeiten

    aeo - 24.02.2008, 19:29

    Delphi und die Möglichkeiten
    Hallo erstmal :) ,

    ich hab schon öfters gemerkt, dass manche Leute meinen, dass man in Delphi (und Pascal) nicht sehr viele Programmiermöglichkeiten hat.
    Das ist nicht wahr! Lügen!!! Lügen!!!... :D

    Also was ich damit sagen will, ist, dass dem nicht so ist. Ich z.B. programmier' gerade eine Virtuelle Maschine (soetwas, was auch Java benutzt) in Delphi, und komm auch vorann. Das Einzige, was bei Delphi wirklich zu bemängeln gilt, ist die Plattforminkompatibilität.
    Wer unter Linux in OPascal ein Programm schreiben will, der nehme Lazarus, aber mehr Plattformunabhängigkeit ist auch nicht drinn :? .

    Fragt mich bitte nicht nach dem Sinn des Themas (The Answer is Blowing in The Wind).


    aeo



    Re: Delphi und die Möglichkeiten

    wirthi - 24.02.2008, 23:11


    Du kannst in Delphi jedes Programm schreiben, das du auch in C oder Java oder jeder anderen 3GL-Sprache schreiben kannst.

    Der Unterschied ist halt, wie einfach das geht, wie leicht man Fehler macht, wie schnell man ist, wie gut die Unterstützung durch Bibliotheken, Entwicklungsumgebungen, durch die Industrie, die Schul-/Universitätsausbildung, etc. ist.

    Delphi hat sich halt in der Praxis nicht wirklich durchgesetzt.



    Re: Delphi und die Möglichkeiten

    aeo - 25.02.2008, 14:26


    Ja klar, das ist es ja. Man hat die gleichen Möglichkeiten etc. wie in C/C++, C#, Java usw. .
    Es ging darum, dass manche behaupten, dass man in Delphi nicht so viele Möglichkeiten hat und das will ich wiederlegen :) .

    Delphi wird aber sehr oft an Schulen unterrichtet!


    aeo



    Re: Delphi und die Möglichkeiten

    wirthi - 25.02.2008, 14:38


    Das man in Delphi weniger Möglichkeiten hätte, behauptet selten wer. Es ist vielleicht ein wenig wie der Vergleich Fahrrad mit Auto. Mit beiden kommst du überall auf dem Kontinent hin, aber mit einem davon schneller. Un es scheint die Mehrzahl der Programmierer/Unternehmen zu glauben, dass Delphi das Fahrrad wäre, schließlich haben sich andere Sprachen durchgesetzt. Vielleicht liegt's auch nur am besseren Marketing der Alternativen, who knows?



    Re: Delphi und die Möglichkeiten

    aeo - 25.02.2008, 15:07


    Also am Marketing liegt's definitiv nicht.
    Borland (bzw. heute CodeGear) verkauft sich sehr gut, finde ich.

    Nein, ich glaube das Hauptproblem ist die Plattforminkompatibilität. Wenn man auf Linux seine Delphi-Programme kompilieren will, muss man Lazarus nehmen (Lazarus und Delphi sind nicht 100% kompatibel). Da Lazarus aber (noch) nicht sehr ausgereift ist, scheuen manche davor. (Also ein HelloWorld-Programm in Lazarus hat bei mir knapp über 1MB weggenommen).


    aeo



    Re: Delphi und die Möglichkeiten

    Xin - 25.02.2008, 15:15


    aeo hat folgendes geschrieben: Ja klar, das ist es ja. Man hat die gleichen Möglichkeiten etc. wie in C/C++, C#, Java usw. .
    Es ging darum, dass manche behaupten, dass man in Delphi nicht so viele Möglichkeiten hat und das will ich wiederlegen :) .
    Schön, wenn man eine Mission hat.

    "How many years can a mountain exist,
    before it is washed to the sea?"

    Egal was Du predigst, es wird kein Berg mehr kommen. Delphi ist bereits untergegangen.

    Die Frage ist also, wen Du mit Deinem Projekt beeindrucken willst? Wer Ahnung hat, lacht sich darüber kaputt, dass jemand soviel Zeit verschwendet, um Bekanntes zu belegen, wer keine Ahnung hat, wird Dich darauf hinweisen, dass Delphi tot ist und entsprechend gering die Möglichkeiten der Sprache sind.

    aeo hat folgendes geschrieben: Delphi wird aber sehr oft an Schulen unterrichtet!
    Das ist sehr schön. Du wirst lachen, ich durfte Delphi noch an einer Hochschule lernen. 1999 habe ich für 1,5 Jahre Delphi programmiert an der Hochschule.
    Ich habe Delphi seitdem nie wieder gebraucht. Anschließend habe ich meinen Kommilitonen C beigebracht, weil die Realität der Informatik nunmal nicht auf Delphi aufbaut und die Leute bei der Entwicklung eines Linux-Treibers mit Delphi ziemlich aufgeschmissen waren.
    Der Jahrgang nach uns wurde in Java unterrichtet - die konnten dann auch keine Linux-Treiber programmieren, aber Unterricht in Java ist wenigstens nicht vollkommen sinnfrei.

    Das darfst du gerne ändern, allerdings solltest du Dir sicher sein, dass es überhaupt noch eine Zukunft für Delphi gibt. Soweit ich weiß, hat sich Borland aus der Delphi-Entwicklung zurückgezogen.
    Pascal hat sich egal ob als Pascal, Delphi, OPascal oder Kylix in meiner Laufbahn immer schnell als Sackgasse erwiesen.

    Wenn Du Spaß hast eine VM zu entwickeln, finde ich das gut. VMs sind ein interessantes Thema, ich habe selbst eine Eigenentwicklung hier. Grade bei einer VM wäre ich allerdings definitiv niemals auf die Idee gekommen, dass in einem Pascal-Dialekt zu machen.

    Was soll Deine VM denn können?



    Re: Delphi und die Möglichkeiten

    aeo - 25.02.2008, 15:37


    Zitat: Schön, wenn man eine Mission hat. Stimmt.

    Zitat: Soweit ich weiß, hat sich Borland aus der Delphi-Entwicklung zurückgezogen.
    Da bist du falsch informiert... Borland hat sich von Kylix (schon seit Jahren) zurückgezogen, aber Delphi wird weiterentwickelt.

    Mir ging es nicht darumfür Delphi zu werben oder so. Delphi bietet dennoch die gleichen möglichkeiten we C++ (zumindest auf Windows).

    Zitat: Was soll Deine VM denn können? Also meine VM soll eine sehr bescheidene VM werden :wink: . Sie Soll Register simulieren (EAX, EBX, ECX, EDX + weitere, bei bedarf kann man auch noch auf ein dynamisches Array zugreifen, welches also nahezu unendlich speicherplatz bietet), Stack simulieren, I/O. Vieleicht lass ich mir noch ein paar Sachen einfallen, also mich hat's gewundert, dass ich mit "Einfachsodrauflosprogrammieren" so weit gekommen bin.


    aeo



    Re: Delphi und die Möglichkeiten

    Xin - 25.02.2008, 16:05


    aeo hat folgendes geschrieben: Zitat: Schön, wenn man eine Mission hat. Stimmt.
    Vielleicht kann man seine Energie auch auf etwas anderes lenken.

    Zitat: Soweit ich weiß, hat sich Borland aus der Delphi-Entwicklung zurückgezogen.
    Da bist du falsch informiert... Borland hat sich von Kylix (schon seit Jahren) zurückgezogen, aber Delphi wird weiterentwickelt.[/quote]
    Ich las vor nicht alzulanger Zeit, dass sich Borland ins Dienstleistergewerbe zurückzieht. Wenn Borland seine Entwickler abzieht, muss sich die Nachfolgefirma erstmal einarbeiten. Das kostet Zeit, in der Delphi noch mehr seiner Position verliert. Eine Position, die Plattformabhängig ist. Pascal spielt auf Linux und Unix (aktuell z.B. Macintosh) überhaupt keine Rolle.

    aeo hat folgendes geschrieben: Mir ging es nicht darumfür Delphi zu werben oder so. Delphi bietet dennoch die gleichen möglichkeiten we C++ (zumindest auf Windows).
    Schön, aber es bietet nur eine begrenzte Community. Wenn Du Windows den Rücken kehren willst, verlierst Du Deine Kenntnisse und Erfahrungen gleich mit. Bei C++ habe ich die Möglichkeit mich deutlich freier zu bewegen. Meine Software wird auf Amiga, Linux und Mac kompiliert. Auf Windows würde sie auch kompilieren, aber Windows benutze ich kaum bis gar nicht.

    aeo hat folgendes geschrieben: Zitat: Was soll Deine VM denn können? Also meine VM soll eine sehr bescheidene VM werden :wink: . Sie Soll Register simulieren (EAX, EBX, ECX, EDX + weitere, bei bedarf kann man auch noch auf ein dynamisches Array zugreifen, welches also nahezu unendlich speicherplatz bietet), Stack simulieren, I/O. Vieleicht lass ich mir noch ein paar Sachen einfallen, also mich hat's gewundert, dass ich mit "Einfachsodrauflosprogrammieren" so weit gekommen bin.
    Weshalb und wie simulierst Du Register?
    Wie sieht ein Move Befehl bei Dir aus, bzw. Befehle allgemein?



    Re: Delphi und die Möglichkeiten

    aeo - 25.02.2008, 17:58


    Also okay, Borland macht an Delphi garnichts mehr, dafür aber CodeGear (eine direktes Tochterunternehmen).

    Zitat: ... C++ ...

    Ja, bin auch eifrig am lernen :) .

    Zitat:
    Weshalb und wie simulierst Du Register?

    Um möglichst gut eine Maschine zu simmulieren ;) .
    Meine derzeitige Methode ist etwas unelegant... Hab die E-X register als globale Variablen vom Typ Variant deklariert, später will ich sie aber als Integer machen (Geschwindigkeit) und dann andere Typen per Type-Casting draufschreiben.

    Zitat: Wie sieht ein Move Befehl bei Dir aus, bzw. Befehle allgemein?

    mein MOV-Befehl löst intern eine Funktion auf:

    Code:
    procedure MoveToRegister(const X: Variant; RegName: string);
    begin
      PVariant(GetRegister(RegName))^ := X;
    end;


    Angeordnet sind die einzelnen Befehle mit einer Case-Struktur:

    Code:
    procedure Emulate(const Source: TCompiledSourceFile);
    var
      index: integer;
    begin
      index := 0;
      repeat
        case Source[index].C of
          LIT:
          LOD:
          CAL:
          WRI:
          REA:
          JMP:
          RET:
          MOV:
          OPR:
          INT:
          LFS:
        end;
        inc(index);
      until index := high(Source);
    end;

    Ist halt noch nicht ganz fertig. Sind teilweise noch recht viele Fehler drinn, aber bin am Debuggen, weiterproggen.



    Re: Delphi und die Möglichkeiten

    Xin - 25.02.2008, 18:27


    aeo hat folgendes geschrieben: Also okay, Borland macht an Delphi garnichts mehr, dafür aber CodeGear (eine direktes Tochterunternehmen).
    Afair wurden der ganze Compilerkrams verkauft.

    aeo hat folgendes geschrieben: Zitat: ... C++ ...
    Ja, bin auch eifrig am lernen :) .
    Du lernst C++, programmierst Dir aber 'nen Wolf um zu beweisen, dass Delphi genauso gut ist?

    aeo hat folgendes geschrieben: Zitat:
    Weshalb und wie simulierst Du Register?

    Um möglichst gut eine Maschine zu simmulieren ;) .
    Meine derzeitige Methode ist etwas unelegant... Hab die E-X register als globale Variablen vom Typ Variant deklariert, später will ich sie aber als Integer machen (Geschwindigkeit) und dann andere Typen per Type-Casting draufschreiben.
    Castings in Pascal... <kopfschüttel>
    Sowas dürfen nur C Programmierer. ;-)

    Meine VM hat genau zwei Register: InstructionPointer und StackPointer.

    aeo hat folgendes geschrieben: Zitat: Wie sieht ein Move Befehl bei Dir aus, bzw. Befehle allgemein?

    mein MOV-Befehl löst intern eine Funktion auf:
    Das meine ich nicht, mich interessierte, wie Du die Register in den Befehl kodierst, wie breit Deine Befehle sind usw.

    aeo hat folgendes geschrieben: Angeordnet sind die einzelnen Befehle mit einer Case-Struktur:
    [...]

    Ist halt noch nicht ganz fertig. Sind teilweise noch recht viele Fehler drinn, aber bin am Debuggen, weiterproggen.
    Okay, also jeder Befehl ist ein int, so geht's natürlich auch.

    Semantisch lehne ich mich an eine Motorola 68000 CPU an, die Befehle sind 16 Bit breit und die Bits sind gruppiert, um Befehlsklasse, Befehl, Datenbreite usw auf die 16 Bit zu kodieren. Als besondere Erweiterung baue ich noch eine Unterscheidung zwischen BigEndian und LittleEndian ein, weil die Programme wirklich unter verschiedenen CPUs nativ laufen sollen.
    Könnte mir gut vorstellen, dass Deine VM schneller wird als meine (obwohl meine zurzeit etwa gleich schnell ist wie Perl, was ich schon recht gut fand), aber dafür würden Deine Programme deutlich größer. Ich vermute aber, dass Deine Register Dich deutlich stärker ausbremsen, als mich meine Bitpulerei. ^^



    Re: Delphi und die Möglichkeiten

    aeo - 25.02.2008, 18:36


    Mein Stack ist noch nicht fertig. Wie hast du den realisiert?

    Ich werde wahrscheinlich noch Direktiven einführen, mit denen ich einstellen kann, welche register benötigt werden. Z.B. wenn ich gerade EAX für eine längere Zeit nicht brauche, dann schalt ich es einfach aus ;) .
    Betzüglich der Größe der Dateien:
    Ich hab da einen kleinen Trick angewand: Ich speichere die Daten als packed record ab, um weniger Speicherplatz zu verbrauchen, aber wenn dann das Programm geladen wird, wird dieser packed record in ein normales record gewandelt, um mehr performance zu erzielen ;) . Die Ladezeiten sind zwar dadurch größer, aber der Ablauf selbst schneller. Haachh.... ich bin einfach genial.... :D


    aeo



    Re: Delphi und die Möglichkeiten

    Xin - 25.02.2008, 18:46


    aeo hat folgendes geschrieben: Mein Stack ist noch nicht fertig. Wie hast du den realisiert?
    Hehehe... einen Stack zu realisieren ist verhältnismäßig einfach. Nimm Dir ein Stück Speicher und einen Zeiger, der draufzeigt. Und wenn Du was schreibst, verschiebst Du den Zeiger in die eine Richtung, wenn Du was liest, schiebst Du ihn wieder zurück.

    Spaßig wird es, wenn Du den Stack organisieren musst, um zum Beispiel sowas zu basteln:

    Code:
      sub( add( 1, 2 ), add( 3, 4 ) );


    Du rufst func( 1, 2 ) und das Ergebnis 3 irgendwo speichern (z.B. Stack), während add( 3, 4 ) ebenfalls auf dem Stack schreiben will. Im Idealfall bleibt dann alles so auf dem Stack liegen, dass Du einfach sub aufrufen kannst.
    Da durfte ich auch etwas dran knabbern ;-)

    aeo hat folgendes geschrieben: Ich werde wahrscheinlich noch Direktiven einführen, mit denen ich einstellen kann, welche register benötigt werden. Z.B. wenn ich gerade EAX für eine längere Zeit nicht brauche, dann schalt ich es einfach aus ;) .
    Wie soll eine Abfrage, ob ein Register verwendet wird, Zeit sparen?
    Verwende es doch einfach nicht.

    aeo hat folgendes geschrieben: Betzüglich der Größe der Dateien:
    Ich hab da einen kleinen Trick angewand: Ich speichere die Daten als packed record ab, um weniger Speicherplatz zu verbrauchen, aber wenn dann das Programm geladen wird, wird dieser packed record in ein normales record gewandelt, um mehr performance zu erzielen ;) . Die Ladezeiten sind zwar dadurch größer, aber der Ablauf selbst schneller. Haachh.... ich bin einfach genial.... :D
    Meine Daten sind bereits kompakter und 'nen Packer könnte ich notfalls auch nochmal drüber laufen lassen, wenn's denn sein müsste.
    Der ByteCode ist in etwa genauso groß, wie ein echtes Programm - schließlich ist der Aufbau ebenfalls wie ein normales natives Programm.



    Re: Delphi und die Möglichkeiten

    aeo - 25.02.2008, 18:52


    Zitat: Spaßig wird es, wenn Du den Stack organisieren musst, um zum Beispiel sowas zu basteln:
    Code: sub( add( 1, 2 ), add( 3, 4 ) ); Wuhaha, ich würde an deiner Stelle den Postfix benutzen, also:

    Code:
    sub 1 2 + 3 4 +


    Ich sehe, wir können uns (zummindest du mir) gegenseitig nützlich sein :) .



    Re: Delphi und die Möglichkeiten

    Xin - 26.02.2008, 00:36


    aeo hat folgendes geschrieben: Zitat: Spaßig wird es, wenn Du den Stack organisieren musst, um zum Beispiel sowas zu basteln:
    Code: sub( add( 1, 2 ), add( 3, 4 ) ); Wuhaha, ich würde an deiner Stelle den Postfix benutzen, also:

    Code:
    sub 1 2 + 3 4 +

    Ich arbeite an einer Programmiersprache, in die ich die Erfahrungen von bisher 21 Jahren Programmierung stecke. Infix-Operatoren zählt noch nicht in den Bereich, deren Verwirklichung ein Problem darstellen sollten. ;-)
    Postfix unter Berücksichtigungen der Operatorprioritäten ist das Ziel, aber wer will schon so programmieren!?

    aeo hat folgendes geschrieben: Ich sehe, wir können uns (zummindest du mir) gegenseitig nützlich sein :) .
    Ich kann sicherlich Fragen beantworten, wenn ich dazu komme und ich kann sicherlich grade in dem Bereich weit genug über das Anfänger Niveau hinaus Fragen beantworten.
    Die Beantwortung derartiger Fragen nimmt in der Regel allerdings größere Ausmaße an, von daher rate ich bei sowas erst z.B. zum Drachenbuch, um dann die Details zu klären, wenn ich sehe dass sich das überhaupt lohnt.

    Eine VM ist aber immerhin schonmal ein bemerkenswertes Projekt.



    Re: Delphi und die Möglichkeiten

    aeo - 26.02.2008, 15:11


    Zitat: aber wer will schon so programmieren!?
    Das Ziel meiner VM ist ja nicht leicht zu sein, sondern die Grundlage für eine Scriptsprache zu werden. Meistens wird ja bei sowas erst der Scanner, dann der Parser, dann [...], dann die VM geschrieben. Ich mach's halt rückwärts.

    Zitat: Erfahrungen von bisher 21 Jahren Da kann ich mit meinen 1,5 Jahren wohl nicht mithalten (obwohl ich, unbescheidener Weise, sagen muss, dass ich doch für 1,5 Jahre schon recht viel gelernt hab').

    Zitat: Ich kann sicherlich Fragen beantworten, wenn ich dazu komme und ich kann sicherlich grade in dem Bereich weit genug über das Anfänger Niveau hinaus Fragen beantworten. Vielen Dank, ich werde bestimmt irgentwann darauf zurück kommen ;) .


    [ADD]
    Code:
    sub 1 2 add 3 4 add

    Um's korrekt auszudrücken.
    [/ADD]

    aeo



    Re: Delphi und die Möglichkeiten

    Xin - 26.02.2008, 18:40


    aeo hat folgendes geschrieben: Zitat: aber wer will schon so programmieren!?
    Das Ziel meiner VM ist ja nicht leicht zu sein, sondern die Grundlage für eine Scriptsprache zu werden. Meistens wird ja bei sowas erst der Scanner, dann der Parser, dann [...], dann die VM geschrieben. Ich mach's halt rückwärts.
    Und wie testest Du Deine VM denn...?

    aeo hat folgendes geschrieben: Zitat: Erfahrungen von bisher 21 Jahren Da kann ich mit meinen 1,5 Jahren wohl nicht mithalten (obwohl ich, unbescheidener Weise, sagen muss, dass ich doch für 1,5 Jahre schon recht viel gelernt hab').
    Ich sagte ja bereits, dass eine VM nach 1,5 Jahren durchaus interessant sein kann - ich weiß ja nicht, was Deine VM so alles kann.
    Aber alleine schon Ausdrücke wie Postfixnotation oder derartiges höre ich eher seltener von Einsteigern.

    aeo hat folgendes geschrieben: Zitat: Ich kann sicherlich Fragen beantworten, wenn ich dazu komme und ich kann sicherlich grade in dem Bereich weit genug über das Anfänger Niveau hinaus Fragen beantworten. Vielen Dank, ich werde bestimmt irgentwann darauf zurück kommen ;) .
    Ich befürchtete derartiges schon. ;-)



    Re: Delphi und die Möglichkeiten

    aeo - 26.02.2008, 20:17


    Zitat: Und wie testest Du Deine VM denn...?

    Ich schreib' ein Programm, mit dem ich Befehle zu einem "CompiledSourceFile" zusammen basteln kann. Also mit so Eingabefeldern und so, das wird einfacher, als das zu Parsen, Scannen etc. . So teste ich das dann und kann veränderungen etc durchführen. Teilweise hab' ich auch schon mit temporären Projekten getestet (Immer das was ich gerade brauchte da rein geschrieben, kompiliert).

    Zitat: Ich sagte ja bereits, dass eine VM nach 1,5 Jahren durchaus interessant sein kann Nein, du sagtest, dass eine VM durchaus interessant sein kann (oder so ähnlich), aber nicht das mit den 1,5 Jahren. :P

    Zitat: Ausdrücke wie Postfixnotation Die weiß ich eigentlich nur, weil ich mich vorher (und währenddessen) schon ein bisschen informiert hab'.

    Zitat: Ich befürchtete derartiges schon. ;-) Sei froh, dass du nichts schlimmeres zu befürchten hast :twisted: .



    Mit folgendem Code, können Sie den Beitrag ganz bequem auf ihrer Homepage verlinken



    Weitere Beiträge aus dem Forum Tutorials.at

    Ich Verstehe nicht was das ganze Variable ist - gepostet von Fro0zen am Sonntag 17.09.2006
    Variablen Speichern - gepostet von Wüstling am Donnerstag 10.05.2007
    Falsche Daten bei großen Zahlen - gepostet von DrPhil_Guth am Sonntag 08.10.2006
    Erstellen von Grafiken mit Virtual Pascal - gepostet von Null am Montag 15.05.2006
    User gesucht Programmiersprache C - gepostet von geek.90 am Samstag 19.05.2007
    hilfe bei Prog - gepostet von niki1 am Sonntag 03.06.2007
    Ne frage - gepostet von CRASH am Samstag 27.01.2007
    Befehle / Funktionen - gepostet von Walgo am Mittwoch 18.07.2007
    Dev C++ - gepostet von F.U.C.K.U.P am Donnerstag 03.08.2006



    Ähnliche Beiträge wie "Delphi und die Möglichkeiten"

    Dj Dali - Dali (Sonntag 24.02.2008)
    Frayn, Michael - Das Spionagespiel - alwin03 (Sonntag 24.02.2008)
    Besucherzahlen & Einnahmen der WWE Shows - Angel (Montag 25.02.2008)