Der PureBasic Dämon lässt sich nicht austreiben ;)

Hier kann alles mögliche diskutiert werden. Themen zu Purebasic sind hier erwünscht.
Flames und Spam kommen ungefragt in den Mülleimer.
Benubi
Beiträge: 186
Registriert: 22.10.2004 17:51
Wohnort: Berlin, Wedding

Der PureBasic Dämon lässt sich nicht austreiben ;)

Beitrag von Benubi »

Hallo Leute,

vielleicht interessiert es keinen direkt, aber ermutigt andere die sich um die sinkende Aktivität auf dem Forum sorgen.
Es kribbelt in den Fingerspitzen bei mir, und an stellen die ich nicht benennen möchte, seit einigen Monaten... Mein PureBasic Akku lädt sich wieder auf.

Ich bin schon seit September 2004 dabei, wenn ich mich richtig erinnere ! Happy Birthday PureBasic zum 20. ganz nebenbei ^^

In den letzten Monaten und Jahren gab es doch immer wieder Posts zu Fragen, die ich mir schon vor Jahren selbst beantwortet habe. Das peppelt mein Selbstwertgefühl etwas auf, und zeigt mir, daß ich auch einigermaßen auf dem richtigen Weg war - was meine Interessen anging. Ich habe festgestellt, daß sich meine "Programmierschübe" immer phasenweise aufbauen und abbauen -aber nicht wirklich Synchron mit den Jahreszeiten. Es fängt meistens mit einem wilden Erkundungsdruck an, und endet entweder mit einem "Capture The Flag" Erfolgserlebnis, aber auch oft mit Frustration. Das liegt dann am OS, an PureBasic oder meiner eigenen Fehlbarkeit... na und?

Aus Fehlern lernt man. Eigentlich lernt man meistens nur aus Fehlern, aus Frustration und Hindernissen die man umgehen oder überwinden muss !

Wie bereits andere geschrieben haben sind die Eigenschaften von PureBasic gleichzeitig Stärken und Schwächen, je nach Anwendungsfall bzw. Betrachtung.

Was mich über die Jahre genervt hat, und sich verändert/verbessert hat lässt sich etwa so grob aufzählen:

1) Amiga-Support:
Als ich 2004 mir PB zugelegt hatte, wollte ich mir Software für meinen alten 2000er und den PC schreiben, um Dateien hin und her zu schieben. Leider war mein Amiga zu alt dafür. IST MIR AUCH SCHNUPPE. Ich könnte mir einen "neueren" Amiga kaufen, oder mir einen "eigenen" mit Raspberry Pi oder sowas zusammenfummeln etc. und von dieser Plattform aus meine alten Disketten sichern. Die Lösung ist da, fehlt nur noch die Motivation... abgehakt.

2) 3D-Engine
Das war ja frustrierend über die Jahre. Es gibt noch immer Bugs in der Engine3D, die ziemlich nerven. Doch ist die 3D-Library schon so langsam gut nutzbar. Ich habe damit etwas öfter rumgespielt und mit jeder neuen PB-Version steigt meine Zufriedenheit. Es gibt dennoch einige Sachen die seitens Ogre und CEGUI in PB implementiert werden müssten, damit der Funke wirklich übergeht. Also ich sehe da optimistisch in die Zukunft, auch wenn viele meinen Ogre sei nicht mehr das wahre oder sowas.
-> es gibt auch Drittanbieter von 3D-Engines (z.B. Irrlicht), und es haben auch User ganz eigene 100% in PureBasic + OpenGL/DirectX Engines geschrieben.

3) Betriebssysteme
Größte Frustration ever erlebe ich ständig wenn ich mich mit Windows und der API auseinandersetzen muß. Das habe ich wieder beim Durchlesen einiger Posts bemerkt, als ich recherchiert habe (da war eine Frage zur Windows Datei-Vorschau, hehe!!). Unter den alten Linux Versionen war es anfangs auch nicht einfach, die ganzen Pakete für PB richtig zu installieren... hat sich jetzt aber zum Positiven mit Linux geändert, vermutlich weil die Distributionen schon alle Pakete vorinstalliert haben (weiss nicht, bin kein Linuxer - benutze ich nur um PureBasic erfolgreich zu installieren, lol). Windows ist mein Feind auf der Festplatte, Linux kann meine Musiksoftware nicht, Mac ist mir teuer... Mal sehen wie das weitergeht aber Windows wird in Zukunft nicht mehr installiert (schon gar kein Windows 10)... Hauptsache PB ist plattformunabhängig. Wenn ich an Windows denke, bekomme ich Angst ich könnte davon jedenfalls Hirnkrebs bekommen... ich bin davon wirklich angeekelt!

4) PureBasic Versionen
Das nervigste ist wenn die Kompatibilität bei Versionenssprüngen verloren geht, beispielsweise wegen deprecated/umbenannte Befehle, oder wenn sich die Parameter ändern. Allerdings kann man trotzdem jedesmal was dabei lernen, wie man seine Programme portabler macht bzw. robuster.

Mich hat das frustriert, als man im StructureUnion keine strings mehr direkt benutzen durfte. Das ist auch logisch wegen den Memory-Leaks etc.

Code: Alles auswählen

; Das ist seit einigen PB-Versionen nicht mehr erlaubt :/
Structure MyPBAny
StructureUnion
a.a
b.b
w.w
l.l
s.s
d.d
q.q
EndStructureUnion
EndStructure
;
...dadurch ist mein WebServer-Projekt dahingerafft worden - zum Glück, denn ich wollte eh alles von Grund auf neu schreiben - 16,000 bis 20,000 Zeilen waren es! Ich habe das für eine interne Skript-Sprache bzw. eine teilweise Kompatibilität zu den Appache-Konfigurationsdateien benutzt (.htaccess, .htuser, .htpasswd etc.). Doch jetzt verstehe ich, warum andere Script-Sprachen (z.B. JavaScript, Lua) intern ihre Variablen-Strukturen lieber so aufbauen, anstelle sie "direkt" aus dem Speicher zu lesen:

Code: Alles auswählen

; so machen es die meisten Script-Sprachen Interpreter intern (JavaScript, Lua etc.)
Structure Script_Variable
   Type.i ; #PB_Type
   StructureUnion
        q.q
        d.d
   EndStructureUnion
   s.s
EndStructure

Oder vor Ewigkeiten

Code: Alles auswählen

UseFile(1) ; anpassen
Wenn man sowas öfter mal erlebt hat, fängt man an seine Prozeduren anders zu schreiben/kapseln und kann dann schon etwas paranoid werden...

5) PureBasic Libraries
Jedesmal wenn ich mir eine HTTP, FTP,CGI,HashMap oder XML, oder sonstige Library gebraut habe - kam kurze Zeit später eine entsprechende PureBasic Library. Und zwar wie verhext ! Daher schreibe ich auch immer von Dämonen hier ^^ Teilweise war dann mein Sourcecode nicht mehr lauffähig, weil mein PureBasic-Dämon mir vorgab, die gleichen Befehlsnamen zu benutzen wie in der PB-internen Library (hehe)... Teilweise war ich frustriet, dass meine Arbeit schlechter oder besser war, als die PB-Implementation. Also komplizierter, fehlerhafter, oder einfach besser... Egal wie : Hier wird meine gekaperte Flagge von Fred zurrückgekapert :lol: ! Und dennoch habe ich jedesmal davon gelernt, und es lässt sich das meiste ersatzweise, parallel oder in Kombination mit einander nutzen.

6) PB Community
Anfangs war es doch sehr schwer im Forum hier Fuß zu fassen. Es gab einfach einen großen Anteil an selbsternannten Besserwissern und Genies, die sehr grob mit Anfängern umgingen. Das konnte schon sehr einschüchternd damals sein; ich habe daher einen großen Teil meiner Posts lieber im ehemaligen PB-Club bzw. PB-Lounge veröffentlicht. Heute ist es hier aber SEHR viel angenehmer geworden (!) , auch wenn ich sehr inaktiv bin.


Lange rede kurzer Sinn - ob Frust oder nicht : Vieles ist viel besser geworden, und aus jedem Wehwehchen kann man doch was lernen.

Mal sehen ob ich mal wieder was Einfaches Poste; es kribbelt halt nur ein bißchen - das will schon was bedeuten ;)
Benutzeravatar
TroaX
Beiträge: 660
Registriert: 08.03.2013 14:27
Computerausstattung: PC: Ryzen 9 3950X, 96 GB RAM, RX6800XT, 2.5 TB SSD, 21:9 Display, Pop_OS! | Lappi: Ryzen 7 5800H, 16 GB RAM, 1 TB SSD, Pop_OS!
Wohnort: NRW
Kontaktdaten:

Re: Der PureBasic Dämon lässt sich nicht austreiben ;)

Beitrag von TroaX »

Naja über dieses Thema kann man bei Purebasic ganze Bücher füllen und es gehen auch viele Meinug ewig weit auseinander. Zufrieden bin ich mit dem aktuellen Stand bei weitem nicht. Ich hätte dafür ja Verständnis, wenn PB nicht mehr weiterentwickelt werden würde. Aber da es sich weiterhin in aktiver Entwicklung befindet, sollte man bei einem Rich-Feature-Environment wie Purebasic schon viele modernere Bibliotheken erwarten. Das ist wirklich schade und mich würde da auch gerne mal zu vielen Fragen eine Stellungnahme der Entwickler wüschen, warum gerade dieses oder jenes entweder garnicht oder nur Stiefmütterlich implementiert wurde.

Jeder hat einen anderen Anspruch an die Sprache und dessen Bibliotheken. Wer zum Beispiel Business-Clients mit zentraler Datenspeicherung umsetzen will, muss sich die Frage stellen, wie es mit den Standards zur Datenübretragung aussieht. Außerdem stellt sich die Frage, ob wirklich alles mit dieser Sprache umgesetzt werden muss oder ob sich zum Beispiel für den Server etwas anderes besser eignet. Nur wie bekommt man dann beide Seiten dazu, vernünftig zusammen zuarbeiten?

Momentan habe ich die "Blaupausen" vieler Projekte in meiner Schublade. Aber leider musste ich feststellen, das Purebasic sich für keine wirklich eignet. Aber fasst alle könnte ich problemlos mit Visual Basic .NET umsetzen. Denn wenn .NET etwas nicht kann, sorgt NuGet dafür, das es das kann. Aber sowas wie Nuget würde bei PB aber auch nicht funktionieren. Dafür ist PB einfach zu klein. Selbst wenn PB heute einen Paketmanager bekommen würde, würden wahrscheinlich noch Jahre vergehen, bis da mal etwas drin ist, was ich persönlich gebrauchen könnte.

Ich bin täglich hier im Forum und lese regelmäßig im englischen Forum mit. Aber wenn mal solche Unzulänglichkeiten angesprochen werden, kommt man immer wieder mit eigenen Selbst-zu-Fuss Lösungen. Nur warum, wenn ich auch einfach eine andere Umgebung nutzen kann, die das bereits kann? Aber was solls. Ich lese mit und hoffe das beste. Vielleicht tut sich ja in Zukunft doch mal wieder was interessantes.
PC: Ryzen 9 3950X | 96 GB RAM | RX6800XT | 2,5 TB NVMe | Pop_OS!
Notebook: 16" 3:2 | Ryzen 7 5800H | 16 GB RAM | Radeon Vega | 1TB NVMe | Pop_OS!
NAS: Fritz.Box :lol:
Coding: Purebasic 6.04 | PHP | HTML | CSS | Javascript
Benutzeravatar
RSBasic
Admin
Beiträge: 8022
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Re: Der PureBasic Dämon lässt sich nicht austreiben ;)

Beitrag von RSBasic »

TroaX hat geschrieben:Momentan habe ich die "Blaupausen" vieler Projekte in meiner Schublade. Aber leider musste ich feststellen, das Purebasic sich für keine wirklich eignet.
Hast du wirklich so viele Projekte, die mit PB nicht umsetzbar sind? Kannst du mir eine Liste deiner Projekte nennen? Vielleicht kann man dir helfen.
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
Benutzeravatar
TroaX
Beiträge: 660
Registriert: 08.03.2013 14:27
Computerausstattung: PC: Ryzen 9 3950X, 96 GB RAM, RX6800XT, 2.5 TB SSD, 21:9 Display, Pop_OS! | Lappi: Ryzen 7 5800H, 16 GB RAM, 1 TB SSD, Pop_OS!
Wohnort: NRW
Kontaktdaten:

Re: Der PureBasic Dämon lässt sich nicht austreiben ;)

Beitrag von TroaX »

Ich kann dir sagen, was Purebasic nicht von Haus aus kann.

MySQL (ohne ODBC-Treiber mitliefern zu müssen)
HTTP/S mit POST, PUT und DELETE (Und das hat das meiste Gewicht bei mir)
IMAP und POP3
BCrypt und/oder Argon2

Um mal die wichtigsten Sachen zu nennen.

Aber das habe ich ja schon ein paar mal erwähnt :lol:
PC: Ryzen 9 3950X | 96 GB RAM | RX6800XT | 2,5 TB NVMe | Pop_OS!
Notebook: 16" 3:2 | Ryzen 7 5800H | 16 GB RAM | Radeon Vega | 1TB NVMe | Pop_OS!
NAS: Fritz.Box :lol:
Coding: Purebasic 6.04 | PHP | HTML | CSS | Javascript
Benubi
Beiträge: 186
Registriert: 22.10.2004 17:51
Wohnort: Berlin, Wedding

Re: Der PureBasic Dämon lässt sich nicht austreiben ;)

Beitrag von Benubi »

Das von Haus? Also ich gebe dir zu 100% Recht, daß das sehr praktisch wäre. Vielleicht kommt ja noch MySQL irgendwann dazu? Wurde das schon auf die Wunschliste gesetzt ? Wenn ich meine Posts so lese, ich habe mir 2-3 mal was gewünscht und es wurde implementiert.

Aber welche "echten" Programmiersprachen können denn das ganze wirklich, ohne ein großes Framework zu sein oder darauf zuzugreifen? Perl oder sowas?
Ist jetzt nicht agressiv gefragt, aber naja... "zu Fuß" sind wir eben... Jeder muß mal zu Fuß gehen, auch der Kaiser.

Ich habe da ein wenig mit IMAP,POP3 und natürlich HTTP in PB gebastellt... fehlt nur etwas mehr Crypto-Support seitens PB und alles könnte man selber machen.... ja!

Übrigens: PUT/DELETE wird das noch oft benutzt oder nur von WebDav ? Gibt's noch WebDav ?
Benutzeravatar
Mijikai
Beiträge: 754
Registriert: 25.09.2016 01:42

Re: Der PureBasic Dämon lässt sich nicht austreiben ;)

Beitrag von Mijikai »

Abgesehen von der 3D Engine hat PB alles richtig gemacht.
Wenn jetzt noch die Unterstützung von ARM-Prozessoren kommt :praise:
Benubi
Beiträge: 186
Registriert: 22.10.2004 17:51
Wohnort: Berlin, Wedding

Re: Der PureBasic Dämon lässt sich nicht austreiben ;)

Beitrag von Benubi »

ARM und weiteres?

Fred's "Bewegungsmuster" deuten auf eine Langzeit-Strategie hin. Im Blog hatte er bzw. jemand vom Team erwähnt, daß sie über eine alternative "middleware" nachdenken, um Assembler zu ersetzen.

Auch das SpiderBasic Projekt deutet in diese Richtung, daß Fred und co an etwas Größerem im stillen brauen... Mal sehen. Ich kann mir das schon vorstellen; es wäre der nächste logische Schritt. Aber vermutlich heisst es dann nicht mehr PureBasic sonder MoneyBasic++ für alle Platformen und dann läuft der PB support vielleicht aus?
GPI
Beiträge: 1511
Registriert: 29.08.2004 13:18
Kontaktdaten:

Re: Der PureBasic Dämon lässt sich nicht austreiben ;)

Beitrag von GPI »

Benubi hat geschrieben:ARM und weiteres?

Fred's "Bewegungsmuster" deuten auf eine Langzeit-Strategie hin. Im Blog hatte er bzw. jemand vom Team erwähnt, daß sie über eine alternative "middleware" nachdenken, um Assembler zu ersetzen.
würde sich C anbieten. Das ist eigentlich auf jeder Plattform vorhanden. Auf der Basis-Ebene mit C-Libraries dürften überall Konsolenprogramme sofort funktionieren. Je nach basis könnte man so eine große Bibliothek der C-Bibliothek leichter zugänglich werden.

Ansonsten vermiss ich mittlerweile Schmerzlich OOP. Die Gründe, warum sich Fred da sperrt, finde ich nicht schlüssig.

Auch andere Altlasten (die Notwendigkeit von #PB_Any) find ich mittlerweile nicht mehr zeitgemäß. Genauso die Konstanten in den tausend Variationen. Welcher Befehl gehört zu welchen Konstanten etc. Es ist halt sehr viel über die Zeit gewachsen.
CodeArchiv Rebirth: Deutsches Forum Github Hilfe ist immer gern gesehen!
Benubi
Beiträge: 186
Registriert: 22.10.2004 17:51
Wohnort: Berlin, Wedding

Re: Der PureBasic Dämon lässt sich nicht austreiben ;)

Beitrag von Benubi »

GPI hat geschrieben: Auch andere Altlasten (die Notwendigkeit von #PB_Any) find ich mittlerweile nicht mehr zeitgemäß.
Das verstehe ich nicht so ganz; meinst Du dass PB-Objekte bzw. das Objekt-Management dich stören, oder was meinst Du mit "die Notwendigkeit von #PB_Any" ?
GPI
Beiträge: 1511
Registriert: 29.08.2004 13:18
Kontaktdaten:

Re: Der PureBasic Dämon lässt sich nicht austreiben ;)

Beitrag von GPI »

Benubi hat geschrieben:
GPI hat geschrieben: Auch andere Altlasten (die Notwendigkeit von #PB_Any) find ich mittlerweile nicht mehr zeitgemäß.
Das verstehe ich nicht so ganz; meinst Du dass PB-Objekte bzw. das Objekt-Management dich stören, oder was meinst Du mit "die Notwendigkeit von #PB_Any" ?
In ursprünglichen Basic-Konzept vergab man die Handles selbst
also z.b. ReadFile(1,"Hallo.txt")
das hat natürlich massive Nachteile. Man muss drauf achten, das man nicht versehentlich die gleiche Handle-Nummer mehrmals benutzt. Gerade bei Proceduren, die die Datei nicht gleich schließen, weil man noch was eintragen will, gibt es Probleme.
Deshalb gibt es ja die #pb_any - konstante
ReadFile(#pb_any,"Hallo.txt")
damit vergibt das System ein Handle und gibt ihn zurück. Das ist zu 100% sicher. Und dieses Verhalten sollte standard sein. Den ersten Parameter sollte man schlicht komplett abschaffen.
ReadFile("Hallo.txt")
alternativ könnte man den ersten Parameter auch optional machen
Readfile(,"Hallo.txt")
Das #pb_any stört mich mittlerweile nur noch.
CodeArchiv Rebirth: Deutsches Forum Github Hilfe ist immer gern gesehen!
Antworten