Welcome Guest 
検索
メインメニュー
オンライン状況
4 人のユーザが現在オンラインです。 (4 人のユーザが xpwiki を参照しています。)

登録ユーザ: 0
ゲスト: 4

もっと...
ログイン
ユーザー名:

パスワード:


パスワード紛失

What Is Gambas? anchor.png

マスターは説教壇に来て、そして、彼が彼の毎日の願望のための口、ナイチンゲールが歌い始めた。
鳥がその歌を終えると、マスターは言った: "それは私があなたに伝えなければならなかったすべてです。"
それから彼は彼の休暇を取った。

Gambas は、基本的なインタープリタ上に構築されたフル機能のオブジェクト言語および開発環境です。
GNU General Public License 下で公開されています。
このアーキテクチャーは、Java に大きく影響されました。
Gambas は次のように構成されています。

  • コンパイラ。
  • 通訳者。
  • アーカイバ。
  • スクリプタ
  • 開発環境
  • 多くの拡張コンポーネント。
  • コンパイラは、C:
  • 私自身の Core2 Duo@ 2.33GHz で約500000個の非空白行を1秒でコンパイルします。この速度により、迅速なコード/コンパイル/テストインクリメンタル開発プロセスが可能になります。
  • 実行時にこのタスクを実行するためにインタープリタに依存している現時点では、最適化はほとんどありません。
  • GNU gettext ツールを使用して文字列翻訳を管理およびコンパイルします。
  • インタプリタは、C で書かれた少し実行可能で、64 bit システムでは約 508 KBです。
  • ほとんどすべての POSIX glibc 機能に間接的にアクセスすることにより、言語のネイティブ機能をすべて提供します。
  • オンデマンドでクラスをロードし、バイトコードを初めて実行するときに最適化します。
  • クラス間のリンクは、実行時に完全に行われます。これは可能な限り遅く行われます。したがって、大規模な実行可能ファイルであっても迅速に開始されます。
  • 最後に、アーカイバは、Gambas プロジェクトディレクトリから Gambas 実行ファイルを作成するプログラムです。
    注意) Gambas 実行ファイルは、プロジェクトの圧縮されていないアーカイブに過ぎないことに注意してください。コンパイルされたバイトコードだけでなく、あらゆるタイプのファイルを含めることができ、ファイルシステムのようにインタプリタによって内部的にアクセスされます。
Page Top

The Gambas Language anchor.png

Gambas BASIC言語の主な特徴は次のとおりです。

  • 算術、文字列、入出力、ファイル、時間など、ほぼすべてを管理する約250のキーワードとネイティブ関数...
  • 完全なエラー管理。
  • 擬似端末管理による完全なプロセス制御。
  • 入出力ファイル記述子の監視を完全にサポート
  • タイマーによるイベントループのサポート。
  • ネイティブのUTF-8文字列サポート。
  • 完全な国際化と翻訳のサポート
  • システム共有ライブラリの外部関数を呼び出す機能。

Gambas は真のオブジェクト指向言語でもあります。で、:

  • オブジェクトとクラス。
  • プロパティ、メソッド、定数、およびイベント。
  • 公開および非公開のシンボル。
  • 多態性、すなわち仮想メソッドディスパッチ。
  • 単一の継承。
  • コンストラクタとデストラクタ。
  • 配列アクセサ、列挙子、ソート可能なオブジェクト

Gambas の継承メカニズムは完全に動的で、次のことが可能です。

  • 既存のクラスのより特化したバージョンを作成します。
  • クラスを再実装して拡張します。
  • クラスのいくつかのメソッドまたはプロパティをオーバーライドします。

C / C ++で書かれたネイティブのクラスであっても、どんなクラスも継承、再実装、またはオーバーライドできます。
最後に、Observer という名前のネイティブクラスを使用すると、任意のオブジェクトによって発生したイベントをインターセプトできます。

Page Top

拡張可能な言語 anchor.png

Gambas の中核となるのは、端末専用のプログラムです。他のすべての機能は、C / C ++で書かれたクラスのグループであるコンポーネント、または Gambas で直接書かれたコンポーネントによって提供されます。
これらのコンポーネントは、とりわけ以下を提供します。

  • QT4 ツールキットまたは GTK + ツールキットに基づくグラフィカルユーザーインターフェイスプログラミング。
  • 多くのデータベースシステム(MySQL、PostgreSQL、SQLite、およびODBC)へのアクセス。
  • ネットワークプログラミング、高度なプロトコル管理:HTTP、FTP、SMTP、DNS
  • D-Bus によるアプリケーションの自動化
  • SDL プログラミング。
  • OpenGL プログラミング。
  • XML プログラミング。
  • セッション管理による CGI プログラミング
Gambas のすべての機能は、現在のところ 405 Class と 5065 Symbol のみでカバーされています。
他の言語と比較して習得するコンセプトはごくわずかです。
さらに、これらのシンボルの名前を可能な限り一貫して作ろうとしました。

これはGambasを比較的簡単に学習させるのに役立ちます。

C/C++ で書かれたコンポーネントは共有ライブラリに格納され、Gambas で書かれたコンポーネントは他のプロジェクトと同様に Gambas プロジェクトにすぎません。
プログラムの起動時に、またはプログラムの実行中に必要なときに、インタプリタによって読み込まれます。
C/C++ でコンポーネントを開発することは、Linux カーネル用のデバイスドライバを開発することと少し似ています。

  • コンポーネントのソースコードは Gambas ソースツリー内にあります。
  • コンポーネントとインタプリタは、アプリケーションプログラミングインタフェースを介して通信します。
  • 彼らは通訳環境で実行されるので、何でもできません。

コンポーネントの作成に関するドキュメントはまだ完成していませんが、必要なヘルプはすべて開発者メーリングリストで提供されます。

Page Top

スクリプト言語 anchor.png

Gambas はスクリプト言語として使用できます。この機能は、Gambas コードをテキストファイルにダンプすることができる小さな Gambas 実行ファイルであるスクリプタによって提供されます。
ここに小さなスクリプト例を示します。

#!/usr/bin/env gbs3

' This script returns the memory really used by the system, the cache and swap being excluded.

Function GetUsedMemory() As Integer

 Dim sRes As String
 Dim aRes As String[]
 Dim cVal As New Collection
 Dim sVal As String

 Exec ["cat", "/proc/meminfo"] To sRes

 For Each sVal In Split(sRes, "\n", "", True)
   aRes = Split(sVal, " ", "", True)
   cVal[Left$(aRes[0], -1)] = CInt(aRes[1])
 Next

 Return cVal!MemTotal - cVal!MemFree - cVal!Buffers - cVal!Cached + cVal!SwapTotal - cVal!SwapFree - cVal!SwapCached

End

Print Subst("Used memory: &1 Kb", GetUsedMemory())

Page Top

データベース、GUI、デスクトップ独立 anchor.png

Gambasコンポーネントは単なるバインディングではありません。 彼らは、基盤となるライブラリを抽象化しようとするので、一貫性とシンプルさが得られます。

Page Top

データベースの独立性 anchor.png

Gambas を使用すると、基盤となるデータベースシステムとは独立したプログラムを作成できます。
すべてのデータベースシステムに同じ API でアクセスします。
たとえば、IDE に統合されたデータベースマネージャは、MySQL、PostgreSQL、SQLite、または ODBC データベースを管理するために同じコードを使用します。
http://gambaswiki.org/wiki/doc/whatisgambas/ide-db-manager.png?v

Page Top

GUI の独立性 anchor.png

Gambas では、グラフィックツールキットから独立したプログラムを書くことができます。QT4コンポーネントとGTK +コンポーネントは同じインターフェースを持っています。
QT4 と GTK+ のツールキットを使った Gambas の例を示します。

Page Top

デスクトップの独立性 anchor.png

また、私たちはデスクトップの独立性も提供しようとしました。

  • 現在のデスクトップ環境(KDE、Gnome、XFCE)に応じたアイコンテーマの使用。
  • Portland プロジェクトのシェルスクリプトに基づく gb.desktop コンポーネント。
Page Top

開発環境 anchor.png

GambasGambas で書かれたフル機能のIDEを提供しています。
フォームを作成したり、コントロールを描画したり、コードを編集したりするだけで、フォームを作成したり、他の高速アプリケーション開発システムと同様に他の多くのことを行うことができます。

Page Top

Gambas 開発環境には、次の機能があります。 anchor.png

さらに、多くのディストリビューションのインストールパッケージを作ることができます。また、GNU autotools をベースにした tar.gz インストールパッケージも作成できます。
以下の GNU/Linux ディストリビューションがサポートされています。

最後に、開発環境が Gambas 言語に強く結びついていても、Gambas プログラムを作成するために使用する必要はありません。
すべての Gambas ツール(コンパイラ、インタプリタなど)は、コマンドラインから使用できます。

Page Top

Download Gambas and Other Links anchor.png

ここからダウンロードしてください。
Gambas の詳細については、いくつかのリンクがあります。
http://gambas.sourceforge.netの Download メニューを使ってください。
http://gambaswiki.org(ドキュメントについては、Wikiがあります)
Gambas Subversionリポジトリはここ
メーリングリスト、フォーラム、その他の役に立つリンクです
メーリングリストやbugtracker で問題やバグを報告することができます。メンバー登録をおねがいします。

以上、ガンバを楽しんでください。

By.Benoît Minisini


トップ   凍結 差分 バックアップ 複製 名前変更 リロード印刷に適した表示   ページ新規作成 全ページ一覧 単語検索 最新ページの一覧   ヘルプ   最新ページのRSS 1.0 最新ページのRSS 2.0 最新ページのRSS Atom Powered by xpWiki
Counter: 22, today: 1, yesterday: 0
初版日時: 2018-02-21 (水) 20:51:20
最終更新: 2018-02-21 (水) 21:33:55 (JST) (88d) by younanQB64-12345
XOOPS Cube PROJECT