1. WELCOME TO GAMBAS!
- Gambas は、BASIC インタプリタ と完全な開発プラットフォームに基づく無料のグラフィカル開発環境です。それは Visual Basic と Java に触発されました。
- http://gambas.sourceforge.net にアクセスし詳細情報を入手してください。
- コンパイルとインストール方法、バイナリパッケージの検索場所、バグの報告方法.などがあります。言語ドキュメントについてはhttp://gambaswiki.orgを参照してください。
- 次のコードが借用され改作されました。自然文字列比較アルゴリズムは、Martin Polによって作成されたアルゴリズムから適応された。詳細についてはhttp://sourcefrog.net/projects/natsort/を参照してください。
- ハッシュテーブルの実装はglibのものから改作されました。
- gb.gtkで解析されるHTMLエンティティはKHTMLソースから来ています。
- gb.net.smtpコンポーネントは2002年にKevin Read <obsidian@berlios.de>によって作成されたメンテナンスされていないライブラリのデバッグおよび改良版です。
- gb.image.effectソースはKDE 3の画像効果ルーチンを元にしています。
- ぼかし画像アルゴリズムは、http://www.quasimondo.com/StackBlurForCanvasからのStackBlur javascriptルーチンから適合させた。
- gb.clipperライブラリはClipperライブラリを埋め込みます。モードの詳細についてはhttp://www.angusj.com/delphi/clipper.phpを参照してください。
- 上記のリストで借用したコードを忘れた場合は、教えてください。
2. はじめに
このプロジェクトは、Basicインタプリタに基づいてグラフィカル開発環境を作ることを目的としているので、Linux™下ではVisual Basic™と同じくらい簡単な言語となります。
Visual Basicを楽ませてくれるる驚異的な数のバグと矛盾は、このプロジェクトの意義を見出すきっかけとなりました。
VB .NETが旧バージョンのVisual Basicと下位互換性がないということは、Microsoft側はこの品質が低いことを認識していたようです。
最初に言っておきますが Gambas は Visual Basic と互換性を保とうとはしていませんし、そうするつもりもありません。その構文と内部構造は独自のもので、Visual Basic より優れていると確信しています!
ただ Visual Basic から私が便利だと思ったものは取り出しました。例えば「Basic言語」、「開発環境」、「そしてユーザインタフェースでプログラムを素早く作ることの容易さ」などです。
他のほとんどの言語の構文も選択することができましたが、子供の頃から扱えるソフトとして BASIC でと考えていたのでこの仕様となりました。
この言語のバグや奇妙さにより、昔ながらの Visual Basic プログラマを嫌いに思える時があります。そこで Gambas をできるだけ首尾一貫した論理的で信頼できるものにしようと努力しました。
また、Gambas Programmer の見返りにいくらかの努力をすることを望んでいます。お願いいたします。
そして他の方々はこのプロジェクトに参加しその言語の可能性を高める手助けをしてください。なのでまだやるべきことは沢山あるのです。
3.特徴
Gambasの主な機能は他の言語から同様のものはいただきながら書いていますしそうしています。
結局のところ、オブジェクト拡張子を持つBASIC言語でGambasで書かれたプログラムは一連のファイル群となります。
各ファイルは、オブジェクトプログラミングの観点からクラスを記述します。
クラスファイルはコンパイルされ、その後インタプリタによって実行されます。
この観点から基本Java™から影響を大きく受けています。
Gambasは以下のプログラムで構成されています。
- 1. コンパイラ
- 2. インタープリタ
- 3. アーカイバ
- 4. グラフィカルユーザーインターフェースコンポーネント。
- 5. 開発環境
開発環境はGambas自体で書かれているので、言語の能力を示すことができます。そしてそれはデバッグにとても便利です。
4.Gambasを他の言語から呼び出す機能とは何ですか?
Gambasプロジェクトは1つのディレクトリに格納されています。アーカイバはプロジェクトのディレクトリ構造を1つの実行可能ファイルに変換します。
- 1. プロジェクトをコンパイルするには、変更されたクラスをコンパイルするだけです。クラスのすべての外部参照は実行時に動的に解決されます。
- 2. Gambasは言語を拡張を可能にするコンポーネントアーキテクチャを持っています。誰でも動的に新しいネイティブクラスをインタプリタに追加する共有ライブラリとしてコンポーネントを書くことができます。コンポーネントはGambasでも書くことができます。コンポーネントのアーキテクチャはWiki百科事典に文書化されています。
- 3.デフォルトでは、Gambasインタプリタはテキストのみのプログラムです。コンポーネントアーキテクチャは、言語のグラフィカルユーザインタフェース部分を書くために使用されます。
- 4. グラフィカルユーザーインターフェースはコンポーネントとして実装されているので、Gambasはどのツールキットからも独立することができます。あなたはプログラムを書くことができて、後でツールキットを選ぶことができるでしょう:GTK +、Qt4、等。
- 5. 私はQtツールキットを使ってグラフィカルユーザーインターフェースを実装することにしました。GTK +コンポーネントはまだ完成していませんが、Qt4コンポーネントとほぼ同じインターフェースになります。
- 6. Gambasプロジェクトは、どの言語でも簡単に翻訳できます。
- 7. そのオブジェクトモデルはシンプルですが強力です。
Gambasの名称は"Gambas Almost Mean BASic"の略で、Visual Basic のような開発環境であることを意味します。
詳細は、当ページとプレゼンテーション(仕様)を読んでください。
5. 今後
非常に遠い将来(あなたはスタートレックのテーマを聞きますか?)、多くの改良が計画されています。 彼らは私の時間と私の他の多くの職業によります。
- 強化されたWebコンポーネント。HTMLのWebページを生成する新しいコントロールとコンテナ。JavaScriptを使っています。
- データベースコンポーネントの機能強化。たとえば、バインドされたTreeViewなど新しいデータコントロールとコンテナなどに JavaScript を使っています。
- グラフコンポーネントの機能強化。Gambas でグラフを作る
- オブジェクト永続化システム。Gambasオブジェクトを透過的に永続化します。データベース管理システムを取り除くことができます。
6.私について
ようこそ。興味津々! あなたは私についてのほとんど知るつもりの様ですね。
私の名前はBenoit Minisini。1972年生まれ、パリに住んでいるフランス人です。プログラミングは12歳時から取り組んできた1つであり、今では長年の仕事となりました。これはCPC Amstrad 464の基本言語で始まり、後にAtari 520 STEでも行われました。もちろん、現在他の多くの言語を使用していますが、もともとBasicで多くのことを学び行ったことは決して忘れません。
私は言語、コンパイラ、アセンブラ、そしてインタプリタを書くのが好きでした。Amstrad 上で Z80 アセンブラと、そのメモリをすべて消費するインタプリタ言語を書きました。その後、E.P.I.T.A.での研究中で、Windows©®™3.1©®™の下で Lisp インタプリタを書いたのですが、半年の間にWindows® とその愚かなメモリモデル、Microsoft の Cコンパイラ、そして数多くのバグを発見しました。
今日Gambas言語で奮闘し続け、Freesoftの世界で私自身の経験の貢献をしていきたいと思うようになりました。
また優秀な上司のおかげでハーフタイムの仕事をしているので、過去数年間Gambasに積極的に取り組んできました。しかし他にもやることがあり、例えば音楽で長い間フルートを演奏しそして演劇で演奏しています。
このため Gambasの開発はそれほど早くはないと思います。
以上ですが、使いたいツールだと思われましたでしょうか?
7.謝辞
Gambas自体多くの freesoftware上で構築されており、それらなしでは存在しません。そこで各のプロジェクトに関わって下さったすべての人々に感謝を申し上げます。
- Linux
- KDE
- もちろんGCCとすべてのGNUツール
- Qtツールキット
- IMPとそのツールキットGTK +。
- Libre Office.
- MySQL、PostgreSQL、SQLiteデータベース管理システム。
- そしてGambasによって使用されているその他のライブラリ。
Gambasのコードの一部は、サードパーティ製ソフトウェアに基づいています。
ハッシュテーブル管理ルーチンは、Glibのものに大きく基づいています。
日付管理ルーチンも同様にGlibのものに基づいています。
GambasシンタックスハイライトエディタはQt3のQMultiLineEditコードに基づいています。
画像情報コンポーネントはPHPからのいくつかのソースコードに基づいています。
自然分類比較ルーチンは、Martin Polによって作成されたアルゴリズムに基づいています。
そして
最後に大事なことを言い忘れました。
プログラム、パッチ、プログラム例、バグ追跡、ヘルプ作成、資金援助、賢明な発言などを手伝ってくれたすべての人々に感謝します。
ここからは、GAMBAS サイトを翻訳し、自分が使える内容にしようと奮闘している わたし について説明します。
もうすぐ、60歳になる定年間近のジジイです。
コンピュータは、高校生時友人のTK-80に触れ感動していました。当時はただコンピュータゲームがしたかったのです。
日本ではじめてのパソコンの MB6881 を購入し遊んでいました。結局8bitマシンはどれもがマシン語に触れなければ内部構造も理解できず、勉強するにはマニュアルがなければ手も出せない代物でした。そんな中でモトローラが販売した6800日本語マニュアルを読みふけっていました。それでも6800の美しさと扱いやすさに感動し、投じても珍しい68系が好きな青年でした。
大学時代は68000が本格化してきた時代で、性能の低いコンピュタは8086。ワークステーションなる高度なコンピュータは68000という区分けがされてました。コンピュータフェアで68000を使ったブースは人だかりの山だったのです。そう言えば、洋服のジュンとかが本格的なワークステーションを販売してましたね。
8086 の PC9801 ですらハードディスクと合わせて60万円など当たり前でしたので、68000は技術者にとっては憧れのマシンで手が出ません。そんなんことから未だ Mac プラスを捨てずに大切にしています(とりあえず完動品)。カラクラ II もあった気が・・・・。
大学卒業後、人生の半分は福祉に従事し終わりました。後自分の好きな電気の仕事に従事するため転職。現在はその甲斐あり、とある会社の開発で回路とソフトを構築しています。
ソフトはマシン語などもできますが、当時から制御用として優れていた FORTH をやりたくて今でも引きずっています。
これは、当サイトにも今後書く予定なので、なんとなく理解していただければ幸いです。もっとも、以前結構まとまったサイトを作ったことがあるのですが、当サーバに出会ってからは閉鎖しました。結局やり直しなのでこちらに移転してます。また、いまでは大変珍しい FORTH の解説本を時々読んでいますが、未だに最初のとっつき部分でわからなくなっています。
GAMBAS は、本格的な BASIC コンパイラを動かしたくてやっと行き着いたものです。
基本身体は弱いのですが、自転車に乗るようになってから人生が大きく変わりました。なので、今でも自転車が大好きで時々100キロ程度のライドを楽しんでいます。なので、コンピュータだけに自分の時間を使っているわけではありません。コンピュータ音楽も大好きで初音ミクも持っていますが、残念ながら Linux では動きませんので半分諦めています。レコポンは既に WINDOWS XP がないので全く使えません。トホホ。
しばらくは、当コンピュータ(UBUNTU)をベースにすすめます。
こうしている間にも、ニュースが飛び込んできました。というより、ソースコードがあるので別のマシン(Linux上)でコンパイラし動くのです。で、GAMBAS がラズパイも動くようです。今後 GAMBAS はいいところまで行くかもしれませんよ。なにせフルコンパイラでからそんなことから当サイトが少しでも皆様の力になり役に立てれば幸いです。
どうです、当サイトを読みたいと思ったでしょうか。そのうち気が向いたら自転車についても書きますね。
大したことはしてませんけんが。
コメント
最新を表示する
はじめまして。Debian で開発ツールを見ていたら Gambas があり、検索してみました。日本語版の説明は貴重で大変参考になりました。ありがとうございました。私も 80系や 68系では 6502 から 68000 までかじりました。FORTH は「FORTH入門」という本が面白かったです。"https://forth-lang.jp/" のリンク集に原書の PDF 版 "Starting FORTH" があります。昔は本は手に入っても自分の 8 ビット機 16 ビット機用のコンパイラなどなかったりしましたが、今はパソコンも高機能化し、フリーソフトが使えて良い時代になりました。
NG表示方式
NGID一覧