What will coming with PB 4.0 ??
What will coming with PB 4.0 ??
Hello Fred,
Sorry for the question about the new features wich will come with PB4.0
Can you give use a short "will do" list of PB 4.0 too?
Here are my short list of have to have with PB4.0:
- DirectX 9.0 support (Windows only)
- more OOP (will be great)
- "faster"
One of the reasons for a great PB 4.0 have to be the competitions:
- BlitzBasic
- GLBasic
- etc...
Sorry for the question about the new features wich will come with PB4.0
Can you give use a short "will do" list of PB 4.0 too?
Here are my short list of have to have with PB4.0:
- DirectX 9.0 support (Windows only)
- more OOP (will be great)
- "faster"
One of the reasons for a great PB 4.0 have to be the competitions:
- BlitzBasic
- GLBasic
- etc...
yeah, it's about time the maid with options function gets implemented
( 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... )
viewtopic.php?t=9637- DirectX 9.0 support (Windows only)
viewtopic.php?t=9639
Its not gonna happen:- more OOP (will be great)
viewtopic.php?t=6063
It can't get much faster unless you personally optimise the ASM output by hand."Faster"
This OOP stuff discusion, well. I'm just a humble self-taught programer. So I just don't know what this OOP .NET etc is.
I have a couple of books around c++, and when they talk OOP, they just start talking about cats and dogs and hamsters, or maybe cars , wheels, brakes... etc And constructions and destructions, inheritances. Sure this is cool, but I just can't relate to it. Sounds like an episode from "Dallas"( a quite popular 80's TV show, I never watched much, so I realy never understood what it was all about).
On the other hand, I have sometimes comented, that I would like this or that feature in a programing language, and I have been told that was OOP.
So maybe if some of the OOP advocates, could explain in plain English, with some practical example, what this OOP business is. Then maybe and only maybe we could see the benefit of this.
I have a couple of books around c++, and when they talk OOP, they just start talking about cats and dogs and hamsters, or maybe cars , wheels, brakes... etc And constructions and destructions, inheritances. Sure this is cool, but I just can't relate to it. Sounds like an episode from "Dallas"( a quite popular 80's TV show, I never watched much, so I realy never understood what it was all about).
On the other hand, I have sometimes comented, that I would like this or that feature in a programing language, and I have been told that was OOP.
So maybe if some of the OOP advocates, could explain in plain English, with some practical example, what this OOP business is. Then maybe and only maybe we could see the benefit of this.
OOP sucks (This is my opinion)
THOUGH i must admit that sometimes OOP or .NET features like passing an array to a functions are very handy. But better learn how to use pointers for that I think.
Compiled code is big and slow.
Some guys don't even know how to program without OOP.
Better learn how a computer works before adding/using abstraction layers.
And I don't agree with people saying that OOP programming is better for large programs like massive databases.
One can make their own object structures as well just with procedural programming. This generally compiles much better than sucky OOP code.
Besides pointers are powerfull enough to do about everything you want fast and easy.
THOUGH i must admit that sometimes OOP or .NET features like passing an array to a functions are very handy. But better learn how to use pointers for that I think.
Compiled code is big and slow.
Some guys don't even know how to program without OOP.
Better learn how a computer works before adding/using abstraction layers.
And I don't agree with people saying that OOP programming is better for large programs like massive databases.
One can make their own object structures as well just with procedural programming. This generally compiles much better than sucky OOP code.
Besides pointers are powerfull enough to do about everything you want fast and easy.
the problem is you can't use poiners with arrays or lists in pure, and they are global. you can create your own lists and work with pointers but arrays is another history.
once you get used to OOP it's better IMO, it's basically a way to keep everything sorted and reduce globals, the code tends to be easier to mantain. but i would prefer other things before improving OOP like
on explicit option
larger var types, unsigned, etc..
acces lists/arrays through pointers
macros
not operator
once you get used to OOP it's better IMO, it's basically a way to keep everything sorted and reduce globals, the code tends to be easier to mantain. but i would prefer other things before improving OOP like
on explicit option
larger var types, unsigned, etc..
acces lists/arrays through pointers
macros
not operator
You can still do some fancy things with arrays in PureBasic (maybe not documented and therefore not safe to use in the future):
Code: Select all
Cols = 4
Rows = 20
TestRow = 15
TestCol = 3
TestValue$ = "My string"
Dim MyStrArray$(Cols, Rows)
MyStrArray$(TestCol, TestRow) = TestValue$
Dim *MyArray(Cols, Rows) ; <-- I'm afraid this allocates memory anyway
FreeMemory(*MyArray()) ; <-- so let's free it ;)
*MyArray() = AllocateMemory(4*(Cols+1)*(Rows+1)) ; <-- nice trick, huh?
TestValue = 88
PokeL(*MyArray()+(TestCol*(Rows+1)*4)+(TestRow*4), TestValue)
; same as *MyArray(TestCol, TestRow) = TestValue
; useful, for example, to change pixels in an image
; when you have access to the bitmap bits
Debug *MyArray(TestCol, TestRow)
Dim *MyArray(Cols, Rows) ; <-- this zeroes all memory pointed by the array
Debug *MyArray(TestCol, TestRow)
FreeMemory(*MyArray()) ; <-- don't forget we've allocated our own array memory
*MyArray() = @MyStrArray$()
Debug PeekS(*MyArray(TestCol, TestRow))
Dim *My2ndStrArray.s(Cols, Rows) ; <-- but we can also point directly a string array
FreeMemory(*My2ndStrArray()) ; <-- free it
*My2ndStrArray() = @MyStrArray$() ; <-- and point it again to the original string array
Debug *My2ndStrArray(TestCol, TestRow)
; You can also use it with structures:
Structure MyStruc
val1.l
val2.l
val3.l
EndStructure
Dim MyStructuredArray.MyStruc(Cols, Rows)
Dim *MyStrucArray.MyStruc(Cols, Rows)
; But in this case we don't free the array memory
MyStructuredArray(TestCol, TestRow)\val1 = 1
MyStructuredArray(TestCol, TestRow)\val2 = 2
MyStructuredArray(TestCol, TestRow)\val3 = 3
; because we need it to store the pointers
; to the structures, which are not stored in
; a regular structured array...
For i=0 To Cols
For j=0 To Rows
*MyStrucArray(i, j) = @MyStructuredArray(i, j)
Next j
Next i
; Otherwise, the following would cause an illegal access
Debug *MyStrucArray(TestCol, TestRow)\val1
Debug *MyStrucArray(TestCol, TestRow)\val2
Debug *MyStrucArray(TestCol, TestRow)\val3
El_Choni
There was a thread somewhere awhile back concerning PB 4.0 and above.... gotta love the Mac OSX support coming soon... hopefully after PB is actually on the level of itself... bleh..
Somethings to be aware of...
1. Looks like Fred is working on 3.90 for linux, and 3.91 for Windows (as according to the roadmap)
2. All 4 platforms will be uptodate for 3.91... which means there should be a sprite3d for both Linux and MacOSX... though I dont see how it would be possible for Amiga, but it's on the roadmap, hehe, should be interesting
Reference: viewtopic.php?t=10125&highlight=roadmap
Somethings to be aware of...
1. Looks like Fred is working on 3.90 for linux, and 3.91 for Windows (as according to the roadmap)
2. All 4 platforms will be uptodate for 3.91... which means there should be a sprite3d for both Linux and MacOSX... though I dont see how it would be possible for Amiga, but it's on the roadmap, hehe, should be interesting
Reference: viewtopic.php?t=10125&highlight=roadmap




