PureBasic Pros and Cons
-
PB&J Lover
- Enthusiast

- Posts: 212
- Joined: Fri Apr 22, 2005 2:07 pm
- Location: U.S.A.
- Contact:
PureBasic Pros and Cons
Hello All,
I've been using PB for a few weeks now and I've been able to cut my old programs down to 1/3!
I was just wondering, what are some of the pros and cons that you who have been using it longer have found?
What are its strengths and weeknesses? (This will help me to know what apps to use it for).
Thanks.
I've been using PB for a few weeks now and I've been able to cut my old programs down to 1/3!
I was just wondering, what are some of the pros and cons that you who have been using it longer have found?
What are its strengths and weeknesses? (This will help me to know what apps to use it for).
Thanks.
-- DB
Any intelligent fool can make things bigger, more complex, and more violent. It takes a touch of genius — and a lot of courage — to move in the opposite direction.
Albert Einstein
Any intelligent fool can make things bigger, more complex, and more violent. It takes a touch of genius — and a lot of courage — to move in the opposite direction.
Albert Einstein
the bad parts...
- i'm missing quads (well, 64 bit ints, these are so damn necessary these days) and better precision in floats
- i think the whole expression evaluation thingy needs either a rework or an explanation, sometimes it is very unclear if things need or produce floats or ints, especially in long expression
- i could live with an unsigned byte var, although it's not essential it would speed up some code, using peekb(..) & $FF doesn't look very neat
- multiple case consitions, as in case 0,1 are missing
- the (old) editor, dunno about the new one yet, but i prefer japbe thus far
- better image manipulation, i would like to have more control over image depth independent of desktop resolution
- the 3d commands and sound features are not there yet
- some of the commands could use some streamlining, sometimes a 'use' statement is used, sometimes a paramter is given, this isn't too consistent, i'd rather have both syntaxes
- poor help file and documentation
the good parts
- compiles fast and runs fast, yeah there may be other faster products around, but it's fast enough for me... especially on this machine
- exe sizes are small
- i simply like basic, and with a gfabasic background i like (most of) the syntax
- direct use of api... no let me rephrase that... DIRECT USE OF API... gotta love this!!!!
- pb has an incredible community
- free updates, free updates, free updates
- i'm missing quads (well, 64 bit ints, these are so damn necessary these days) and better precision in floats
- i think the whole expression evaluation thingy needs either a rework or an explanation, sometimes it is very unclear if things need or produce floats or ints, especially in long expression
- i could live with an unsigned byte var, although it's not essential it would speed up some code, using peekb(..) & $FF doesn't look very neat
- multiple case consitions, as in case 0,1 are missing
- the (old) editor, dunno about the new one yet, but i prefer japbe thus far
- better image manipulation, i would like to have more control over image depth independent of desktop resolution
- the 3d commands and sound features are not there yet
- some of the commands could use some streamlining, sometimes a 'use' statement is used, sometimes a paramter is given, this isn't too consistent, i'd rather have both syntaxes
- poor help file and documentation
the good parts
- compiles fast and runs fast, yeah there may be other faster products around, but it's fast enough for me... especially on this machine
- exe sizes are small
- i simply like basic, and with a gfabasic background i like (most of) the syntax
- direct use of api... no let me rephrase that... DIRECT USE OF API... gotta love this!!!!
- pb has an incredible community
- free updates, free updates, free updates
( PB6.00 LTS Win11 x64 Asrock AB350 Pro4 Ryzen 5 3600 32GB GTX1060 6GB - upgrade incoming...)
( The path to enlightenment and the PureBasic Survival Guide right here... )
( The path to enlightenment and the PureBasic Survival Guide right here... )
Cross-platform, gadget library
Pros:
The biggest pro for me is the native compilation of the executables (small size and fast execution) and yet it is still cross-platform.
Cons:
For me the biggest con is the Gadget library. I find it incomplete, inconsistent and unnecessarily complex. Something like what Tcl/Tk does with the Tk library would be ideal but I'd settle for more functionality and consistency with the existing library...
The biggest pro for me is the native compilation of the executables (small size and fast execution) and yet it is still cross-platform.
Cons:
For me the biggest con is the Gadget library. I find it incomplete, inconsistent and unnecessarily complex. Something like what Tcl/Tk does with the Tk library would be ideal but I'd settle for more functionality and consistency with the existing library...
Re: Cross-platform, gadget library
I also think the Gadget library needs a complete rewrite: it's good in a certain way, BUT: as you said it's inconcsistent and incomplete, the CreateGadgetList stuff for example was perhaps a good idea at start but nowUSCode wrote:Pros:
The biggest pro for me is the native compilation of the executables (small size and fast execution) and yet it is still cross-platform.
Cons:
For me the biggest con is the Gadget library. I find it incomplete, inconsistent and unnecessarily complex. Something like what Tcl/Tk does with the Tk library would be ideal but I'd settle for more functionality and consistency with the existing library...
But of course there's some good reasons i'm using Purebasic, and these are the size of the executables which is incredible, the fast compilation, and the ability to create our own purebasic libraries with what we want
I think the Gadget library is one of PBs biggest assets.
At the moment it acts as a thin facade, and if you want to do anything more complicated you have to drop to the native API, which is fine as long as you don't want cross platform.
If you don't want cross platform you get all the benefits of being able to build a GUI that is 70% there with simple commands. You can then, very easily, complete the other 30% using API calls. This works well, until you want cross platform.
Pretty soon a GTK option will be available on windows, so even the cross platform problem will be solved.
At the moment it acts as a thin facade, and if you want to do anything more complicated you have to drop to the native API, which is fine as long as you don't want cross platform.
If you don't want cross platform you get all the benefits of being able to build a GUI that is 70% there with simple commands. You can then, very easily, complete the other 30% using API calls. This works well, until you want cross platform.
Pretty soon a GTK option will be available on windows, so even the cross platform problem will be solved.
Well, my turn 
PROs:
1. Small executables.
2. It is quite fast in some areas, though BlitzMax and Visual Basic beats it in some areas.
3. Direct use of API ( WINDOWS Only!!!!)
CONs:
1. Keyboard library is broken, so it cannot be used.
2. Not really cross-platform yet (I understandf this will be fixed before 4.x).
3. Very long commands to use for simple calls.
4. Inconsistancy
5. No unsigned variables
6. poor documentation
7. Single pass compiler, places unnenessary (sp?) burden on the programmer and forces workarounds to be coded.
8. Requires Dx7 or higher, this forces textures to be dividable by 2. This has been fixed in Dx9 and the newest video drivers for decent video cards. There is no limitation to the sizes, but PB still has them!
---
There is a bit more to list above, but Im heading out with the family to enjoy the sun @ 53F degrees.
PROs:
1. Small executables.
2. It is quite fast in some areas, though BlitzMax and Visual Basic beats it in some areas.
3. Direct use of API ( WINDOWS Only!!!!)
CONs:
1. Keyboard library is broken, so it cannot be used.
2. Not really cross-platform yet (I understandf this will be fixed before 4.x).
3. Very long commands to use for simple calls.
4. Inconsistancy
5. No unsigned variables
6. poor documentation
7. Single pass compiler, places unnenessary (sp?) burden on the programmer and forces workarounds to be coded.
8. Requires Dx7 or higher, this forces textures to be dividable by 2. This has been fixed in Dx9 and the newest video drivers for decent video cards. There is no limitation to the sizes, but PB still has them!
---
There is a bit more to list above, but Im heading out with the family to enjoy the sun @ 53F degrees.
Shannara, you make me laugh! :roll: Apart from point 5 you are talking total nonsense.CONS:
1. Keyboard library is broken, so it cannot be used.
2. Not really cross-platform yet (I understandf this will be fixed before 4.x).
3. Very long commands to use for simple calls.
4. Inconsistancy
5. No unsigned variables
6. poor documentation
7. Single pass compiler, places unnenessary (sp?) burden on the programmer and forces workarounds to be coded.
8. Requires Dx7 or higher, this forces textures to be dividable by 2. This has been fixed in Dx9 and the newest video drivers for decent video cards. There is no limitation to the sizes, but PB still has them!
-
SoulReaper
- Enthusiast

- Posts: 372
- Joined: Sun Apr 03, 2005 2:14 am
- Location: England
Hi to eveyone
I have been enjoying reading this thread and just want to say that Pure Basic
is one of the best that I have seen
ok it lacks a little bit but it is getting there given time i think it will go from strength to strength....
I am currently working on a 2d/3d shoot em up and have recently mastered Linked lists for baddies etc, my point being is that i never knew how to do this
in other languages c++ very complex so for me its pure basic...
Keep up the good work fred
I have been enjoying reading this thread and just want to say that Pure Basic
is one of the best that I have seen
ok it lacks a little bit but it is getting there given time i think it will go from strength to strength....
I am currently working on a 2d/3d shoot em up and have recently mastered Linked lists for baddies etc, my point being is that i never knew how to do this
in other languages c++ very complex so for me its pure basic...
Keep up the good work fred
-
dracflamloc
- Addict

- Posts: 1648
- Joined: Mon Sep 20, 2004 3:52 pm
- Contact:


