Gambas

from HTYP, the free directory anyone can edit if they can prove to me that they're not a spambot
Revision as of 23:34, 2 January 2006 by Woozle (talk | contribs) (revised intro, other minor edits)
Jump to navigation Jump to search

Gambas is a programming language and IDE.

This is a growing seedling article. You can help HTYP by watering it.

Gambas is intended to fill the same niche as VB, though it is not intended to be code-compatible. Gambas is currently only available for Linux; it is open-source, however, and porting to Windows or other OSs is a possibility.

Reference

Woozle Notes

I'm currently trying to learn Gambas, as it appears the easiest of the Linux IDEs I've been able to find so far. Here are the issues I've run into so far.

Stumbling Blocks

  • The form resize event doesn't pass the form's size as an event parameter. Answer: the size is easily available as a form property. So this issue was just over-VisualBasicization on my part.
  • When you make a set of controls into a group and then assign an event to the group, how do you get a pointer back to the control which initiated the event? The most obvious solution would have been for the event to pass the control as a parameter; Gambas events don't seem to use parameters. Another intuitive solution would have been for the group itself to appear on the form's list of controls/methods, as an alias for the currently active/effective control, but this doesn't seem to be the case. Finally, if the form had an ActiveControl property, I could pull the .Tag value from there, although I would expect to run into problems using this technique under some circumstances. Answer: The LAST keyword refers to the control which generated the current event.

Flaws

  • (Minor) Identifiers are not automatically capitalized to match their declaration, as in VB; fortunately, identifiers are not case-sensitive, so this doesn't make things ugly the way it does in C/C++.
  • (Semi-minor) The field-list doesn't pop up under certain circumstances; checking into this.
  • (significant) Help system is not context-sensitive; you have to type the term in manually and search for it. Similarly, there doesn't seem to be a way to go to an identifier's definition.

Notes

  • The Help system appears to be wiki-based, possibly feeding directly off the Gambas wiki -- so any errors found can be corrected by anyone, in theory. Not sure how easy this is in practice. (Edit buttons do not appear in the Help app, so you would have to find the correct page on the wiki.)