Mit PureBasic anfangen? Oder doch VB.Net?
- NicTheQuick
- Ein Admin
- Beiträge: 8679
- Registriert: 29.08.2004 20:20
- Computerausstattung: Ryzen 7 5800X, 32 GB DDR4-3200
Ubuntu 22.04.3 LTS
GeForce RTX 3080 Ti - Wohnort: Saarbrücken
- Kontaktdaten:
Re: Mit PureBasic anfangen? Oder doch VB.Net?
Ich würde auch sagen: Bei deinen angestrebten Projekten ist Purebasic die falsche Wahl. Wenn du Webseiten ausliefern willst, nutze Programmiersprachen, die dir schon ein fertiges Templatesystem anbieten. Aber damit ist es nicht getan. Dann musst du auch noch HTML, CSS und JavaScript können. Selbst wenn Purebasic nur als simpler Server dienen soll, der ein paar AJAX-Requests beantwortet, ist das nicht schön zu programmieren. Du musst dich um alle Fehlerquellen ausschließen zu können um so viel Mist kümmern, den dir Purebasic leider nicht abnimmt. In der Richtung hat es noch viel Nachholbedarf. Wenn ich schon daran denke, dass man nicht mal SSL nutzen kann. Und zu Spiderbasic kann ich nicht viel sagen, aber meiner Meinung nach steckt das noch zu sehr in den Kinderschuhen.
Soll dein Programm aber vielleicht doch nicht im Browser laufen, sonder als Desktop-Applikation, dann wäre das eher ein Einsatz für Purebasic.
Soll dein Programm aber vielleicht doch nicht im Browser laufen, sonder als Desktop-Applikation, dann wäre das eher ein Einsatz für Purebasic.
Re: Mit PureBasic anfangen? Oder doch VB.Net?
Oben lobst Du dick PB und am Ende kommt es für meine Projekte gar nicht mehr vor ?TroaX hat geschrieben: Bei allem anderen kann ich nur sagen:
Client-Application: Kommt OOP in Frage, würde ich auf Grund des größeren Feature-Sets des .NET Framework auf VB.NET setzen. Mono ist zudem ausreichend kompatibel und ermöglicht dadurch Plattformunabhängigkeit. Allerdings müssen das .NET-FX oder Mono installiert sein. Möchtest du es nur für dich machen und dir reicht prozedural, dann nimm PB. Sei dir aber bewusst, das du im Vergleich zum .NET auf immens viele Features verzichten muss.
Webapplication/Browser: Solltest du dich aber dazu entschließen, deine Projekte zentral auf einem Server zu betreiben, dann würde ich auch Python, NodeJS oder ggf. auch PHP (seit Version 7 wirklich wieder brauchbar) in Betracht ziehen. Und diese lassen sich mit einer Zeile im Paketmanager an aktuelle Standards anpassen (z.B. Passwortverschlüsselung, Datentransportsicherheit etc.). Und die Portierung in eine Client-Application ist mit Hilfe von Electron (NodeJS), Flexx/WDOM (Python) oder PHP Desktop (Na rate mal ) im Regelfall auch recht einfach (wenn auch nicht immer elegant).
Oder wie meinst Du den letzten Absatz genau? Als Zusatz zum PB?
Vielen Dank für Deine ausführliche Antwort!
Re: Mit PureBasic anfangen? Oder doch VB.Net?
In PB kann man keine SSL-Verbindung implementieren?NicTheQuick hat geschrieben:Wenn ich schon daran denke, dass man nicht mal SSL nutzen kann. Und zu Spiderbasic kann ich nicht viel sagen, aber meiner Meinung nach steckt das noch zu sehr in den Kinderschuhen.
Schade, dachte PB kann das. SpiderBasic sieht hier z.B. ganz nett aus: http://www.soccer-trainer.com/soccer-trainer.php
VG!
Re: Mit PureBasic anfangen? Oder doch VB.Net?
Warum sollte das nicht gehen ?NicTheQuick hat geschrieben:Wenn ich schon daran denke, dass man nicht mal SSL nutzen kann.
Betriebssysteme: div. Windows, Linux, Unix - Systeme
no Keyboard, press any key
no mouse, you need a cat
no Keyboard, press any key
no mouse, you need a cat
Re: Mit PureBasic anfangen? Oder doch VB.Net?
Die coolsten VB.Net Alternativen könnten sein:
-> Gambas (unter Linux)
-> B4A (Basic für Android)
-> oder B4J (ein Basic zu Java - Compiler + IDE + Framework)
oder das unverschämt teure Xojo.
-> Gambas (unter Linux)
-> B4A (Basic für Android)
-> oder B4J (ein Basic zu Java - Compiler + IDE + Framework)
oder das unverschämt teure Xojo.
Betriebssysteme: div. Windows, Linux, Unix - Systeme
no Keyboard, press any key
no mouse, you need a cat
no Keyboard, press any key
no mouse, you need a cat
- TroaX
- Beiträge: 661
- 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: Mit PureBasic anfangen? Oder doch VB.Net?
Ich hatte mich da etwas falsch ausgedrückt. SorryNopp hat geschrieben:Oben lobst Du dick PB und am Ende kommt es für meine Projekte gar nicht mehr vor ?
Oder wie meinst Du den letzten Absatz genau? Als Zusatz zum PB?
Aber wirklich loben war es auch nicht. Habe nur erwähnt, das es mit PureBasic dank der CGI-Lib auch geht. Ich habe eher die Vorteile einer zentralen Serveranwendung aufgeführt
Das Problem an PureBasic ist leider immernoch, das es vieles kann, aber nur wenig vernünftig. Ist ja klasse, das es CGI/FastCGI gibt. Aber aktuell gängige Passwort-Hashes wie Argon oder Blowfish (Eine Zeile im Paketmanager von NodeJS oder Python und die können es. In PHP ist in der neuesten
Version Argon integriert) kann es nur mit einer externen Bibliothek, für die man erst eine Header-Include schreiben muss. Es kann nur mit externer Bibliothek oder ODBC-Treiber mit MySQL/MariaDB umgehen. Für dokumentorientierte Datenbanken müssen ebenfalls externe Bibliotheken und Wrapper verwendet werden, für die man auch eine Header-Include schreiben muss. CouchDB würde hingegen nur HTTP-Requests benötigen. Aber selbst die bekommt PB ohne Hilfe ja net hin. Dann kommt erschwerend hinzu, das PureBasic nicht mit allen C++-Bibliotheken kompatibel ist (z.B. wegen fehlendem OOP) und die meisten modernen Bibliotheken (z.B. MongoDB, Chromium usw.) in C++ geschrieben sind. Das sind alles Dämpfer, wegen denen ich momentan auch nicht wirklich an meinem PBExpress weiterarbeiten will. Und wie schon gesagt wurde ist eine Ajax-API mit JSON-Format schon ein Krampf. Allein schon deswegen, das durch die strenge Typisierung und die damit verbundenen extrem statischen Listenstrukturen die Handhabung von dynamischen Datensätzen die pure Hölle ist. Der Versuch, ein Mischling aus JSON und GraphQL hinzuschustern scheiterte genau an der Nummer. Webentwicklung mit PureBasic ist kein Zuckerschlecken und der Aufwand rechnet sich nicht, wenn man sowas wie PHP bereits aus dem FF beherrscht.
Und PureBasic benötigt für CGI/FastCGI trotzdem noch einen Webserver. Und dieser unterstützt im Regelfall SSL. Egal ob Apache, Hiawatha, NGINX, Lighttpd etc.
Bei puren Desktop-Anwendungen (Client-Applications) kann man PureBasic durchaus in einem recht großen Umfeld gut nutzen. Aber sobald PB etwas nicht kann, muss man mit Bibliotheken nachrüsten. Und in Zeiten, wo Kollegen wie das .NET-Framework (NuGet), Python (pip) oder Node (NPM) mit Paketmanagern oder der moderneren Stanadard-Funktionsbibliothek diese Aufgaben mit deutlich weniger Aufwand erledigen können, muss man sich schon Gedanken machen, ob PB ausreichend ist oder ob man mit den Alternativen besser fährt. Ohne zeitkritische Elemente fällt der Performanceverlust bei der heutigen Rechenleistung kaum ins Gewischt, wenn das Endergebnis kein nativer Maschinencode ist.
Es ist schwer zu beantworten, ob nun das eine oder andere besser wäre. Ich würde daher sagen, das du dir deine 3 Projekte nimmst und dir Gedanken machst, welche Funktionalitäten du überhaupt brauchst. Willst du Daten in Dateien oder in einer Datenbank speichern? Welche Datenbank würdest du nutzen wollen? Wie sicher muss das Thema Mehrbenutzer behandelt werden? Muss die Software mit anderen Systemen kommunizieren? Wenn ja wie? Und so weiter und sofort. Und dann kannst du mit Hilfe des Handbuches schauen, ob Purebaisc das alles kann. Wenn es passt, spricht ncihts dagegen. Wenn aber was fehlt, mach es nicht zu deiner Aufgabe, es ihm beizubringen. Nimm etwas, das es kann.
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
Coding: Purebasic 6.04 | PHP | HTML | CSS | Javascript
Notebook: 16" 3:2 | Ryzen 7 5800H | 16 GB RAM | Radeon Vega | 1TB NVMe | Pop_OS!
NAS: Fritz.Box
Coding: Purebasic 6.04 | PHP | HTML | CSS | Javascript
Re: Mit PureBasic anfangen? Oder doch VB.Net?
Ich denke das SSL in der nächsten Version von Purebasic geben wird. Müssen uns aber überraschen lassen.
Zu OOP kann ich sagen das Purebasic diese nicht nativ unterstützt, aber mit etwas mehr Tiparbeiten durchaus auch objektorientiert programmiert werden kann. Wenn man es einmal verstanden hat, ist es auch nicht schwer es umzusetzten.
Zur Zeit habe ich kein Projekt am laufen. Probiere aber so diverses unter Mac, Windows und Linux aus.
Man kann wunderbar durch Compiler-Optionen im gleichen Code für die verschiedene Betriebsversionen Anpassungen programmieren.
Durch die Modul-Technik ist es auch sehr gut wiederverwendbare Code zu schreiben.
Hier mal eine sinnloses Beispiel zur Programmierung als Funktionen oder als Object Update
Zu OOP kann ich sagen das Purebasic diese nicht nativ unterstützt, aber mit etwas mehr Tiparbeiten durchaus auch objektorientiert programmiert werden kann. Wenn man es einmal verstanden hat, ist es auch nicht schwer es umzusetzten.
Zur Zeit habe ich kein Projekt am laufen. Probiere aber so diverses unter Mac, Windows und Linux aus.
Man kann wunderbar durch Compiler-Optionen im gleichen Code für die verschiedene Betriebsversionen Anpassungen programmieren.
Durch die Modul-Technik ist es auch sehr gut wiederverwendbare Code zu schreiben.
Hier mal eine sinnloses Beispiel zur Programmierung als Funktionen oder als Object
Code: Alles auswählen
;-TOP
DeclareModule MyFunction
Declare New()
Declare Free(*ds)
Declare Set(*ds, text.s)
Declare.s Get(*ds)
EndDeclareModule
Module MyFunction
EnableExplicit
Structure udtDaten
text.s
EndStructure
Procedure New()
Protected *ds
*ds = AllocateStructure(udtDaten)
ProcedureReturn *ds
EndProcedure
Procedure Free(*ds)
If *ds
FreeStructure(*ds)
EndIf
EndProcedure
Procedure Set(*ds.udtDaten, text.s)
If *ds
*ds\text = text
EndIf
EndProcedure
Procedure.s Get(*ds.udtDaten)
If *ds
ProcedureReturn *ds\text
EndIf
EndProcedure
EndModule
; ***********************************************
DeclareModule MyObject
Interface iMyObject
Free()
Set(text.s)
Get.s()
EndInterface
Declare New()
EndDeclareModule
Module MyObject
EnableExplicit
Structure udtDaten
*vTable ; Immer an der ersten stelle
text.s
EndStructure
Procedure New()
Protected *this.udtDaten
*this = AllocateStructure(udtDaten)
If *this
*this\vTable = ?vtMyObject
EndIf
ProcedureReturn *this
EndProcedure
Procedure Free(*this)
FreeStructure(*this)
EndProcedure
Procedure Set(*this.udtDaten, text.s)
With *this
\text = text
EndWith
EndProcedure
Procedure.s Get(*this.udtDaten)
Protected r1.s
With *this
r1 = \text
EndWith
ProcedureReturn r1
EndProcedure
; Immer die gleiche Reihenfolge wie im Interface
DataSection
vtMyObject:
Data.i @Free()
Data.i @Set()
Data.i @Get()
EndDataSection
EndModule
; ***********************************************
;- Test
Debug "Modul als Funktionen"
Define *t1 ; Ist ein Pointer (*) auf die Daten
*t1 = Myfunction::New()
Myfunction::Set(*t1, "Hallo Welt")
Debug Myfunction::Get(*t1)
MyFunction::Free(*t1)
Debug "Modul als Object"
Define *obj1.MyObject::iMyObject ; Ist ein Pointer (*) auf das Object (Interface)
*obj1 = MyObject::New()
*obj1\Set("Hello World")
Debug *obj1\Get()
*obj1\Free()
Alles ist möglich, fragt sich nur wie...
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul
Downloads auf MyWebspace / OneDrive
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul
Downloads auf MyWebspace / OneDrive
- juergenkulow
- Beiträge: 188
- Registriert: 22.12.2016 12:49
- Wohnort: :D_üsseldorf-Wersten
Re: Mit PureBasic anfangen? Oder doch VB.Net?
Hallo Nopp,
ich habe da zwei Fragen und eine Anmerkung
Wieviele Zeilen sind bis jetzt programmiert?
Wiehoch ist der PureBasic Anteil?
Auf der Insel der Programmierer gibt es nicht nur Prograland,
sondern auch Analytisten und Architektonien.
ich habe da zwei Fragen und eine Anmerkung
Wieviele Zeilen sind bis jetzt programmiert?
Wiehoch ist der PureBasic Anteil?
Auf der Insel der Programmierer gibt es nicht nur Prograland,
sondern auch Analytisten und Architektonien.
Bitte stelle Deine Fragen, denn den Erkenntnisapparat einschalten entscheidet über das einzig bekannte Leben im Universum.
Jürgen Kulow Wersten :D_üsseldorf NRW D Europa Erde Sonnensystem Lokale_Flocke Lokale_Blase Orion-Arm
Milchstraße Lokale_Gruppe Virgo-Superhaufen Laniakea Sichtbares_Universum
Jürgen Kulow Wersten :D_üsseldorf NRW D Europa Erde Sonnensystem Lokale_Flocke Lokale_Blase Orion-Arm
Milchstraße Lokale_Gruppe Virgo-Superhaufen Laniakea Sichtbares_Universum
Re: Mit PureBasic anfangen? Oder doch VB.Net?
Moinsen,
bin grade dabei eine einfache GUI mit drei Buttons und einer Textzeile zu bauen welche je nach Knopfdruck entweder den "Windows Explorer" / Editor öffnet, oder den geschriebenen Text mit einer Abfrage wohin speichert.
Habe nun mit Python gestartet, weil ich das noch installiert hatte.
Gefällt mir bisher ganz gut muss ich sagen.
Anschließend bversuche ich das mal mit Tutorials mit PB, nur um zu sehen, wie das dann ausschaut und wie es mir von der Hand geht.
bin grade dabei eine einfache GUI mit drei Buttons und einer Textzeile zu bauen welche je nach Knopfdruck entweder den "Windows Explorer" / Editor öffnet, oder den geschriebenen Text mit einer Abfrage wohin speichert.
Habe nun mit Python gestartet, weil ich das noch installiert hatte.
Gefällt mir bisher ganz gut muss ich sagen.
Anschließend bversuche ich das mal mit Tutorials mit PB, nur um zu sehen, wie das dann ausschaut und wie es mir von der Hand geht.