Sorry your browser is not supported!

You are using an outdated browser that does not support modern web technologies, in order to use this site please update to a new browser.

Browsers supported include Chrome, FireFox, Safari, Opera, Internet Explorer 10+ or Microsoft Edge.

AppGameKit Classic Chat / Will FE have a debugger?

Author
Message
roujesky
20
Years of Service
User Offline
Joined: 4th Jun 2004
Location:
Posted: 5th Sep 2012 06:20
Since AppGameKit Tier 1 does not, I am doubtful...
erebusman
13
Years of Service
User Offline
Joined: 23rd Jul 2011
Location: Sacramento, CA
Posted: 5th Sep 2012 07:53
Call me negative and a skeptic but I can't see it being possible.

AGK Tier 1 is based upon Codeblocks ( which is not a bad IDE and they don't have it there.

FE sounds like a ground up HTML5 web based solution? I would be utterly shocked if it has a debugger!
Hodgey
15
Years of Service
User Offline
Joined: 10th Oct 2009
Location: Australia
Posted: 5th Sep 2012 11:28
I don't see why not. It might not have one from day one but since a debugger has been promised for T1 I'd say chances are there.

Online technology is pretty good nowadays and since there are validators and online compilers I'd say online debugger won't be too far away.

MarcoBruti
13
Years of Service
User Offline
Joined: 20th Nov 2011
Location: Caput Mundi
Posted: 5th Sep 2012 12:36
I think you never see a decent debugger for AGK. BTW, does a decent debugger exist for DBPro? There is a debugger, but it is, to be very polite, is rubbish
The Daddy
15
Years of Service
User Offline
Joined: 13th Jan 2009
Location: Essex
Posted: 5th Sep 2012 13:20
I can see no reason why FE would not have a debugger. After all, FE is just an app that sits on a server waiting to be served to the users, each of whom get an instance of the app to use. As it is an app it can have a debugger, in fact, as TGC want to expand their market considerably, it will be a requirement if they wish to compete with Global competitors!

Henceforth should FE have one then AppGameKit or FE Native will have one. They will, after all, merge into one project albeit delivered differently ie cloud or earth based, orbital or static, online or offline....this most amusing list goes on....

What I have not read about yet is if FE allows both Tier 1 and Tier 2? If only T1 then the language has to have a whole bunch of semantic features added to compete globally in my opinion. It would as a minimum require pointers / function pointers, linked lists and object orientation even if in a simplistic form before it adds visually fancy features. These are not such an issue if T2 is allowed in FE as C++, Objective C and Object Pascal caters for this already.

If only T1 is catered for and these features are not added, I think it will struggle to be taken seriously with indies that have any experience in coding. Thus means that there probably will be a bunch of kids throwing out poor games saturating the market with rubbish. This is ok to a point, but if every time you wanted to get a new game from any app centre and you had to look through thousands or rubbish apps or you even downloaded thousands of rubbish apps before finding a good app...how long would it be before you stopped looking?

Not too long in my case.

If TGC were to also add cross platform widgets and Postgres or MySQL commands, they would have. Monster of a product as this would entice non game app programmers as well...

Constantly seeking!
Hodgey
15
Years of Service
User Offline
Joined: 10th Oct 2009
Location: Australia
Posted: 5th Sep 2012 13:33
Quote: "It would as a minimum require pointers / function pointers, linked lists and object orientation even if in a simplistic form before it adds visually fancy features. "

I'd love all of those features in AppGameKit T1 but if we're going to have pointers, I think AppGameKit should handle the memory allocation, freeing and reallocation. Whilst pointers are very handy, they're hard to grasp for newcomers and makes AppGameKit harder to learn. So if there are plans for pointers, make it so that they aren't necessary.

JimHawkins
15
Years of Service
User Offline
Joined: 26th Jul 2009
Location: Hull - UK
Posted: 5th Sep 2012 15:15
With proper OOP there is almost never a need for explicit pointers, since the object reference is itself a typed pointer. Explicit pointers would probably cause Apple to reject iOS apps, because the sandbox does not allow access to arbitrary memory locations.

Rather than trying to dump all the C++/Object Pascal classes and utils into T1, I think it would be better to build a Lua interpreter in. Lots of grown-up games use Lua. It's light-weight, fast and powerful, and gives the possibility of scripted levels etc. This would make T1 a hundred times more powerful, and give T2 programmers the option to use a combination of script and native compilation. Job done!

-- Jim DO IT FASTER, EASIER AND BETTER WITH AppGameKit FOR PASCAL
Dar13
16
Years of Service
User Offline
Joined: 12th May 2008
Location: Microsoft VisualStudio 2010 Professional
Posted: 5th Sep 2012 15:31
Quote: "With proper OOP there is almost never a need for explicit pointers, since the object reference is itself a typed pointer. Explicit pointers would probably cause Apple to reject iOS apps, because the sandbox does not allow access to arbitrary memory locations."

I doubt they would reject an app based on pointer usage. Even when using OOP principles, you still end up with explicit pointers (temporary pointers that don't need to be deleted yet you don't want to use shared_ptr).

MarcoBruti
13
Years of Service
User Offline
Joined: 20th Nov 2011
Location: Caput Mundi
Posted: 5th Sep 2012 16:01
Java, based on VM as AppGameKit, and running in a sandobox, does not have pointer and does not need to have. Pointers exist, of course, but they are implicit. Have Javascript and HTML5 (FE shall be based on those technologies) pointers?
Explicit pinters are source of headaches and make the code unreadable. I wonder why in 2012 there are people asking for pointers, maybe people programming in C++. Linked lists, trees and whatever else can be made without. AGK/FE must improve language features, no pointers required.
Remind that if you code a wrong malloc, coredump is at the corner? May we allow coredump on a mobile device?
Dar13
16
Years of Service
User Offline
Joined: 12th May 2008
Location: Microsoft VisualStudio 2010 Professional
Posted: 5th Sep 2012 17:12
Dynamic memory is different beast than just pointers.

Quote: "Explicit pinters are source of headaches and make the code unreadable. I wonder why in 2012 there are people asking for pointers, maybe people programming in C++. Linked lists, trees and whatever else can be made without. AGK/FE must improve language features, no pointers required.
Remind that if you code a wrong malloc, coredump is at the corner? May we allow coredump on a mobile device?"

If explicit pointers(ie int* ptr) is making your code unreadable, it sounds like you need to name them better. Source of headaches I could agree with, but the usefulness outweighs the headaches for the most part. And actually, Javascript does have pointers( or references which are basically pointers).

JimHawkins
15
Years of Service
User Offline
Joined: 26th Jul 2009
Location: Hull - UK
Posted: 5th Sep 2012 20:30
Okay Dar13 - tell us why you want pointers; what you want to do with pointers that you can't do without?

-- Jim DO IT FASTER, EASIER AND BETTER WITH AppGameKit FOR PASCAL
bjadams
AGK Backer
16
Years of Service
User Offline
Joined: 29th Mar 2008
Location:
Posted: 5th Sep 2012 23:09
Read the FE specs... it says "Basic Like language"

which means it will be T1 only.
Hodgey
15
Years of Service
User Offline
Joined: 10th Oct 2009
Location: Australia
Posted: 6th Sep 2012 00:05
Quote: "tell us why you want pointers; what you want to do with pointers that you can't do without?"

Passing by reference is extremely helpful and although one can get on without it, in my opinion it's not ideal. There are many other uses, I navigate trees using pointers.

Quote: "Java, based on VM as AppGameKit, and running in a sandobox, does not have pointer and does not need to have. Pointers exist, of course, but they are implicit. "

This can get annoying though, especially when you pass objects into functions. If you don't want it done by reference then you've got to create another object use cloning. In C++, it's just a matter of using a * and/or &.

Quote: "Read the FE specs... it says "Basic Like language"

which means it will be T1 only."

Which is why we're discussing what features we'd like added to T1.

Dar13
16
Years of Service
User Offline
Joined: 12th May 2008
Location: Microsoft VisualStudio 2010 Professional
Posted: 6th Sep 2012 00:41
Quote: "Okay Dar13 - tell us why you want pointers; what you want to do with pointers that you can't do without?"

Variable array dimensioning(nonconstant).
Data pointers(
).
Able to pass in vertexdata to a navigation mesh utility like RecastNavigation/Detour without a wrapper plugin.
Reduction of pass-by-value(which is what AppGameKit does, not pass-by-reference if it's similar to DBP) usage.
Pointer arithmetic, while bug-prone, is extremely fast.

If nothing else, at least make it an option for those who want to use it. Denote it as an advanced feature, and don't use it in the official examples/demos.

MarcoBruti
13
Years of Service
User Offline
Joined: 20th Nov 2011
Location: Caput Mundi
Posted: 6th Sep 2012 15:37
there is beautiful discussion about Java references and pointers in this link:
http://javadude.com/articles/passbyvalue.htm
This shows how, in Java, references are somewhat equivalent to C pointers. From the article:
Quote: "To sum up: Java has pointers, and the value of the pointer is passed in. There's no way to actually pass an object itself as a parameter. You can only pass a pointer to an object
"

Really what is called "reference" in Java, it is essentially a pointer. Javascript works the same:
http://snook.ca/archives/javascript/javascript_pass
Having said that, I wish that AppGameKit and FE Basic would have at least the pointer/references capabilities as Java or Javascript. Being FE based on Javascript (for HTML5), I suppose that this can be possible.
Of course OOP support must be added to the language, and this is another must.
For "explict pointers", e.g. the good old

sorry, but I think that there will no story. You can continue programming in C++ and Tier-2, of course...
Dar13
16
Years of Service
User Offline
Joined: 12th May 2008
Location: Microsoft VisualStudio 2010 Professional
Posted: 6th Sep 2012 19:06
Quote: "sorry, but I think that there will no story. You can continue programming in C++ and Tier-2, of course..."

What makes references any better than pointers? They're essentially the same, except that references can be confusing to beginners because they're used like regular variables instead of the special syntax that pointers have.

MarcoBruti
13
Years of Service
User Offline
Joined: 20th Nov 2011
Location: Caput Mundi
Posted: 6th Sep 2012 19:32
References are not better than pointers, they are of course less powerful.
For example, with references you cannot do pointer arithmetic. And this is a must for a VM that runs the processes in to a sandbox.
In Javascript I read that you have to do some tricks to pass methods of an object that are aware of the object contents.
So pointer are powerful, but less readable.
Anyway DBPro has memblock and PTR constructs, and you can do some pointer arithmetic.
The trade off could be:
- add some OOP
- add Java/Javascript method to pass objects as reference (really it is a pass-by-value method to pass the value of the pointer to the object)
- add the possibility to de-reference the objects by extracting the pointer value and use it explicitly:

Too much heaven?
JimHawkins
15
Years of Service
User Offline
Joined: 26th Jul 2009
Location: Hull - UK
Posted: 6th Sep 2012 20:19
Quote: "For example, with references you cannot do pointer arithmetic. And this is a must for a VM that runs the processes in to a sandbox."


I fail totally to understand that!

The only time I've felt any need for explicit pointers over the last 20 years is to access the scanlines on a PC display.

Your example makes the dangerous assumption that the pointer to an object points to the base of it. Some OOP implementations have type info information at addresses just below the explicit pointer.

At some point AppGameKit may become 64-bit. Have fun!

-- Jim DO IT FASTER, EASIER AND BETTER WITH AppGameKit FOR PASCAL
kamac
13
Years of Service
User Offline
Joined: 30th Nov 2010
Location: Poland
Posted: 6th Sep 2012 22:09
Speculating about it is weird. The best would be to simply get an answer from one of it's developers

Follow me on twitter! @MotionStruct
Motion Struct blog
MarcoBruti
13
Years of Service
User Offline
Joined: 20th Nov 2011
Location: Caput Mundi
Posted: 7th Sep 2012 10:45
sorry, I explained myself badly. The sentence is badly stated.
I'll rectify it:
Quote: "
For example, with references you cannot do pointer arithmetic. It is is a must for a VM that runs the processes in to a sandbox, NOT TO DO SUCH manipulations"
"

Java does not allow you to access pointer and do any manipulation on them. And this is right.
But DBPro has some constructs similar to standard pointers (memblock), you can do some pointer arithmetic with, although I suppose that access is much more controlled.
Let's wait for TGC developer answer...

Login to post a reply

Server time is: 2024-11-23 20:52:47
Your offset time is: 2024-11-23 20:52:47