undokumentierte Konstanten

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
Josh
Beiträge: 1028
Registriert: 04.08.2009 17:24

Re: undokumentierte Konstanten

Beitrag von Josh »

ts-soft hat geschrieben:Solange ich kein Declare nutze, kann ich bei auftreten eines Fehlers sicher sein, das ich im Source
nach Oben suchen muß. Dies ist bei MultiPass nicht mehr gegeben.
fällt genau so in die kategorie der schönrederei um mankos zu kaschieren
ts-soft hat geschrieben:Ausserdem wenn aus allen Single-Pass Compilern Multi-Pass Compiler gemacht werden, gibt es
keine Multi-Pass Compiler mehr :twisted:
hä?
Nino
Beiträge: 1300
Registriert: 13.05.2010 09:26
Wohnort: Berlin

Re: undokumentierte Konstanten

Beitrag von Nino »

KPA hat geschrieben:Hi nino

hilf mir zu verstehen. Der Vorteil eines Singlepass Compiler soll die Garantie der besseren Lesbarkeit von Quelltexten sein ?? Weil man die Procedure in der richtigen Reihenfolge schreibt ??

Was soll das heißen. Schreibst du die Procedures mitten in den Quelltext ?
Nein, wie kommst Du darauf?
KPA hat geschrieben:Aber selbst wenn, wohin genau wenn es mehrere Aufrufe der gleichen Procedure an versch. Stellen des Quelltextes gibt?
Ich schreibe die Prozeduren jeweils an eine Stelle, so dass sie vor jeder Stelle stehen, von wo aus sie aufgerufen werden. Sorry, ich weiß jetzt nicht was daran unverständlich ist.
KPA hat geschrieben: Und wie soll das die lesbarkeit erhöhen ??
Hatte ich ja schon geschrieben.
KPA hat geschrieben:Ich glaube hier wird lediglich der Nachteil das PureBasic kein Multipass Compiler ist versucht wegzudiskutieren.
Es offensichtlich so, dass hier einfach nicht jeder derselben Meinung ist wie Du. Entscheide Dich bitte, ob Du das akzeptieren und ernsthaft diskutieren, oder ob Du herumpolemisieren willst.
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 »

Josh hat geschrieben:
ts-soft hat geschrieben:Ausserdem wenn aus allen Single-Pass Compilern Multi-Pass Compiler gemacht werden, gibt es keine Multi-Pass Compiler mehr :twisted:
hä?
Logisches Denke ist beim programmieren vorrauszusetzen :mrgreen:
Wenn alles Multi-Pass Compiler sind, gibt es die Unterscheidung Multi-Pass Single-Pass nicht mehr,
demzufolge gibt es nur noch Compiler :bounce:
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
Benutzeravatar
Thorium
Beiträge: 1722
Registriert: 12.06.2005 11:15
Wohnort: Germany
Kontaktdaten:

Re: undokumentierte Konstanten

Beitrag von Thorium »

Das PB keinen Multipasscompiler hat kann ein Vorteil und auch ein Nachteil sein, jenachdem was man braucht. In jedem Fall ist es aber eine Designentscheidung der PB Devs und hat nichts mit einem generellen Nachteil zutun. Es ist ein Singlepasscompiler, weil der Compiler schnell sein soll und damit wird ja auch geworben.
Zu mir kommen behinderte Delphine um mit mir zu schwimmen.

Wir fordern mehr Aufmerksamkeit für umfallende Reissäcke! Bild
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 »

Ein Beispiel:
Wenn der PB Compiler alles vorher referenziert, werden auch zwangsläufig alle Prozeduren mitkompiliert,
unabhängig davon, ob genutzt oder nicht. Compilerdirektiven lassen sich vorher nicht referenzieren,
bzw. würden ein vielfaches an Passes erfordern, um ungenutzte Prozeduren sicher zu finden, das
wiederum würde sehr lange dauern.

Wer kleine schnelle Exen möchte nimmt PB, weil dies eben nur bei einem Single-Pass Compiler gegeben ist.

Sourcecode, der Prozeduren an jeder Stelle des Codes erlaubt ist ausserdem wesentlich schwerer zu lesen.
Und das wichtigste: Ich hasse solche Sourcen wo der Mainloop ganz oben steht und dann die Prozeduren folgen.

Wer das ändern möchte soll sich doch bitte eine andere Sprache suchen.
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
Benutzeravatar
Josh
Beiträge: 1028
Registriert: 04.08.2009 17:24

Re: undokumentierte Konstanten

Beitrag von Josh »

ts-soft hat geschrieben:Wenn der PB Compiler alles vorher referenziert, werden auch zwangsläufig alle Prozeduren mitkompiliert, unabhängig davon, ob genutzt oder nicht.
auch wenn du diese mär noch so oft verbreitest, wird sie auch nicht wahrer. das ist ein blödsinn und bleibt ein ausgemachter blödsinn den du dir selber ausgedacht hast. diese theorie hast du schon mal in den raum gestellt und ich habe dir schon das gegenteil bewiesen.
ts-soft hat geschrieben:Wer kleine schnelle Exen möchte nimmt PB, weil dies eben nur bei einem Single-Pass Compiler gegeben ist.
das sehe ich jetzt auch mal als eine deiner theorien an. ich lasse mich aber gerne überzeugen, wenn du mir erklären kannst, warum eine exe schneller sein soll, wenn z.b. eine prozedur nicht vordeklariert ist.
ts-soft hat geschrieben:Sourcecode, der Prozeduren an jeder Stelle des Codes erlaubt ist ausserdem wesentlich schwerer zu lesen.
Und das wichtigste: Ich hasse solche Sourcen wo der Mainloop ganz oben steht und dann die Prozeduren folgen.
das ist deine ansicht. auch ein multipass würde dich nicht davon abhalten, deinen source so zu schreiben wie du willst. das du dich für das wichtigste hältst, ist mir schon öfter aufgefallen. aber ob du es glaubst oder nicht, es gibt leute, die das überhaupt nicht interessiert, für wie wichtig du dich hältst.
ts-soft hat geschrieben:Wer das ändern möchte soll sich doch bitte eine andere Sprache suchen.
JAAAAA!!! genau auf dieses argument hab ich wieder mal gewartet. ich habe für jedes ordentliche argument und für jede entscheidung der entwickler verständnis, aber auf diese andauernde an den haaren, noch dazu mit falschen argumenten herbeigezogenen begründungen, da kann ich einfach nicht ab.
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 »

http://www.purebasic.fr/english/viewtop ... 25#p307825

SinglePass ist eines der Vorteile von PB, deshalb hat meine aussage:
Wer das ändern möchte soll sich doch bitte eine andere Sprache suchen.
auch seine Berechtigung.

Wer Multi-Pass möchte, soll eben Multi-Pass nehmen und nicht PB.

Multi-Pass um Module zu ermöglichen, würde ich ja akzeptieren, aber nicht wegen
der Declares.
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
Benutzeravatar
Josh
Beiträge: 1028
Registriert: 04.08.2009 17:24

Re: undokumentierte Konstanten

Beitrag von Josh »

ich kenne diesen link, habe es auch aktzeptiert. es ist und bleibt eine entwicklerentscheidung. aber das ist für mich noch immer kein grund, dass mankos die dadurch entstehen als vorteile schöngeredet werden.
Benutzeravatar
TomS
Beiträge: 1508
Registriert: 23.12.2005 12:41
Wohnort: München

Re: undokumentierte Konstanten

Beitrag von TomS »

Mankos?
Die einzige Beschwerde hier lautet: "in PowerBasic konnte ich meine Prozeduren irgendwo hinklatschen ohne Declare zu benutzen".

Das SinglePass in vielen Fällen sehr viel schneller zu sein scheint, hat Freak ja erläutert.
Lesbarerer Code ist nur ein netter Nebeneffekt.
So ziemlich jede Sprache bringt solche "Einschränkungen" mit, die dazu dienen den Code sauber zu halten.
.h-Dateien bei C und Konsorten, oder Tabs bei Python.

Wem nicht passt, dass man in Python korrekt einrücken muss, der kann diese Sprache nunmal nicht benutzen.

Dabei gibt es Tools (wenn nicht kann man sie sich leicht selber schreiben), die diese unglaubliche Mehrarbeit übernehmen.
Benutzeravatar
Vera
Beiträge: 928
Registriert: 18.03.2009 14:47
Computerausstattung: Win XP SP2, Suse 11.1
Wohnort: Essen

Re: undokumentierte Konstanten

Beitrag von Vera »

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
°
<°)))o><
~~~~~~~~~
echo "Don't worry"
echo "Keep quiet"
@echo off
format forum:\
Gesperrt