undokumentierte Konstanten

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
Blackskyliner
Beiträge: 532
Registriert: 28.07.2005 00:54
Wohnort: /home/Blackskyliner/

Re: undokumentierte Konstanten

Beitrag 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
Keine meiner Antworten ist endgültig, es kann passieren, dass ich den so eben geposteten Beitrag noch mehrmals ändere, um Doppelposts zu umgehen.
_________________
Purebasic Windows 7 x64 & Linux (Ubuntu 10.04LTS) 4.50[x64|x86] Nutzer
_________________
Projekte: YAED - Yet another Event Dispatcher
KPA
Beiträge: 35
Registriert: 10.06.2010 22:53

Re: undokumentierte Konstanten

Beitrag 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.
Benutzeravatar
Josh
Beiträge: 1028
Registriert: 04.08.2009 17:24

Re: undokumentierte Konstanten

Beitrag 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.
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Re: undokumentierte Konstanten

Beitrag 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.
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
KPA
Beiträge: 35
Registriert: 10.06.2010 22:53

Re: undokumentierte Konstanten

Beitrag 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 ?
freak
PureBasic Team
Beiträge: 766
Registriert: 29.08.2004 00:20
Wohnort: Stuttgart

Re: undokumentierte Konstanten

Beitrag von freak »

Das führt zu nichts mehr...
Gesperrt