プレゼンテーションをお読下さい。

ページ名:プレゼンテーションをお読下さい。

プレゼンテーション(仕様)

  • Introduction
  • The Gambas Language
  • An Extensible Language
  • A Scripting Language
  • Database, GUI & Desktop Independence
  • Database Independence
  • GUI Independence
  • Desktop Independence
  • The Development Environment
  • Download Gambas and Other Links

Introduction

主人が説教壇にやって来た、
そして彼が彼を開いていたように
彼の毎日のharangueのための口、
ナイチンゲールが歌い始めた。
鳥が彼の歌を終えたとき、
マスターは言いました:

「私があなたに言わなければならなかったのはこれだけです」。

それから彼は休暇を取った。


Gambas はフル機能のオブジェクトで、組み込みBASICインタプリタです。
GNU General Public Licenseの下でリリースされ、そのアーキテクチャは主にJavaに触発されました。だから Gambas は 以下 で構成されています:
    ①コンパイル
    ②インタープラタ
    ③アーカイブ
    ④スクリプト
    ⑤開発環境
    ⑥拡張コンポーネント

コンパイラはCで書かれた高速で小さな実行可能ファイルです。
それは私自身のCore2 Duo @ 2.33GHzで1秒間に約500000の非ボイドラインを編集します。このスピードにより、迅速なコード/コンパイル/テストのインクリメンタル開発プロセスが可能になります。
実行時にこのタスクを実行するのはインタプリタに頼っているため、ほとんど最適化されていませんが、GNU gettext tool と連携します。
コンパイル時のインタプリタはCで書かれた小さな実行可能ファイルで、64ビットシステムでは約320 Kbです。
インタプリタは、64ビットシステム上で約508 KbのCで書かれた小さな実行ファイルです。
POSIX glibc機能を使用すると、POSIX glibc機能にアクセスできます。
Class を Ondemand で Load し、最初に実行されるときにバイトコードに最適化します。
Class 間のリンクはすべて実行時に行われます。これはできるだけ後で行われるため、大きな実行可能ファイルでもすぐに起動します。
最後にアーカイブは Gambas プロジェクトディレクトリから Gambas 実行ファイルを作成するプログラムとして起動します。
Gambas 実行可能ファイルは、プロジェクトの単なる非圧縮アーカイブです。コンパイルされたバイトコードだけでなく、あらゆる種類のファイルを含めることができ、ファイルシステムのようにインタプリタによって内部的にアクセスされます。


The Gambas Language

Gambas BASIC 言語仕様を下記に示します。
・算術演算、文字列、入出力、キュー、時間...
・完全なエラー管理
・擬似端末管理による完全なプロセス制御
・入出力ファイル記述子を監視するためのフルサポート。
・タイマーによるイベントループのサポート
・ネイティブUTF-8文字列のサポート
・完全な国際化と翻訳のサポート
・システム共有ライブラリ内の外部関数を呼び出す機能

Gambasも真のオブジェクト指向言語ですよ。
・Objects and classes
・プロパティ、メソッド、定数、およびイベント
・Public and private symbols.
・多態性、つまり仮想メソッドのディスパッチ。
・Single inheritance.
・コンストラクタとデストラクタ
・配列アクセサ、列挙子、ソート可能オブジェクト

Gambas は本質的に動的であり、基本なんでもできるはずですきっと、
・既存のクラスのより特殊なバージョンを作成してください。
・クラスを再実装してそれを拡張します。
・クラスのいくつかのメソッドやプロパティをオーバーライドします。
C/C++で書かれたネイティブのものであっても、どのクラスでも継承し再実装、上書きすることができます。
最後に、Observerというネイティブクラスを使用すると、任意のオブジェクトによって発生した任意のイベントをインターセプトできます。


An Extensible Language

Gambas コアインタプリタは端末専用プログラムです。他のすべての機能は、C/C++で書かれた、またはGambas で直接書かれたクラスのグループであるコンポーネントによって提供されます。

これらのコンポーネントは、とりわけ以下のものを提供します。
・QT4ツールキットまたはGTK +ツールキットに基づくグラフィカルユーザーインターフェースプログラミング。
・MySQL、PostgreSQL、SQLite、ODBCなど、多くのデータベースシステムへのアクセス。
・高度なプロトコル管理を備えたネットワークプログラミング:HTTP、FTP、SMTP、DNS。
・Dバスによる自動化アプリケーション
・SDLプログラミング
・OpenGLプログラミング
・XMLプログラミング
・セッション管理によるCGIプログラミング

すべての Gambas は(現在の時点で)たった 405 Classと 5065 Simbol でカバーされています。
他の言語と比べ学ぶべき概念はごくわずかです。さらに、これらの Simbol の名前をできるだけ一貫性のあるものにするようにしています。
これらすべて統一されたデザインが Gambas を習得しやすくしています。
C/C++で書かれたコンポーネントは共有ライブラリに格納され、Gambas で書かれたものは他のプロジェクトと同じように単なる Gambas プロジェクトです。
それらは、プログラムの起動時、またはプログラムの実行中に必要になったときにインタプリタによってロードされます。

C/C++ Linuxカーネルでコンポーネントを開発する
ソースコードはGambasのソースツリーの中にあります。
コンポーネントとインタプリタは、Application Programming Interface を介して通信します。
中間で発生した環境の中で抹消され、彼らは以後何も実行されず抹消されます。
コンポーネントの記述に関する文書はまだ完成していませんが、以下が必要です。


・A Scripting Language

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())

 

*Database, GUI & Desktop Independence

 Gambas コンポーネントは単なるバインディングではありません。 それらは一貫性と単純さを元に構築されています。

データベースの独立性

 Gambas では、基盤となるデータベースシステムから独立しているプログラムを書くことができます。

たとえば、IDEに統合されたデータベースマネージャは、MySQL、PostgreSQL、SQLite、またはODBCデータベースを管理するために同じコードを使用します。

The IDE Database Manager

GUI Independence

GUI環境に依存しない

The Printing example using Qt4

The Printing example using GTK+

 

Desktop Independence

 さらに、Desktopにも依存しない環境を提供しようとしました。
 デスクトップ環境(KDE、Gnome、またはXFCE)。
 Portland プロジェクトのシェルスクリプトに基づく gb.desktop コンポーネント。
 これが KDE と Gnome アイコンテーマを使った IDE GAMBAS です。

GUIに依存しない

KDEアイコンテーマを使用した開発環境

Gnomeアイコンテーマを使った開発環境

The Development Environment

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

The source code editor

 

 

The debugger

 

 

Gambas開発環境は以下の機能を提供します。

  • Gambas コード、HTMLおよびCSSファイルの構文強調表示。
  • 自動補完
  • GUIフォームエディタ
  • 統合デバッガ
  • アイコンエディタ
  • 文字列トランスレータ

 

The icon editor

The translation dialog

  • Subversionのサポート
  • データベースマネージャ
  • ウィキのドキュメントから直接来るオンラインのドキュメント。
  • 多くのプログラム例

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

 

 

The IDE Packager

ウィキのGambas ページでGambas によって作られたパッケージ。
 可能な限り多くのロビー配布を試みて、それらが Gambas を正しくパッケージ化するようにします。
これは簡単ではありませんけどね。その重要なタスクを実行できなかったディストリビューションにバグレポートを提出することで助けることができます。

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

Download Gambas and Other Links

Gambasをダウンロードするには http://gambas.sourceforge.net ここのメニューからどうぞ。

ガンバスの詳細については、以下のリンクがあります。

問題やバグをメーリングリストやバグトラッカーに報告することができます。bugtracker.

Lets Try the Gambas :-)

 


トップメニュー

Gambas Install

Gambas

なぜGambasなの

 

 

 

 


 

シェアボタン: このページをSNSに投稿するのに便利です。

コメント

返信元返信をやめる

※ 悪質なユーザーの書き込みは制限します。

最新を表示する

NG表示方式

NGID一覧