LoginLogin
Nintendo shutting down 3DS + Wii U online services, see our post

New realization re: documentation frustration

Root / General / [.]

SquareFingersCreated:
Calm down man. It's just an educational game made by a small company, not an IDE made by Microsoft.

educational game
wow

educational game
wow
I kinda is, you know. It was made with the intent of teaching kids how to program.

Except it was made with the intent of being a BASIC computer throwback/revival app. The intent of teaching people how to program is just a bonus. Nowhere in the official advertising does it say "learn programming!" Even in the official announcement video, Hakase gets nostalgic about the old BASIC way of programming and that he wants to bring it back. TL;DR not an educational app

Lo, another one for the hall of shame! PROJECT() returns a string naming the active project, nowhere is it listed in the (English) documentation. They list PROJECT OUT PJ$ though. If we ever wish to report this nonsense, just send them here. The documentation team, nay, the project managers should've never let it gotten this far.

Lo, another one for the hall of shame! PROJECT() returns a string naming the active project, nowhere is it listed in the (English) documentation. They list PROJECT OUT PJ$ though. If we ever wish to report this nonsense, just send them here. The documentation team, nay, the project managers should've never let it gotten this far.
That one makes sense to me. Although its another undocumented feature that makes it alright. You can call most functions that return a single value as F() or F OUT R

That one makes sense. Although its another undocumented feature causing it. You can call most functions that return a single value as F() or F OUT R
I just tried STR$ 5 OUT S$, and it definitely works. Why? This is such a bizarre feature, you'd think they'd at least document it. I always realize the irony of my words when it's too late. ANOTHER EDIT: Yknow, this also demonstrates the wanton disregard for consistent syntax. Notice how not a single command has a $, even if it involves strings. It's only the functions that return strings. But here, you're making the functions into commands, but the $ is a part of their name. Why specify the $ on only strings as well? Why not a % or a #? If we didn't have suffixed instruction names in the first place, this wouldn't be an issue. Especially since functions don't have any typing.

I just tried STR$ 5 OUT S$, and it definitely works.
NICE one! Not even the Japanese wiki has that one! EDIT: This works for user-defined functions too. You can define a function, and call it as a procedure with one OUT variable, and you can define a procedure with one OUT parameter and call it as a function.

I actually assumed all along that F() was short for F OUT, it just made sense in my head. One question that arises is: what happens when you use a function with MULTIPLE return values with the F() format? Edit: for example: VAR X = SPOFS(1) (after sprite 1 has been set and moved)

TL;DR not an educational app

TL;DR not an educational app
What's the source of this image?

Looks like the eShop website, which I wouldn't trust with this kind of thing tbh.

That's marketing. Programming is being pushed as "cool for kids," remember? So they're going to take that angle when they need to. Slacker's point is that the original idea was meant to be the opposite of a kid-friendly language, which is completely true. Then they realized that's a dumb thing to do when they can get rid of some of the worst features of classic BASIC. Is anyone that nostalgic for typing programs in by hand from magazines and hoping there aren't any printing errors? Introductory languages really push themselves as being so, while this is like "easy to use!" which I assume translates to "not machine code!"

That's marketing. Programming is being pushed as "cool for kids," remember? So they're going to take that angle when they need to. Slacker's point is that the original idea was meant to be the opposite of a kid-friendly language, which is completely true. Then they realized that's a dumb thing to do when they can get rid of some of the worst features of classic BASIC. Is anyone that nostalgic for typing programs in by hand from magazines and hoping there aren't any printing errors? Introductory languages really push themselves as being so, while this is like "easy to use!" which I assume translates to "not machine code!"
You're exactly right. now can we stop derailing this thread that'd be great

I actually assumed all along that F() was short for F OUT, it just made sense in my head. One question that arises is: what happens when you use a function with MULTIPLE return values with the F() format? Edit: for example: VAR X = SPOFS(1) (after sprite 1 has been set and moved)
It returned the Z value when I tested it. That probably means it returns the last given value.

I actually assumed all along that F() was short for F OUT, it just made sense in my head. One question that arises is: what happens when you use a function with MULTIPLE return values with the F() format? Edit: for example: VAR X = SPOFS(1) (after sprite 1 has been set and moved)
It returned the Z value when I tested it. That probably means it returns the last given value.
Hehehe, I smell code exploit... This actually makes some sense when you keep in mind that you can ignore OUT return values, so this would be the same as SPOFS 1 OUT ,,X.

This actually makes some sense when you keep in mind that you can ignore OUT return values, so this would be the same as SPOFS 1 OUT ,,X.
You can ignore outputs? I didn't know that. That's really nice to know.

Interesting. However, TOUCH OUT ,,X works, but X=TOUCH() doesn't. There's more to the story.

Interesting. However, TOUCH OUT ,,X works, but X=TOUCH() doesn't. There's more to the story.
I think it needs an input parameter to work. GPAGE() doesn't work either.

what happens with X=TOUCH()?