Seite 5 von 5

Re: undokumentierte Konstanten

Verfasst: 28.06.2010 21:58
von Blackskyliner
KPA hat geschrieben:An Toms

und was ist mit der Möglichkeit, daß nur ein Multipass Compiler die Fähigkeit besitzt weitergehende Optimierungen am Code zu machen ? Die Tatsache daß man MPC nicht bräuchte wenn man declare verwendet oder die Prozeduren an den Anfang stellt stimmt schon. Und umgekehrt, mit einem MPC kann man seine Prozeduren weiterhin an den Anfang stellen und seine Main ans Ende. Also stört euch der MPC doch nicht!!
Was sollte Purebasic bitte Optimieren wollen, wo es doch gar nichts zu optimieren gibt? Viele steps beim Optimieren kommen dadurch zustande, eben WEIL ein Multi-Pass genutzt wird. Nicht zu vergessen, das es auch das Über-optimieren gibt, was zu Fehlern führt. Purebasic ist in vielen Fällen schon extrem optimiert, für alles andere sorgen die Mitglieder der Community. Nicht zu vergessen, dass man beim optimieren am ende nicht unbedingt weiß was am ende den Fehler ausgelöst hat -> viele falsche Bugmeldungen beim Team, die durchs optimieren kommen und ohne gar nicht auftreten würden... -> Weniger Zeit wirklich WICHTIGE Bugs zu fixen oder ggf. neue Features hinzufügen oder bestehende zu optimieren.

All deine Versuche, deine Argumente, sind hinfällig, da du dich mit der Materie nicht auskennst und nur darauf hin schreibst. Die machen das so, es gibt viele da, etc. pp. Dann GEH doch zu denen die es so machen wie du willst? Was hindert dich daran dir eine eigene Art MultiPass zu bauen, die du dann per ToolChain in der IDE aufrufst und die kann dann alles Optimieren, Deklarieren, etc. DANN wirst du mal merken wie schwer es überhaupt ist, generische Optimierungen für alle möglichen Arten von Problemen zu definieren und zu implementieren, so das dadurch keine Bugs zustande kommen.

Normalerweise halte ich mich ja aus sowas raus, aber wenn hier so "rumgetrollt" wird, ohne auch nur entsprechende Kenntnisse zu zeigen oder Anerkennung dessen gegenüber zu stellen, was bisher schon existiert...

Na dann warte ich mal auf das nächste Argument welches wirklich toll meinen gesamten Beitrag ignoriert, entsprechend noch sagt, stell dich nicht gegen den Fortschritt und/oder Multipass halt keine Nachteile oder vertretbare... Oft genug gehört! Die Schallplatte ist gesprungen! wechseln oder ausschalten!

MFG
Blackskyliner

Re: undokumentierte Konstanten

Verfasst: 28.06.2010 22:03
von KPA
Hi TomS

genau das tue ich, die Stärken der Compiler suchen. Und das PureBasic ein SPC ist, ist keine Stärke.
Auch PowerBasic hat Nachteile ganz klar. Diese Nachteile aufzuzählen um den Stand von PureBasic zu rechtfertigen ist sicher auch nicht richtig. Auch die Aussage von Vera, weil man diesen Nachteil SPC beim PureBasic hat und damit nicht zufrieden ist gleich wieder zur alten Sprache wechseln zu müssen entbehrt auch jeder Logik.

Aber ihr argumentiert daß es Tools gibt, die einem die Arbeit declares manuell zu setzen abnehmen. Mein Vorschlag war ja nur, ein solches Tool direkt in die IDE vom PureBasic derart zu integrieren, daß es der Compiler beim compilieren gleich macht ohne das man ein extratool aufrufen und verwenden muß. War das so schlimm ?? Keiner von euch braucht dafür an seinen bisherigen Programmen was ändern, jeder kann seine wie auch immer geartete Logik und Tricksereien wie Vera weiter verwenden aber Purebasic würde noch mehr Nutzer finden, auch neue, die solche Hilfestellungen durch den Compiler zu schätzen wissen.

Sind nicht auch die namhaftesten und verbreitesten Compiler wie C++ C#net etv. MPC ?

Aber ich simme dir zu, daß Fred dadurch Arbeit hätte, wie bei jeder Verbesserung und Erweiterung halt.

Re: undokumentierte Konstanten

Verfasst: 28.06.2010 22:10
von Josh
TomS hat geschrieben:So wie ich das sehe, würde es aber einen sehr erheblichen Mehraufwand für Fred und Co bedeuten PB in einen MPC zu verwandeln. Im schlimmsten Fall müsste der Compiler sogar zu 100% neu geschrieben werden.
Und ich glaube nicht, dass irgendwelche weiteren Optimierungen, die ein MPC ermöglicht diesen Mehrufwand aufwiegen können.
:praise: :praise: :praise: :praise: :praise: :praise: :praise: :praise: :praise: :praise: :praise: :praise: :praise: :praise:
auch wenn in ts-soft seinem link schon alles gesagt ist, danke für diese aussage. wäre ja zu einfach gewesen, wenn das jemand gleich am anfang so rein stellt als andauernd irgendwelche pseudoargumete zu verwenden.
KPA hat geschrieben:Ja das mit dem Beleidigen dachte ich mir auch als Ts-soft mir unterstellte, den Rest hätte ich nicht verstanden
eigentlich sollte ich es ja erst mal selber beherzigen, aber mach dir bei ts-soft keine zu großen kopfzerbrechen wegen beleidigungen. ts kann gut austeilen, aber er hat den vorteil, dass er auch genau so gut einstecken kann und in keinster weise nachtragend ist. er hat ne dicke, aber gute haut und ist auch immer mit guten tipps zur stelle.

Re: undokumentierte Konstanten

Verfasst: 28.06.2010 22:12
von ts-soft

Code: Alles auswählen

CompilerIf Defined("bla", #PB_Procedure)
  Procedure blub()
  EndProcedure
CompilerEndIf

CompilerIf Defined("blub", #PB_Procedure)
  Procedure bla()
  EndProcedure
CompilerEndIf
PB würde in diesem Falle nichts davon kompilieren.
Mit automatischem Declare werden beide hinzugefügt.
Ein MPC würde evtl. hunderte von Compilerdurchläufen brauchen um das sicher auszulösen
(nicht dieses kleine Beispiel, ich rede von richtig grossen Codes).

Hoffentlich wird das hier bald geschlossen, hat sowieso keinen Sinn.

Re: undokumentierte Konstanten

Verfasst: 28.06.2010 22:13
von KPA
Single-pass-Compiler
Compiler, der in einem einzigen Durchlauf aus dem Quellcode den Zielcode erzeugt (im Gegensatz zum Multi-pass-Compiler). Üblicherweise ist ein derartiger Compiler sehr schnell, aber kann nur einfache Optimierungen durchführen. Nur für bestimmte Programmiersprachen, zum Beispiel Pascal, kann ein Single-Pass-Compiler erstellt werden.

Multi-pass-Compiler
Bei diesem Compilertyp wird der Quellcode in mehreren Schritten in den Zielcode übersetzt. In den Anfangszeiten des Compilerbaus wurde der Übersetzungsprozess hauptsächlich deshalb in mehrere Durchläufe zerlegt, weil die Kapazität der Computer oft nicht ausreichte, um den vollständigen Compiler und das zu übersetzende Programm gleichzeitig im Hauptspeicher zu halten. Heutzutage dient ein Multi-pass-Compiler vor allem dazu, Vorwärtsreferenzen (Deklaration eines Bezeichners nach dessen erster Verwendung) aufzulösen und aufwändige Optimierungen durchzuführen.

Das ist die Erklärung die ihr mir für den Unterschied der beiden Compiler gegeben habt. Merkwürdige, nun ist laut ts-soft plötzlich der SPC derjenige der bessere Optimierungen hinbekommt ?

Re: undokumentierte Konstanten

Verfasst: 28.06.2010 22:23
von freak
Das führt zu nichts mehr...