Mit PureBasic anfangen? Oder doch VB.Net?

Für allgemeine Fragen zur Programmierung mit PureBasic.
Benutzeravatar
RSBasic
Admin
Beiträge: 8022
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Re: Mit PureBasic anfangen? Oder doch VB.Net?

Beitrag von RSBasic »

@ts-soft
Du hast recht, aber da ich bereits mit dem Schreiben des deutschen Beitrags angefangen habe, poste ich es trotzdem hier, da ich keine Lust habe, meinen Beitrag nochmal zu schreiben. :D

@Nopp
Wenn du mit PB anfängst, hier zwei Seiten mit vielen, guten Beispielcodes, falls du eine Vorlage brauchst: Außerdem befindet sich in deinem installierten Programmverzeichnis von PB auch einen Examples-Ordner, in dem weitere Beispielcodes vorhanden sind.

Weißt du schon, in welche Richtung du gerne programmieren möchtest?
  1. Anwendungen mit Fenstern und Controls u.ä.
  2. 2D
  3. 3D
Hast du auch schon Projektideen? Oder erstmal primär die Grundlagen lernen?

Und wenn du später andere Fragen oder Probleme beim Programmieren hast, dann erstelle hier einen neuen Thread, damit deine Fragen besser von der Board-Suche gefunden werden können.
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
Benutzeravatar
Shardik
Beiträge: 738
Registriert: 25.01.2005 12:19

Re: Mit PureBasic anfangen? Oder doch VB.Net?

Beitrag von Shardik »

RSBasic hat geschrieben:Ohne WinAPI ist die native PB-Funktionalität zwar ausreichend, aber eingeschränkt bezüglich der Benutzeroberfläche und Funktionen. Deshalb verwende ich immer WinAPI und "scheiße" auf die Plattformunabhängigkeit, weil sonst einige Projekte von mir garnicht umsetzbar sind.
Ich gebe zu, dass die Anzahl Nutzer, die PureBasic unter Windows einsetzen, den weitaus größten Anteil stellt. Trotzdem habe ich den Eindruck, dass die Anzahl Linux- und MacOS-Anwender in letzter Zeit kontinuierlich wächst und dadurch die Plattformunabhängigkeit für einen Entwickler immer wichtiger wird (und dadurch auch ein wichtiges Verkaufsargument für PureBasic darstellt).

Wer also nicht auf Plattformunabhängigkeit "scheißt", kann in PureBasic durchaus auch Anwendungen mit API-Funktionen (die es momentan in PureBasic (noch) nicht als native Befehle gibt) entwickeln, wenn er neben dem Win32-API auch das GTK-Framework von Linux und das Cocoa-Framework von MacOS kennt. Ich habe daher hier Links zusammengestellt, die Beispiele von Funktionalitäten bieten, die PureBasic nativ (noch) nicht kennt, die aber durch Einsatz der plattform-spezifischen API-Befehle auf Linux, MacOS und Windows laufen. Diese Beispiele erleichtern es auch den PureBasic-Entwicklern, Funktionalitäten, die sie in PureBasic für wichtig halten, ohne großen Aufwand nativ in PureBasic zu integrieren, was in der Vergangenheit auch bereits mehrfach geschehen ist. Dies ist natürlich nicht möglich, wenn man nur eine API-Lösung für Windows entwickelt und auf die anderen Betriebssysteme "scheißt"... :wink: Denn oft stellt sich erst während des Implementationsversuchs auf den anderen Plattformen heraus, ob der Einbau einer neuen Funktionalität auf allen 3 Plattformen überhaupt ohne einen Riesenaufwand möglich ist.
CodeBurg
Beiträge: 101
Registriert: 06.06.2011 22:53

Re: Mit PureBasic anfangen? Oder doch VB.Net?

Beitrag von CodeBurg »

ts-soft hat geschrieben:...schlage ich vor nur noch dort zu antworten!
Bin zwar auch des englischen mächtig, bin aber nicht im englischen Forum registriert und habe auch nicht vor, dies für einen einzelnen Post zu tun.
Nopp hat geschrieben: Dann habe ich VB6 entdeckt und fand die Syntax direkt viel ansprechender. Da VB6 ja "ausgestorben" ist (Bitte nicht steinigen für diesen Ausdruck), bin ich dann auf VB.Net und PureBasic gestoßen.
Hast du dir dann mal Xojo angesehen? Es ist immer wieder zu lesen, dass diese Entwicklungsumgebung auf VB-Programmierer, die nicht auf VB.NET wechseln wollen, sehr anziehend wirken soll. Zugegeben, im Vergleich zum kostenlosen VB.NET oder den einmaligen Kosten für PB, ist es doch deutlich teurer, aber wenn du nur Desktop-Anwendungen und nur für ein System programmieren willst, bleiben die Kosten dennoch überschaubar.
Nopp hat geschrieben:Wie es dann vielleicht auch zukünftig im Vertrieb ausschaut? Ich weiß nicht, ob es dann wichtig ist in welcher Sprache die Software geschrieben wurde, solange sie performant ist und funktioniert.
Das kommt ganz darauf an, was du genau mit Vertrieb meinst. Willst du fertige Programme schreiben und verkaufen, hast du sicherlich Recht. Willst du aber dein Business so erweitern, dass du z. B. auch Programme im Kundenauftrag erstellst bzw. erweiterst, könnte es sein, dass du mit einer "Nischensprache" wie PB nicht besonders weit kommst. Da man z. B. auch mit einem VB.NET-Projekt eine C#-Solution erweitern kann, wäre für ein solches Vorhaben VB.NET schon mal die besser Wahl.
Nopp hat geschrieben:Dann frage ich mal ganz verspitzt: Unterliegt die prozedurale Programmierung der OOP in irgendeiner Weise?
Dazu wurde ja schon viel geschrieben, aber ich denke, diese Frage kann man nicht pauschal, sondern nur situativ beantworten. Es gibt nämlich immer noch Einsatzgebiete, in denen sich die OOP nicht wirklich eignet. Oder um nur mal ein Beispiel mit einem schön, provokanten Zitat von Linus Torvalds zu formulieren:
Trust me - writing kernel code in C++ is a BLOODY STUPID IDEA.
Quelle: http://yarchive.net/comp/linux/c++.html

Letzten Endes ist es aber egal, was andere sagen. Das beste Paradigma, ist das mit dem du am besten klar kommst. Nehmen wir mal an, du kommst mit OOP nicht klar, dann wirst du dir keinen Gefallen damit tun, dir einen mit OOP abzubrechen, nur weil alle anderen sagen es muss unbedingt OOP sein. Speziell wenn du nur Closed-Source-Programme schreiben willst.
Benutzeravatar
RSBasic
Admin
Beiträge: 8022
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Re: Mit PureBasic anfangen? Oder doch VB.Net?

Beitrag von RSBasic »

CodeBurg hat geschrieben:Letzten Endes ist es aber egal, was andere sagen. Das beste Paradigma, ist das mit dem du am besten klar kommst. Nehmen wir mal an, du kommst mit OOP nicht klar, dann wirst du dir keinen Gefallen damit tun, dir einen mit OOP abzubrechen, nur weil alle anderen sagen es muss unbedingt OOP sein. Speziell wenn du nur Closed-Source-Programme schreiben willst.
+1 :allright:
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
ccode_new
Beiträge: 1214
Registriert: 27.11.2016 18:13
Wohnort: Erzgebirge

Re: Mit PureBasic anfangen? Oder doch VB.Net?

Beitrag von ccode_new »

VB.Net oder PureBasic ?

-> Welche Syntax gefällt dir den besser ?
-> Kommst du mit fester vorgeschriebener objekt-orientierter Programmierung klar ? (Klassenstrukturen, Vererbung, Konstruktoren, ggf. Destruktoren, Interfaces, automatische Müllbereiniger, verteilte Threads, etc.)
(Anbei: Man sollte (egal welche Programmiersprache) immer vom Grundsatz her objekt-orientiert-programmieren.)

->Möchtest du nur unter Windows entwickeln oder interessieren dich auch andere Plattformen (MacOS, IOS, FreeBSD, Linux, DOS, Android, ...) ?

VB.Net ist ja ganz nett, aber gerade wegen diesen netten Forum würde ich dir gerne PureBasic empfehlen.

Ansonsten ist auch JAVA eine empfehlenswerte Programmiersprache.

Anbei:
Zitat vom schnellen Nic: "VB.NET läuft zwar bestimmt auch irgendwie mit Mono unter Linux, aber das will ich mir nicht antun. ;-)"
->Ich glaube das wollen die wenigsten Leute. Wenn dann wenigstens C# oder das moderne F#.
Betriebssysteme: div. Windows, Linux, Unix - Systeme

no Keyboard, press any key
no mouse, you need a cat
Nopp
Beiträge: 10
Registriert: 21.12.2017 08:57

Re: Mit PureBasic anfangen? Oder doch VB.Net?

Beitrag von Nopp »

NicTheQuick hat geschrieben:Oder noch interessanter: https://rosettacode.org. Dort findest du hunderte Lösungen als Quellcodes zu den verschiedensten Fragestellungen in sehr vielen Programmiersprachen. Darunter natürlich auch Purebasic und Visual Basic .NET. Hier gibt es sogar nur 130 Quellcodes von VB.NET im Vergleich zu Purebasic, wo es 543 Quellcodes gibt. Hier auch das Beispiel mit Hello World.
Cool, die Seite kannte ich noch nicht!
Ich kenne nur den Klassiker: http://www.99-bottles-of-beer.net/ :)

Ich würde tatsächlich gerne im deutschen Forum weiterschreiben.
Führt ein Admin das zusammen, oder wird einfach dicht gemacht?
Hier scheint viel mehr los zu sein :allright:

Vielen Dank für die ganzen Links und Ratschläge.
Ich denke ich werde mir die Tage und Wochen einfach nochmal beide Sprachen genau zu Gemüte führen und ein kleines Tool in beiden Sprachen von Anfang an aufsetzen und anschließend entscheiden was mir mehr zugesagt hat.

Achja, zur Frage was ich denn genau geplant habe.
Ich habe mir 3 Sachen vorgenommen, die ich irgendwann hinbekommen möchte (auf Dauer).

Webbrowseranwendung:
1. Eine Kunden-Passwortverwaltung mit Zugriff auch von außen (Muss natürlich "sicher" sein!)
- Für unterwegs Passwörter/Logins für Kundensysteme abrufen, mit Autotype Funktion.
- Hier ist doch wahrscheinlich dann SpiderBasic gefragt, oder kann man auch "ordentliche" Webanwendungen mit PB schreiben?

Webbrowser oder Desktop:
2. Ein Rechnungsprogramm mit integrierter Zeiterfassung
- Es gibt hier zwar eine Menge am Markt, aber irgendwie ist das immer nicht so ganz das Wahr. Viel schon ausprobiert, aber entweder viel zu viele Funktionen für mich und deswegen zu teuer, oder es fehlen Key-Features wie die Zeiterfassung.

Webbroswer oder Desktop:
3. Die Erstellung einer Customer-Score-Card (Habe ich mal so benannt)
- Anhand gewisser Kriterien und Priorisierungen werden meine Kunden/Interessenten ausgewertet und ein Score vergeben. Anhand dieses Scores sieht man dann wie "wichtig" dieser Kunde dem Unternehmen ist.
Das muss natürlich gepflegt werden. Da kommt dann auch sowas rein wie Zahlungsverzüge, Stornierungen etc.
Ist eher ein Spielzeug für mich als GF. Sehr schön wäre es dann wenn aus der Score-Übersicht dann auch so eine Art Radar-Chart erstellt wird, indem man den Kunden im Vergleich zum "Durchschnitt, oder im direkten Vergleich mit einem anderen Kunden sehen kann":
Radar-Chart bsp: https://www.visualcinnamon.com/wp-conte ... -Chart.png

3 sehr große Projekte, wie ich denke...
Sind solche Projekte denn mit PB / SpiderBasic überhaupt realisierbar?

VG!

P.S. Alles gerne Mehrbenutzer-fähig außer die CustomerScoreCard...
Zuletzt geändert von Nopp am 21.12.2017 17:55, insgesamt 1-mal geändert.
Nopp
Beiträge: 10
Registriert: 21.12.2017 08:57

Re: Mit PureBasic anfangen? Oder doch VB.Net?

Beitrag von Nopp »

ccode_new hat geschrieben:VB.Net oder PureBasic ?

-> Welche Syntax gefällt dir den besser ?
-> Kommst du mit fester vorgeschriebener objekt-orientierter Programmierung klar ? (Klassenstrukturen, Vererbung, Konstruktoren, ggf. Destruktoren, Interfaces, automatische Müllbereiniger, verteilte Threads, etc.)
(Anbei: Man sollte (egal welche Programmiersprache) immer vom Grundsatz her objekt-orientiert-programmieren.)
Hierzu kann ich sagen, dass ich bisher nur die VB.Net Syntax "kenne".
Da ich dachte die ist stark ähnlich mit der von PureBasic bin ich hellhörig geworden.
Im Grundsatz her OOP arbeiten finde ich gut. Also oft benutzte Dinge auslagern etc., aber strikt nach OOP-Vorschriften, das kann ich Dir nciht sagen, da ich es noch nie gemacht habe.
Komme halt eher aus der Scripting-Ecke a la Powershell... Adminzeug eben.

Danke!
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: Mit PureBasic anfangen? Oder doch VB.Net?

Beitrag von TroaX »

@Nopp: Mir gefallen deine Projekte und so wie es aussieht, stellst du dir auch die Projekte als Browseranwendungen vor. Gerade im bezug auf die Mehrbenutzerfähigkeit und am Ende im Bezug auf die Wartung ist eine zentrale Anwendung auf einem Server in der Summe nicht verkehrt. Mit PureBasic hast du die Möglichkeit, mit FastCGI oder CGI deine Software auch serverseitig umzusetzen. Dadurch kannst du dir viel ersparen:
1. Installation bei Updates auf mehreren Clients
2. Betriebssystem des Clients spielt keine Rolle
3. Datensicherungen der Anwendungen auf den einzelnen Clients entfallen, da diese zentral auf dem Server liegen

Diese Möglichkeit hast du aber theoretisch auch mit VB.NET. Aber auch mit Python. Und die unterstützen gängige Standards.

Zum Thema Objektorientierung: Sie sollte eigentlich ein natürlicheres programmieren und verstehen von Programmcodes ermöglichen. Die bekannten Beispiele mit der Bibliothek oder den Autos verdeutlichen diesen Grundgedanke auch. Heutzutage kratzt man aber mit diesen Beispielen nur noch an der Oberfläche. Steigt man allerdings tiefer in die Materie ein, wird man feststellen, das der natürliche Grundgedanke unter der Oberfläche schon wieder wegabstrahiert ist. Die Objektorientierung ist allerdings nicht nur eine Abstraktion für den Programmierer. Es ist auch eine für den Computer selbst. Was für den Menschen natürlich erscheint, ist für den Computer unnatürlich und kann sie im Grunde nur auflösen, in dem er mehr rechnet. Ich sage nicht, das die performance spürbar schlechter ist. Aber wenn es wirklich um jeden Takt geht, wird sich das auf längere Zeit schon auf der Uhr bemerkbar machen. Nur dafür musst du schon in wirklich extrem zeitkritische Bereiche gehen.

Was also die Performance angeht, spielt die Wahl zwischen VB.NET, Python oder PureBasic eher eine untergeordnete Rolle. Denn der Programmstart, bei dem alles in den Speicher geschaufelt wird und ggf. Nachkompiliert wird (JIT), ist der eigentliche Moment, bei dem man die Performanceunterschiede merken würde. Und da dürfte PB schneller sein. Sobald die Anwendungen aber laufen, laufen sie und dann wird man während der Bedienung auch kaum unterschiede merken. Das gleiche gilt für OOP oder prozedural. Gerade VB.NET, C#, Python, PHP und Co. sind mittlerweile im Bezug auf OOP so hochgradig optimiert, das man den Unterschied kaum merken dürfte.

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 :lol: ) im Regelfall auch recht einfach (wenn auch nicht immer elegant).
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: Mit PureBasic anfangen? Oder doch VB.Net?

Beitrag von RSBasic »

Nopp hat geschrieben:Führt ein Admin das zusammen, oder wird einfach dicht gemacht?
Ein Admin kann beide Thread nicht zusammenführen, da es zwei getrennte Foren sind.
Nopp hat geschrieben:Ich würde tatsächlich gerne im deutschen Forum weiterschreiben.
Hier scheint viel mehr los zu sein :allright:
Ja, dann schreib lieber hier. :)
TroaX hat geschrieben:Sei dir aber bewusst, das du im Vergleich zum .NET auf immens viele Features verzichten muss.
Welche genau? Mir fällt spontan nur PropertyGrid ein.
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
ccode_new
Beiträge: 1214
Registriert: 27.11.2016 18:13
Wohnort: Erzgebirge

Re: Mit PureBasic anfangen? Oder doch VB.Net?

Beitrag von ccode_new »

Das .Net-Framework ist schon ein mächtiges Stück "Scheiße" (witzig gemeint) =gewaltige Funktionsbibliothek. Es existieren auch tausende weitere freie Funktionsbibliotheken für VB.Net, aber insgesamt kann dich das am Anfang vielleicht auch sehr schnell "erschlagen".

Und es bleibt das Problem mit der Portabilität.
Betriebssysteme: div. Windows, Linux, Unix - Systeme

no Keyboard, press any key
no mouse, you need a cat
Antworten