Seite 4 von 5

Re: undokumentierte Konstanten

Verfasst: 28.06.2010 20:56
von KPA
Also mal ehrlich an alle Multipass Gegner.
Es kann doch wohl nicht sein, daß das automatische Setzen der Declare Befehle durch den Compiler ernsthaft

- das kompilieren merklich verlangsamt
- irgendwelcher Quellcode neu zu schreiben ist (es sei denn ihr habt unsinnig programmiert)
- die Exe langsamer laufen lassen soll (Prozeduren die nicht aufgerufen werden verlangsamen doch nicht die exe nur weil ein declare dafür da ist)

Was wollt ihr ? Stagnation ?? Warum seid ihr nicht dann bei DOS geblieben dann hättet ihr euch nicht die Mühe machen müssen die Programme für Wondows neu zu schreiben

Ich möchte nicht auf Verbesserungen verzichten müssen nur weil ihr alt hergebracht seid !!!!

Re: undokumentierte Konstanten

Verfasst: 28.06.2010 21:11
von ts-soft
Warum bist Du nicht bei PowerBasic geblieben, wenn es doch so toll ist.

Den Rest haste anscheinend nicht verstanden, aber es geht jetzt wohl wieder von vorne los :mrgreen:

Bitte schliessen!

Re: undokumentierte Konstanten

Verfasst: 28.06.2010 21:19
von Vera
KPA hat geschrieben:Was wollt ihr ? Stagnation ?? Warum seid ihr nicht dann bei DOS geblieben
hä ? - warum bleibst Du denn dann nicht bei bei PowerBasic ?
KPA hat geschrieben:Ich möchte nicht auf Verbesserungen verzichten müssen nur weil ihr alt hergebracht seid !!!!
Denkst Du ernsthaft, dass Beleidigen eine fruchtbare Argumentation sei ?

Vera

Re: undokumentierte Konstanten

Verfasst: 28.06.2010 21:25
von TomS
KPA hat geschrieben:Also mal ehrlich an alle Multipass Gegner.
Es kann doch wohl nicht sein, daß das automatische Setzen der Declare Befehle durch den Compiler ernsthaft

- das kompilieren merklich verlangsamt
- irgendwelcher Quellcode neu zu schreiben ist (es sei denn ihr habt unsinnig programmiert)
- die Exe langsamer laufen lassen soll (Prozeduren die nicht aufgerufen werden verlangsamen doch nicht die exe nur weil ein declare dafür da ist)
Gugg dir doch nochmal den Link an, wo Freak alles erklärt.
Wenn alle Prozeduren richtig deklariert sind, brauch es eben keinen Multi-Pass-Compiler.
-> Multipass-Compiler, nur weil einige zu faul sind, ihre Prozeduren in der richtigen Reihenfolge zu schreiben, oder eben das Declare-Keyword zu verwenden, ist Unfug.

Das was du hier als MPC darstellen willst, lässt sich ganz einfach durch Pre-Compiler oder IDE-Tools bewerkstelligen und verlangsamt das kompilieren natürlich nicht merklich.
Echtes Multipasscompiling aber schon.

Re: undokumentierte Konstanten

Verfasst: 28.06.2010 21:38
von KPA
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!!

Re: undokumentierte Konstanten

Verfasst: 28.06.2010 21:40
von KPA
@Vera

Ja das mit dem Beleidigen dachte ich mir auch als Ts-soft mir unterstellte, den Rest hätte ich nicht verstanden

Re: undokumentierte Konstanten

Verfasst: 28.06.2010 21:45
von KPA
Vera hat geschrieben:Hallo Ihr da,

dieser Thread und seine Links sind wirklich sehr aufschlußreich, schade nur, dass dafür eine unglückliche Vermischung von persönlicher Philosopie und technischen Gegebenheiten die Basis bildet.

Mir ist vieles klar geworden. Es gab eine grundsätzliche Entscheidung, eine, für Menschen leicht nachzuvollziehende Programmiersprache zu entwickeln und dies nicht nur rein semantisch. Dazu gehört auch die strenge Logik: was unbekannt ist, kann auch nicht verwendet werden.

Dies wiederum führt unweigerlich zu der Notwendigkeit, die Reihenfolge der Abläufe zu beachten. (also nicht schlampig coden ;) )
Das führt automatisch zu einem bestimmten strukturierten Aufbau des Codes und gewährleistet eine leichtere Orientierung und Nachvollziehbarkeit. Ebenso ist auch die chronologische Zuortenbarkeit von Fehler und Ursache der menschlichen Realität sehr entgegenkommend (entsprechend).

Genau dazu, ist dann auch ein SinglepassCompiler die stimmige Wahl, da er nur damit arbeitet, was er an gegebener Stelle kennt. Wie halt auch der Mensch an jedem Lebensort nur einmal vorbeikommt, und sich seine Handlungen ausschließlich daraus ergeben, was er bis zu diesem Zeitpunkt gelernt (erlebt) hatte.

Das scheint mir eine elementare Basis von PureBasic zu sein, die, an dieser Stelle geändert, PureBasic auflösen würde.
Multipass zu fordern, kann also nur auf Gegenwehr stoßen.

Ich empfehle sich eher darüber zu freuen, dass
- Vorwärtsdeklarationen erlaubt sind (dies entspräche der menschlichen Vorsehung)
- 'Tricksereien' möglich sind - also, sich eins der Tools oder anderer Lösungen zu bedienen, die die PureBasicGemeinschaft freizügig anbietet.

Grüße ~ Vera
1. Einerseits sprichst du vom logischen Programmieren in der richtigen Reihenfolge, gleich weiter unten dann von trickserein die sicherlich nicht ordentliches programmieren darstellen (Logik wo bist du)
2. Warum bietet PureBasic dann überhaupt declare ?????? nach euren Aussagen müsste doch dieser Befehl dann ganz fehlen

Re: undokumentierte Konstanten

Verfasst: 28.06.2010 21:49
von mk-soft
@KPA,

Purebasic ist halt anders als Powerbasic. Ich bin mit Powerbasic gar nicht klar gekommen (PBDLL61).
Windowsfenster zu erstellen war mir zu viel Code. Mit der Syntax kam ich nicht klar, ...

Da war mir als alter Basic, Pascal, C-Code und ASM Programmer der Einstieg in die Windowsprogrammierung mit Purebasic viel mehr entgegenkommend. Vor allen der strenge sequenzielle Ablauf entspricht meiner Denkweise wie sauber Programme zu arbeiten haben.

Ab und zu muss ich noch alte VB6 Programme überarbeiten, oder irgendwelche VB- oder C-Scripte erstellen.
In diesen Fällen muss man halt auch den Kopf umstellen.

Also nicht vergleichen, sondern die Stärken der verschiedenen Compiler nutzen.

!!! Schon mal mit Powerbasic für Linux ein Programm geschrieben ?

Re: undokumentierte Konstanten

Verfasst: 28.06.2010 21:50
von TomS
Welche weitergehenden Optimierungen?

Du hast schon Recht. Codes die SPC-"kompatibel" sind, werden mit MPC weder länger beim kompilieren brauchen, noch wird die EXE dadurch langsamer oder sonst irgendwie eingeschränkt.
Man kann die Aussage von ts-soft, dass man sich eine andere Sprache suchen soll, wenn man gerne Prozeduren ans Ende der Datei schreibt, auch getrost ignorieren.

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.

Die ursprüngliche Offtopic-Frage lautete ja, warum man Declare braucht und die Antwort lautet: Weil PB ein SPC ist.
Die Lösung für dieses "Declare-Problem" liegt aber nicht darin PB zum MPC zu machen, sondern Pre-Compiler und IDE-Tools.

Ich weiß auch nicht, wie du darauf kommst, Declare sei überflüssig.
Es wird eben benötigt, damit der Code von einem SPC kompiliert werden kann.

Re: undokumentierte Konstanten

Verfasst: 28.06.2010 21:55
von ts-soft
KPA hat geschrieben:@Vera

Ja das mit dem Beleidigen dachte ich mir auch als Ts-soft mir unterstellte, den Rest hätte ich nicht verstanden
PureBasic ist in der Lage, im gegensatz zu PowerBasic, unbenutze Proceduren nicht mit zu kompilieren,
somit sind diese auch nicht in der Exe und diese bleibt schön klein. Wenn aber alle Proceduren vorher
referenziert werden, müssen diese auch mit kompiliert werden, somit wird die Exe grösser. Je grösser
die Exe, umso länger die Ladezeit, also auch langsamer.

MPC hat also mehr Nachteile als Vorteile. Ausserdem wird es das in PB zumindest in den nächsten
Jahren nicht geben, also ist Dein IMHO unnötiger Wunsch ziemlich sinnlos.

Aber warum antworte ich Idiot den noch, wird sowieso nicht verstanden, weil ja bereits alles gesagt wurde :mrgreen: