Ergebnis 1 bis 13 von 13

Thema: Programmiersprachenvergleich

  1. #1

    Programmiersprachenvergleich

    Mehr oder minder aus Interesse an einer guten RPG-Maker-XP-F.A.Q. erstelle ich gerade einen Vergleich zwischen mehreren Programmiersprachen, bin mir allerdings bei einigen Punkten nicht sicher.
    Die bisherige Tabelle basiert primär auf dem, was ich aus dem Kopf so wusste - und das ist gerade bei Python nicht unbedingt viel :S.
    Fehlen noch (wichtige) Punkte, die in einem kurzen (!) Überblick drin sein sollten und kann jemand die "??"-Felder komplettieren?

    http://rpga.info/Liste.txt

    Ich möchte hier jetzt allerdings keinen Glaubenskrieg, warum ich gewisse Sprachen da reingenommen habe und warum andere nicht, das hat seine Gründe ;P.

  2. #2
    Optject Pascal heißt schon seit etlichen Versionen schlicht Delphi (afair ab 3 oder 4).
    Was meinst du mit "Weiterleitung"? Vererbungen sind in Delphi auch mehrfach möglich,a lso

    Code:
    TDing
     |-> TFahrzeug
       |-> TSrassenfahrzeug
         |-> TAuto
         |-> TPanzer
       |-> TWasserfahrzeug
         |-> TUBoot
         |-> TJacht
    und jedes hat die entsoprechenden Eigenschaften des Vorgängers.

  3. #3
    Die unterliegende Sprache heißt immer noch Object-Pascal, desweiteren ist das, was du meinst, nicht das, was man als "mehrfache" Vererbung definiert.
    Das ich mehrere Klassen aus einer Superklasse erstellen kann ist logisch, "mehrfache" Vererbung und Mix-In sind allerdings Konzepte, bei denen du eine Klasse aus mehreren Superklassen erzeugst.

    Beispiel (C++, wird zwar nicht gehen, aber vom Konzept her :P):
    Code:
    class A { public: virtual void lalala() = 0; }; 
    class B : virtual public A { public : virtual void lalala() {}
    };
    class C : virtual public A {};
    class D : public B, public C {};
    Damit hast du eine Klasse D, die die sehr effektiven und unglaublichen Vorteile der Klassen B und C in sich vereinnahmt... err.. nuja... in der Praxis, mit anderen Beispielen :P

  4. #4
    Zu Python (ich geb jetzt mal etwas ausführlichere Erklärungen, schreib dann rein, was du willst):

    Typ: Kann sowohl prozedural als auch objektorientiert eingesetzt werden.

    Interpretiert/Kompiliert: Interpretiert, verwendet allerdings auch Bytecode (den man allerdings nicht wie bei Java extra kompilieren muss, der wird beim ersten Import eines Moduls automatisch erzeugt und später direkt verwendet, wenn das Source-File nicht neuer ist als die Datei mit dem Bytecode)

    Wurzelklasse: Weiß ich nicht so genau, für sog. new-style-Klassen object, für andere kA

    Klassen: Ja

    Private Variablen: Technisch nein, Konvention ist, dass Variablen, deren Namen mit einem Unterstrich (_) beginnen, von außen nicht benutzt werden; möglich ist das trotzdem.

    Private Methoden: s. private Variablen

    Metaklassen: Ja (type als oberste Metaklasse; im Gegensatz zu z.B. Ruby kann man auch eigene Metaklassen erstellen)

    Typisierung: dynamisch

    Weiterleitung: kA, ich würde eher sagen Nein, bin mir aber nicht sicher.

    Vererbung: mehrfach

    Templates: Nicht notwendig

    Polymorphie: Ja

    Überladen von Operatoren: Ja

    Garbage Collection: Ja

    Nebenläufigkeit: Ja (Standardlibrary)


    #hinzugefügt 00:31:

    Laufzeitzugriff auf:
    Methoden: Ja

    Klassen: Ja

    Variablen: Ja

    ----------
    Ich hoffe jetzt, das ist soweit richtig (wobei's hier afaik eh keine anderen Python-Programmierer gibt, von daher wird's mir wohl keiner sagen^^)

  5. #5
    Zitat Zitat von Sephiroththe23
    Die unterliegende Sprache heißt immer noch Object-Pascal,
    eben nicht. z.B. Wikipedia:
    Zitat Zitat
    Delphi basiert auf der Programmiersprache Object Pascal. Borland benannte Object Pascal jedoch 2003 in Delphi-Language um, mit der Begründung, dass sich bereits so viel in der Sprache verändert habe, dass man es nicht mehr mit Pascal vergleichen könne.
    Es hieß mal so, aber es heißt Delphi (wie auch die IDE)

  6. #6
    Ok, das ist aber in Programmiersprachen-Zeit ungefähr gestern gewesen, mag sein, dass es nun Delphi-Language heißt, aber ich bevorzuge weiterhin die alte Bezeichnung - werde das aber ergänzen.

  7. #7
    Darf ich dich an zwei stellen korrigieren Sephi ?

    a) Object Pascal (Zumindest in Delphi) hat ebenso wie Java Interfaces sowohl als auch Propertys (In Java als Beans bekannt)

    b) Wenn du mit Nebenlaeufigkeit Multithreading meinst, so verfuegt Object Pascal durchaus ueber native Sprachkonstrukte zur Threadsynchronisation.

  8. #8
    Klar Luki, ist bei den meisten Sprachen ja auch mehr oder minder veraltetes Wissen (wie exakt in dem Fall). Danke dir, geht ja darum, ne objektive Liste zu machen bei der man die Sprachen vergleichen kann und aufzeigen kann, das Ruby sich durchaus auch lohnt.

    Zitat Zitat
    a) Object Pascal (Zumindest in Delphi) hat ebenso wie Java Interfaces sowohl als auch Propertys (In Java als Beans bekannt)

    b) Wenn du mit Nebenlaeufigkeit Multithreading meinst, so verfuegt Object Pascal durchaus ueber native Sprachkonstrukte zur Threadsynchronisation.
    [/quote]
    a) Ok.
    b) Seit 7 denke ich dann mal? Gut, damit hab ich nicht wirklich gearbeitet.

  9. #9
    Zitat Zitat von Sephiroththe23
    b) Seit 7 denke ich dann mal? Gut, damit hab ich nicht wirklich gearbeitet.
    Das gabs bei Delphi schon immer. Dazu gibt es TThread und die synchronized Methode.
    Die VCL ist ja untrennbar mit Delphi verbunden.

  10. #10
    Oh, ok.. ich mochte die Sprache halt nie und hab zwar eigentlich alles, was ich jemals machen wollte damit hingekriegt und hätte wohl auch das erfahren, wenn sie denn wirklich zu meinem stets benötigten Repertoire gehören würde/ich es mal gebraucht hätte.

    Danke auf jeden Fall.
    Dann fehlt mir nur noch primär die Sicherstellung, dass alles zu ST-98 korrekt ist (wobei ich da selbst gerade wieder zwei Werke wälze und mich einarbeite, ST-98 ist wirklich schön) und die Überlegung, ob noch eine wichtige Eigenschaft fehlt.

  11. #11
    Vielleicht solltest du mal 'ne geupdatete Version der Liste online stellen (damit wir alle auf dem aktuellen Stand sind). Im IRC hattest du außerdem noch erwähnt, evtl. die Fehlerbehandlung reinzunehmen, das halte ich für eine gute Idee.

  12. #12
    Ja, hatte ich vor, ich war nur im Stress

    - und getan.

    Geändert von jwiechers (04.04.2006 um 14:30 Uhr)

  13. #13
    Hm .. Wenn du mit Laufzeitzugriff auf Klassen, Variablen, etc meinst, das man zur Laufzeit Informationen ueber Klassen holen kann, waehrend der Laufzeit neue Objekte einer Klasse erzeugen kann, die man nur vom Namen her kennt, und aus Strings heraus Quelltext verarbeiten kann, dann kann das alles Object Pascal nicht, genau so wenig, wie C++

    Im Uebrigen, was meinst du mit "Weiterleitung" ?

    Und bist du dir sicher, dass Delphi eine Garbage Collection hat ? Mir waere das jedenfalls neu Oo

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •