First off Jim..., I did not Violently disagree. Trust me, You'd know when I get violent.
But anyways. My opinion is that OOP makes even simple programming tasks way harder to code in the first place , and then to change and deal with bugs later on.
Just read this article I have posted a link too about a man that used to program in OOP and switched to Procedural langauges because as he puts it, He was spending more time trying to write code perfectly in OOP than actually getting any coding done at all...
http://purplepwny.com/blog/object-oriented_programming_sucks.html
All one has to do is Google "OOP sucks" to see tons of people that either Hate OOP or tried it, and found it confusing and complicated. I always thought the idea was to make languages easier to code in as time marched on, not harder?
OOP languages make the simplest of tasks harder. Just try making your own print functions in AppGameKit,I have an example of a character drawing function to a MemBlock.
ASCiiImage=loadimage("ascii.png")
ASCMem=creatememblockfromimage(ASCiiImage)
function StrMemChar(ChrNum,chx,chy)
// Function to print a character to a Memblock
// using the ASCii.png file included with AGK
//
// ImgBlk is location of Memblock to be used as sprite canvas
// then sprite holds the shapes drawn to the image without
// the need to redraw every cycle
// ImgBW is the width of the memblock screen in bytes
// Do the math in steps because i read AGK is faster if
// you break the math down into sections and keep it simple
chry=chrnum/16
chrx=mod(chrnum,16)
ctest=chrx
chry=(chry*15)
chry=(1024*chry)
chrcal=((chrx*16)*4)+chry
chradd=chrcal
// Add it all together to find the startin pixel location
Bxstart=12+(chx*4)+(chy*ImgBW)
// Now lets and draw a 16 x 15 character,
// I tried 16x16 , didnt work right
For cy=0 to 14
bxx=0
for Cx=0 to 15
Chrfrom=GetMemBlockInt(ASCMem,12+(ChrAdd+bxx))
SetMemBlockInt(ImgBlk,bxstart+bxx,ChrFrom)
bxx=bxx+4
next Cx
ChrAdd=ChrAdd+1024
Bxstart=bxstart+ImgBW
next Cy
endfunction
Even without the rest of my code this belongs to you can pretty much understand what is going on.
Now I'm not even going to go into what it would take to pull this off in an OOP based languages. The number of classes, Methods and data I would have to have predefined to make it all come together.
I'm sure you, Jim could convert it to his favorite Pascal and show everyone how much more complex it would become.
Look, if creating way more code to achieve the same functionality as a Procedure based language takes to do the something so simple , is your cup-o-tea , then have at it.
Myself, I like to code in as simple a way as possible. and if you want a Demonstration of how powerful and easy a Procedural language is, then fire up AppGameKit Basic tier 1, or Check out DarkBasic Pro and the games made with it, or Blitzbasic, which has an amazing amount of games written in it, Or Purebasic and it's blazing fast speed and the fact its own IDE is written in Purebasic its self.
I have no problem with anyone using OOP, go for it, just leave me my Basic. There is a reason Basic has lasted 50+ years, because its Fun to program in , So easy to follow the code , Gets the job done , and Todays Basics are compiled , so they are very fast.
And sure, you can take a few ideas from OOP languages and insert them into AppGameKit, but leave the Soul of Basic as is,
It has being doing fine without much OOP influence and I dont see AppGameKit needed much more in the Object Oriented Department.
And most Basics, and I keep going back to Purebasic, have enough OOP for me to last a life time. As I stated put in a little, but dont change it completely to C# , AS3, Pascal or any other OOP language. we have enough of those. want one? go find one, I hear AS3 is making a comeback!
And if TGC made an offshoot of AppGameKit with OOP, I would not care one bit, long as the Basic version Tier 1 was there too.
Nuff said, have fun coding and dont forget to save before closing, kidding.
It's Bird! , It's Plane!, No its a rocket powered Squirrel holding some acorns and a smile!