Deutsch
Stammtisch & Café

Artenliste der rechtlich geschützten Befehle

 
- Seite 1 -



Nico
Madysa
OK, was Roland hier an der einen oder anderen Stelle erwähnt hat, was in Bälde alles wegfallen soll, das ließ mir einen kalten Schauer herunterlaufen.
Daher hoffe ich, dass ich nicht der Einzige bin, der sich an der ein oder anderen Stelle wünscht, dass etwas Veraltetes weiter geduldet. wird.
Daher bitte ich euch jetzt mal, die folgenden zwei Fragen zu beantworten:
Was kann eurer Meinung nach weg? Was wollt ihr behalten?

Um es nicht ganz so schwer zu machen, fang ich jetzt einfach mal an.

Schützen:
- wend
- Parameterstack
- Def-Funktionen (einzeilige, eigene Funktionen)

Verwerfen:
- LET-Variablenzuweisung
- @ vor Funktionen
- $O, da ja wohl niemand Operatoren ausschalten möchte

Wie gesagt, das ist meine persönliche Meinung, daher hoffe ich, dass hier auch noch andere posten.

Gruß Nico
 
Nico Madysa
24.11.2006  
 



 
- Seite 3 -


[quote:61f58ce09e=RGH][quote:61f58ce09e=iF]Wie wird das dann mit Konstantendefinition sein wenn Def wegfällt?[/quote:61f58ce09e]
Wer hat denn jemals behauptet, daß das DEF wefallen soll?

Manche lesen mehr aus meinen Zeilen heraus, als jemals drin stehen sollte!
DEF bleibt natürlich enthalten, ganz besonders zur Definition von Konstanten. Daran wird sich DEFinitiv nichts ändern!

Gruß
Roland[/quote:61f58ce09e]
Oh, entschuldige bitte.
 
27.11.2006  
 




RGH
[quote:b1f5617a8c=Nico Madysa]Gerade für SendMessage&Co. sind sie nützlicher[/quote:b1f5617a8c]
Inwiefern? Was kann ein DEF in Bezug auf funktionsdefinition, was eine PROC nicht kann? Habe ich was übersehen?

Gruß
Roland
 
Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4
27.11.2006  
 



<offtopic>
[quote:364bc822e6=Dietmar Horn]Als brauchten wir lediglich noch einen einigermaßen gescheiten Text.

Gruß
Dietmar [/quote:364bc822e6]
Ganz klarer Fall mein Part!

Strophe1: Jästerdeiiii ... all my trouble seemed so far away ... dumm dumm ... didel dumm di dudel da da daaaaa (oder gabs das schon? )

</offtopic>


@RGH: Hast doch recht! Einzeilige Funktionen - glaube jeder hat davon einfach hunderte in den eigenen Programmen! Das ist anders als wend was man mit einer einfachen strg+r Aktion replacen kann. Warscheinlich - auch ich - grausen sich nur alle davor diese vielen Defs umschreiben zu müssen.

Hab ne Idee! XPSE wandelt alle DEFs um. Entweder in die schnelleren ApiCalls, oder in Konstanten, oder in Proc/EndProc Funktionen. Somit kann jeder sein Def behalten und XProfan brauchs nicht mehr mit sich herumschleppen.

Hat sogar einen Vorteil! Wenn APIs per Defs aufgerufen werden sind diese auch noch deutlich schneller. :
 
27.11.2006  
 




RGH
[quote:d6ddca45b9=Nico Madysa]Für XProfan11 würde ich mir eine Vereinfachung des
Bilder-Laden--Befehle-Zoos wünschen, da es ja nun inzwischen so viele Möglichkeiten gibt.[/quote:d6ddca45b9]
Das ist in der Tat geplant, allerdings auch hier zunächst nicht, durch Entfernen der Befehle aus Interpreter/Compiler, sondern durch Weglassen der überflüssigen Befehle in der Dokumentation.Bilder werden künftig vornehmlich mit Create(hPic,...) und Create(hSizedPic,...) geladen, da diese Funktionen mehr Formate unterstützen und man mit einem BitmapHandle eine ganze Menge anfangen kann.
Wie genau allerdings die Vereinfachung des Bilder-Laden-Befehle-Zoos aussehen wird, weiß ich nich nicht 100%ig ... aber bis zur nächsten Version ist ja noch eine Menge Zeit. Geben wir doch erst einmal der Version 10 Zeit und Muße, erfolgreich zu werden. ;)

Gruß
Roland
 
Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4
27.11.2006  
 




Nico
Madysa
Nun gut. Das Bilder Laden ist also geklärt.

Jetzt haue ich hier mal einfach so Fragen hinein, um zu sehen, was dann passiert:

- Wenn du den Anfängern ersparen willst, mehrere Möglichkeiten zu haben,
warum gibt es WindowStyle? Du hast ein Listing über den Aufruf der API.
Das ist viel universeller einsetzbar. Du willst den Anfängern API ersparen?
Warum hast du das Listing überhaupt eingebaut?

- Du willst es den Anfängern leicht machen? Wieso planst du dann (ob jetzt oder
später, ist wurscht) solch sagenhaft einfache Befehle wie LoadBMP(einfacher
gehts nicht!) zu killen? Die ganze Sache mit Handles ist DEFinitiv komplizierter.

- Du willst es den Anfängern ersparen, zwei Wege für dasselbe zu lernen?
Was sollen dann Create(Text) und DrawText?
Was sollen dann %MouseKey und %MousePressed?
Sicher, es gibt Unterschiede. Aber die sind so geringfügig, dass man
beide Sachen in eins packen kann!

- Du betonst die Modernität von XProfan. Warum killst du Sachen, an denen
die Leute hängen? Warum DEF-Funktionen weg, warum wend weg,
warum &(1), %(2), $(%schiessmichtotwasnoch) weg? Hast du schonmal
über LETend oder @end nachgedacht? Zugegeben, es gibt auch
Verfechter des @, aber es wurde NIE vorgeschlagen, das LET zu killen?
Und rem? Was, zum Geier nochmal, ist mit rem? Wer remt heutzutage
noch?!
Du hast doch so einen tollen Präprozessor für den Compiler,
meinst du der arbeitet sich an Translate$(zeile$,wend,endwhile) tot?
Meinst du der Parameterstack wird so häufig verwendet, dass der Wegfall
dessen das Compilieren um 50% verringert?

Puh, jetzt hab ich mich wieder doller aufgeregt, als ich wollte(Nico tick aus 2)
Ich hoffe ernsthaft, dass mir dafür niemand böse sein wird.

Gruß, Nico
 
Nico Madysa
27.11.2006  
 



<offtopic>Zunächst würde ich Dich bitten Deinen Ton etwas zu überdenken.</offtopic>
 
27.11.2006  
 




GDL
Hallo Nico,

ist doch ganz einfach, wir bleiben halt dann bei Xprofan10.Ich finde es auch blöde, das geläufige Sachen wieder umgewurstelt werden.

Servus
Georg
 
Windows7 Xprofan 8,9,10 [...]  [...] 
27.11.2006  
 




RGH
Einige Antworten:

[quote:28b1a698ec=Nico Madysa]- Wenn du den Anfängern ersparen willst, mehrere Möglichkeiten zu haben,
warum gibt es WindowStyle? Du hast ein Listing über den Aufruf der API.
Das ist viel universeller einsetzbar. Du willst den Anfängern API ersparen?
Warum hast du das Listing überhaupt eingebaut?[/quote:28b1a698ec]
Erstens habe nicht ich, sondern Stephan das Listing eingebaut und zweitens ist die Hilfedatei (und natürlich XProfan) nicht nur für Anfänger, sondern natürlich auch für Fortgeschrittene und Freaks. XProfan soll alle ansprechen. Es soll also weiterhin ohne API-Studium möglich sein, mit XProfan zu programmieren. Aber ein API-Kwenner soll auch nicht eingeschränkt sein, diese Kenntnis zu nutzen. Natürlich könnte man z.B. auch OpenGL nur über API programmieren. Trotzdem habe ich ich versucht, es auch für den Einsteiger einfacher (uznd schneller) zu ermöglichen!
[quote:28b1a698ec] - Du willst es den Anfängern ersparen, zwei Wege für dasselbe zu lernen?
Was sollen dann Create(Text) und DrawText?[/quote:28b1a698ec]
Das sind zwei völlig verschiedene Sachen. Das eine ist ein Control und das andere malt den Text auf den Bildschirm.
[quote:28b1a698ec] Was sollen dann %MouseKey und %MousePressed?
Sicher, es gibt Unterschiede. Aber die sind so geringfügig, dass man
beide Sachen in eins packen kann![/quote:28b1a698ec]
Eben nicht. Für beide gibt es unterschiedliche Anwendungsfälle.
[quote:28b1a698ec] - Du betonst die Modernität von XProfan. Warum killst du Sachen, an denen
die Leute hängen?[/quote:28b1a698ec]
Irgendwelche Leute hängen immer an irgendwelchen Sachen. Die Alternative wäre, gar nichts zu verändern.
[quote:28b1a698ec]Hast du schonmal über LET end oder @end nachgedacht?[/quote:28b1a698ec]
Auf das @ und auf das LET kann man schon seit etlichen Versionen verzichten.

Gruß
Roland
 
Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4
27.11.2006  
 




Nico
Madysa
OK, Entschuldigung, ich war wieder etwas doller aufgeregt, als ich sein dürfte, wenn ich was schreibe. ;(
[box:942c5276f6]
Wie sagte Horst Evers noch? Wenn ich früher betrunken nach Hause kam, hab ich noch ein wenig mit der Kaffeemaschine gesprochen, aber dann war Schluss. Wenn ich heute betrunken - da kann ich noch mit der ganzen Welt kommunizieren. Und das ist nicht gut...
[/box:942c5276f6]
[quote:942c5276f6]Auf das @ und auf das LET kann man schon seit etlichen Versionen verzichten.[/quote:942c5276f6]
Aber du hast noch nie angekündigt, es komplett zu killen. Im Gegensatz zu wend.(ich geb nicht auf )

[quote:942c5276f6]Erstens habe nicht ich, sondern Stephan das Listing eingebaut und zweitens ist die Hilfedatei (und natürlich XProfan) nicht nur für Anfänger, sondern natürlich auch für Fortgeschrittene und Freaks. XProfan soll alle ansprechen. Es soll also weiterhin ohne API-Studium möglich sein, mit XProfan zu programmieren. Aber ein API-Kenner soll auch nicht eingeschränkt sein, diese Kenntnis zu nutzen. Natürlich könnte man z.B. auch OpenGL nur über API programmieren. Trotzdem habe ich ich versucht, es auch für den Einsteiger einfacher (uznd schneller) zu ermöglichen!
[/quote:942c5276f6]
OK, Punkt für dich.

[quote:942c5276f6]Das sind zwei völlig verschiedene Sachen.[/quote:942c5276f6]
Mit dem selben Ergebnis. Beide zaubern Text auf den Bildschirm. Und da Create(Text) wesentlich universeller ist als DrawText(kein StartPaint nötig), müsste nach deiner Logik, DrawText bald wegfallen.

[quote:942c5276f6]Die Alternative wäre, gar nichts zu verändern.[/quote:942c5276f6]
Nein, nur das beliebte Zeug drin lassen. Wenn ein Film am Ende des ersten Monats immer noch Geld ohne Ende einbringt, wird er doch bestimmt eine zweite Woche laufen.

[quote:942c5276f6]Zunächst würde ich Dich bitten Deinen Ton etwas zu überdenken[/quote:942c5276f6]
Hab ich. Nochmals Entschuldigung.
 
Nico Madysa
28.11.2006  
 




RGH
[quote:7d66d92357=Nico Madysa]OK, Entschuldigung, ich war wieder etwas doller aufgeregt, als ich sein dürfte, wenn ich was schreibe. ;( [/quote:7d66d92357]
Entschuldigung angenommen!

[quote:7d66d92357][quote:7d66d92357]Auf das @ und auf das LET kann man schon seit etlichen Versionen verzichten.[/quote:7d66d92357]
Aber du hast noch nie angekündigt, es komplett zu killen. Im Gegensatz zu wend.[/quote:7d66d92357]
Das ist richtig. Das hängt damit zusammen, daß beides intern immer noch gebraucht wird.
LET: Eine Programmzeile besteht intern (auch im compilierten Bytecode) nun mal aus Befehl und Parametern (oder einer Funktion). Auch wenn im Programm in Anlehnung an BASIC das LET weggelassen werden kann, wird es beim Einlesen in den Interpreter bzw. Compiler automatisch wieder eingefügt, damit alle Zeilen von Interpreter und Compiler gleich behandelt werden können. Durch ein Verbot des LET könnte ich also nicht eine Zeile im Code einsparen. (Zudem erleichtert das LET die Übernahme von Basic-Quellcodes aus Dialekten, die nicht ohne LET auskamen ... aber das ist eher zweitrangig.) Allerdings wäre es sicher angebracht, das LET konsequent aus den Beispielen in der Hilfe zu entfernen.
@: Hier ist es weiterhin so, daß Interpreter und Compiler schneller eine Funktion erkennen, Für das Tempo der fertigen EXE macht es allerdings keinen Unterschied, denn im compiliertzen Bytecode werden die Funktionen weiterhin durch ein @ gekennzeichnet. Hier wäre es sicher eine Diskussion wert, ob man es künftig aus den Beispielen in der Dokumentation hinausnimmt und nur noch darauf hinweist, daß man es verwenden kann. Ein gänzliches Verbot würde auch hier keinerlei technische Vorteile bringen.
REM: Auch dieses wird intern verwandt, so daß ein Weglassen technisch auch nichts bringt. Im Quellcode benutze ich es allerdings auch nicht mehr. Man könnte es in der Hilfe meinetwegen auch weglassen.

[quote:7d66d92357][quote:7d66d92357]Das sind zwei völlig verschiedene Sachen.[/quote:7d66d92357]
Mit dem selben Ergebnis. Beide zaubern Text auf den Bildschirm. Und da Create(Text) wesentlich universeller ist als DrawText(kein StartPaint nötig), müsste nach deiner Logik, DrawText bald wegfallen.[/quote:7d66d92357]
Das stimmt leider nicht ganz. Technisch ist es ein himmelweiter Unterschied, ob ich Pixel male oder ein Control erstelle. Ein Control wird mit CLS nicht gelöscht, mit DrawText gemalte Pixel schon. Bei StartPaint -1 kann ich zwar mit Drawtext auf die Memorybitmap zeichnen, aber ein Control ist dort nicht möglich. Vielleicht sollte ich in der Hilfe deutlicher auf die Unterschiede eingegen.

[quote:7d66d92357][quote:7d66d92357]Die Alternative wäre, gar nichts zu verändern.[/quote:7d66d92357]
Nein, nur das beliebte Zeug drin lassen.[/quote:7d66d92357]
Aber das ist eben Geschmacksache. Da findet jeder was anderes, was er mag!
Außerdem: Einige eher allgemein beliebte Sachen (wie auch z.B. WEND) werden ja vom internen Präcompiler umgewandelt und bleiben auf diese Weise ja erhalten, auch wenn sie in der Doku nicht mehr auftauchen. Derzeit gibt es keinen technischen Grund, dem Präcompiler das WEND abzugewöhnen, also wird es ausa Kompatibilitätsgründen für die alten Hasen erhalten bleiben, während in der Hilfe für die Neueinsteiger die logischere Syntax While-EndWhile / Proc-EndProc / Paint-EndPaint / Select-EndSelect / If-EndIf / etc. beschrieben wird.
BTW: Das WEND würden wohl eh nur Leute vermissen, die vom BASIC her kommen. PASCAL-Fans würden eher bemängeln, dass nicht überall ein einfaches END ausreicht, ... ;)

Für alle: Ein Abschalten des internen Präcompilers ist derzeit nicht geplant!
(Und in der Hilfe ist im Anhang Überholte Befehle und Funktionen auch aufgeführt, was der Präcompiler alles umsetzt.)

Gruß
Roland
 
Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4
28.11.2006  
 




Rolf
Koch
[quote:54c0f18e47]Das WEND würden wohl eh nur Leute vermissen, die vom BASIC her kommen. PASCAL-Fans würden eher bemängeln, dass nicht überall ein einfaches END ausreicht[/quote:54c0f18e47]
Nee Sorry Roland:
Auch alte Profaner werden es vermissen. Ich hab mit Profan angefangen und da war es halt immer WEND bis vor kurzem
 
28.11.2006  
 




Nico
Madysa
[quote:e04dac9db0]PASCAL-Fans würden eher bemängeln, dass nicht überall ein einfaches END ausreicht, ...[/quote:e04dac9db0]
Ich Verfechter des wend habe ls erste Sprache Delphi gelernt.

Ich denke, wir haben hier nen guten Kompromiss gefudnen.
Die alten Sachen bleiben drin, aber werden nicht mehr in der Hilfe erwähnt.

Und wenn dann irgendwann in 70 Jahren, alle, die wend verwenden, gestorben sind kannst du(eher dein Nachfolger) es rausnehmen.
...OK, eher ein langfristiger Vorschlag.

Ich hoffe, das wird auch für den Parameterstack gelten.

Damit wäre die Sache glücklicherweise geklärt, danke!
 
Nico Madysa
28.11.2006  
 




Antworten


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

5.942 Betrachtungen

Unbenanntvor 0 min.

Themeninformationen



Admins  |  AGB  |  Anwendungen  |  Autoren  |  Chat  |  Datenschutz  |  Download  |  Eingangshalle  |  Hilfe  |  Händlerportal  |  Impressum  |  Mart  |  Schnittstellen  |  SDK  |  Services  |  Spiele  |  Suche  |  Support

Ein Projekt aller XProfaner, die es gibt!


Mein XProfan
Private Nachrichten
Eigenes Ablageforum
Themen-Merkliste
Eigene Beiträge
Eigene Themen
Zwischenablage
Abmelden
 Deutsch English Français Español Italia
Übersetzungen

Datenschutz


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie