Purebasic wishlist from a Powerbasic User
Posted: Thu Dec 03, 2009 2:25 pm
As many know, Powerbasic does actually not yet support 64 bit, but Purebasic does.
So having something to do which must be "x64" i reminded my Purebasic Licence which i had since long years time and started over.
From the standpoint of a Powerbasic User, the Editor from Purebasic is a Enlightenment. There are no wishes left, it just looks like the final stage in Editor developement, campared to the actual Powerbasic-Editor. Even if I would include the new Powerbasic-Forms Editor which however must be bough separately (and in Purebasic all is included).
Saying this, away from the IDE, looking at the Compiler, there are some basic differences and shortcomings which I would want to be put on the Purebasic wishlist for future versions.
These are not new libraies with this or that function. Not new 3D gaming stuff. Basic things to improve the system.
Things that i am used to from Powerbasic or would like to have. These are:
1. Why do i need to declare PROCEDURES or use them in order? This looks to me outdated 2009.
The compiler should make a second PASS and collect all this stuff. Especially Global Variables, PROCEDURES, MACROS etc.
I doubt this will be a big deal to implement. If compiling takes a second longer ... no problem.
2. Labels should be possibly Procedure Local. I do not see any sense of having labels with a global scope.
This could easily be implemented, if the compiler (internally) just adds the Procudurename to the Label and maybe a UID it generates dynamically when
registering procedures. This way the Labels would be de-facto LOcal, while internally beeing accessible for the assembler at any point.
3. The same applies to Labels and VAriables inside MACROS. The usability of MACROS could be greatly enahnced if there would be a chance to declare lables and Variables inside the MACRO as "#MACROTEMP". Under the Hood the compiler wilol just count how often the MACRO was called and would add (as long as he's i nthe MACRO) a number to the name. This way MACROS could be called more often then once in a PROCEDURE if they contain such local things.
4. This is more of a Library thing. Purebasic has done a really good Job in supporting x64 Executables now!
The next big Trend with x64 is Multithreading. While there is actually support for several things, the Tranfer of Parameters in and out of Thread is not as easy as it can be. Internally this could be realized with a Global structure and giving the pointer to The calles procedure. For the End user I'd wish a very simple call to get Data in - and out of a "Multithreaded Procedure".
Thats all so far on my wishlist. Keep the good work going!
So having something to do which must be "x64" i reminded my Purebasic Licence which i had since long years time and started over.
From the standpoint of a Powerbasic User, the Editor from Purebasic is a Enlightenment. There are no wishes left, it just looks like the final stage in Editor developement, campared to the actual Powerbasic-Editor. Even if I would include the new Powerbasic-Forms Editor which however must be bough separately (and in Purebasic all is included).
Saying this, away from the IDE, looking at the Compiler, there are some basic differences and shortcomings which I would want to be put on the Purebasic wishlist for future versions.
These are not new libraies with this or that function. Not new 3D gaming stuff. Basic things to improve the system.
Things that i am used to from Powerbasic or would like to have. These are:
1. Why do i need to declare PROCEDURES or use them in order? This looks to me outdated 2009.
The compiler should make a second PASS and collect all this stuff. Especially Global Variables, PROCEDURES, MACROS etc.
I doubt this will be a big deal to implement. If compiling takes a second longer ... no problem.
2. Labels should be possibly Procedure Local. I do not see any sense of having labels with a global scope.
This could easily be implemented, if the compiler (internally) just adds the Procudurename to the Label and maybe a UID it generates dynamically when
registering procedures. This way the Labels would be de-facto LOcal, while internally beeing accessible for the assembler at any point.
3. The same applies to Labels and VAriables inside MACROS. The usability of MACROS could be greatly enahnced if there would be a chance to declare lables and Variables inside the MACRO as "#MACROTEMP". Under the Hood the compiler wilol just count how often the MACRO was called and would add (as long as he's i nthe MACRO) a number to the name. This way MACROS could be called more often then once in a PROCEDURE if they contain such local things.
4. This is more of a Library thing. Purebasic has done a really good Job in supporting x64 Executables now!
The next big Trend with x64 is Multithreading. While there is actually support for several things, the Tranfer of Parameters in and out of Thread is not as easy as it can be. Internally this could be realized with a Global structure and giving the pointer to The calles procedure. For the End user I'd wish a very simple call to get Data in - and out of a "Multithreaded Procedure".
Thats all so far on my wishlist. Keep the good work going!