Gambas

Da Freeware Wiki.

(Copyright © 1989, 1991 Free Software Foundation, Inc. – gambas.sourceforge.net)

Gambas is a full-featured object language and development environment built on a BASIC interpreter.

The Gambas Language

The main characteristics of the Gambas BASIC language are:

  • About 250 keywords and native functions to manage almost everything: arithmetic, strings, input-outputs, files, time...
  • Full error management.
  • Full process control, with pseudo-terminal management.
  • Full support for watching input-output file descriptors.
  • Event loop support with timers.
  • Native UTF-8 string support.
  • Full internationalization and translation support.
  • Ability to call external functions in system shared libraries.

But Gambas is a true object-oriented language as well. With:

  • Objects and classes.
  • Properties, methods, constants and events.
  • Public and private symbols.
  • Polymorphism, i.e. virtual method dispatching.
  • Single inheritance.
  • Constructors and destructors.
  • Array accessors, enumerators, sortable objects.

The Gambas inheritance mechanism is entirely dynamic, and allows you to:

  • Create a more specialized version of an already existing class.
  • Reimplement a class and extend it.
  • Override some methods or properties of a class.
  • Any classes can be inherited, reimplemented or overridden, even the native ones written in C/C++.
  • Finally, a native class named Observer allows you to intercept any event raised by any object.

An Extensible Language

The core Gambas interpreter is a terminal-only program. All other features are provided by components, which are groups of classes written in C/C++, or written directly in Gambas.

These components provide, among other things:

  • Graphical user interface programming, based on the QT4 toolkit, or the GTK+ toolkit.
  • Access to many database systems: MySQL, PostgreSQL, SQLite, and ODBC.
  • Network programming, with advanced protocol management: HTTP, FTP, SMTP, DNS.
  • Application automation with D-Bus.
  • SDL programming.
  • OpenGL programming.
  • XML programming.
  • CGI programming with session management.

Components written in C/C++ are stored in shared libraries, and components written in Gambas are just Gambas projects like any other project.

They are loaded by the interpreter at program start-up, or when needed during program execution.

Developing a component in C/C++ is a bit like developing a device driver for the Linux kernel:

  • The source code of the component is located inside the Gambas source tree.
  • The components and the interpreter communicate through an Application Programming Interface.
  • They are executed in the interpreter environment, and so cannot do whatever they want.

The documentation about writing components is not yet finished, but all the required help will be provided on the developer mailing-list.

Download: gambas.sourceforge.net


Programmazione
Apache  •  BicomboBox Custom Control  •  C++Builder  •  Calendar Dropdown Custom Control  •  DLL Export Viewer  •  FreeBASIC  •  Gambas  •  HxD Hexeditor  •  Java  •  Make My Manifest  •  Map Custom Control  •  Mapsys Custom Control  •  MySQL  •  MySQL Control Center  •  Perl  •  PHP  •  phpMyAdmin  •  Plymouth  •  ProgressLine Custom Control  •  RegDllView  •  Resource Hacker  •  ResourcesExtract  •  Turbo Assembler  •  Turbo C++  •  Turbo Pascal  •  VbAdvance  •  Visual Basic for MS-DOS  •  Visual Basic 2010 Express  •  Visual Studio Community

Pagina principale