Through the backdoor …

Sigh. And I just realised that Xojo - after removing API 1 autocomplete - is introducing those stupid namespaces through the backdoor known as API 2…

Beep? No. It’s now System.Beep

ShowURL? No, it’s now System.GotoURL

Am I really supposed to remember in the future for each command which namespace it belongs to? Especially as some make no sense? E.g. why is GotoURL in System and not something like Web or Internet?

What’s the point of making the language more wordy and computer-friendly but less user-friendly?


1 Like

A namespace should only be required if the command is not unique.

1 Like

I think they wanted to cleanup the global namespace.

Have you seen any other Beeps lately? Because beep does not autocomplete unless you have System. in front.

Same with GotoURL …

Noticed it from this thread

Why? Ditching the Pro market and instead going after new users with no experience by making the language more computer-like and less user-friendly? That’s just madness.

If I had to think of ways of ruining a programming language then I could not have come up with the hare-brained moves that Xojo made.


Im agreeing with you.
When I say ‘should only be required’ , I dont mean you can omit it right now.
Im saying if there is only one Beep, there is no point forcing the namespace

1 Like

If I remember correctly then G.Perlman said once that Web 1.0 is not possible to provide with the new Xojo Release for not deprecating it while there is no interest in providing namespaces and that this would be to complex therefore they deprecated Web 1.0. If I further remember correctly it was an argument which is not working at all. I said then. Okay, I found now out why I am banned: while I am not a sheep in Orwells Animal Farm. More a Horse like Boxer.

1 Like

Wasn’t he sent to the Knacker Ya… :scream:!


Yes. Like being banned for 1000 years. It’ s somehow the same. With the difference that they can not get rid of the people they have banned.

it is easy to make your own global module with the commands YOU remember that maps to the xojo kernel commands.

Like … uhhh … Beep ! :stuck_out_tongue:

Basically what they’ve done is taken

Global Sub Beep()

in what used to be the REALbasic module and turned it into

Protected Sub Beep()

in the System module so you get a deprecation warning about the global one AND you MUST use the fully qualified name of the system module to use the new one

Unless you NEVER use anything from the new System module it will always be included in your apps so there may be no advantage to this - just more typing

I’m sure we’ll see lots of people reimplement a “Globals” module that has all these as global methods and just calling into whatever one is appropriate


One should make a new global module, open source it, so everyone just copies it, and we’re done.


Except that then you get the error “There are 2 beeps and I don’t know which one to use” because API 1 is still there.

1 Like

Btw I thought doing

Using Xojo.System


Using System

might allow one to just write


instead of


but it still doesn’t autocomplete.

yeah autocomplete & using clauses … well …


AC uses the wrong algorithm so making using clauses work “right” or even close to right sucked and I never did get it right since I never did rewrite it

shoulda coulda woulda :man_shrugging:

literally chuckled at that one