ベーシック4ppc

B4倍
パラダイム手続き型プログラミングイベント駆動型
デザイン:
  • どこでもソフトウェア
  • エレル・ウジエル CEO
初登場2005 (2005)
タイピングの規律静的弱い
OS
Webサイトwww.b4x.com
方言
  • b4a - Android
  • b4i - iOS
  • b4j - Java を使ったデスクトップ
  • b4r - アルドゥイーノ
影響を受けた
ビジュアルベーシック

Basic4ppc(発音は「ベーシック・フォー・PPC」)は、もともとAnywhere Software社によるWindows Mobileオペレーティングシステムを実行するPocket PCハンドヘルドコンピュータ向けのプログラミング言語です。2014年以降、 B4x(「B for x」)に改名され、現在2023年では、デスクトップおよびモバイルソリューションを含む複数のデバイスとそのOSをサポートし、これらの環境向けの開発適応が行われています。[ 1 ]この言語はBASICに似た構文に基づいており、 Microsoft.NETテクノロジを利用して、追加ライブラリ、Windowsフォームのグラフィカルユーザーインターフェイス設計、迅速なアプリケーション開発(RAD)、および.NETフレームワーク互換のコンパイルを可能にしています。この言語は、オブジェクト指向ではなくプログラムにオブジェクトを追加する独自の方法を実装しています。その利点は、シンプルさ、開発のスピード、および.NETフレームワークとの統合です。統合開発環境(IDE)の特別なバージョンを使用すると、Windows Mobileデバイス上で直接開発できます。 Windows Mobile オペレーティング システムとそれを実行するデバイスの廃止に伴い、Basic4PPC も 2012 年頃にサポートを終了しました。Basic4PPC の所有者にとっては、Windows 環境で直接コードを実行し、プロジェクトを Windows の 'exe' ファイルにコンパイルして Windows プログラムとして使用できるため、引き続き便利な Windows デスクトップ BASIC コンパイラーとして使用できます。

履歴(メジャーバージョン)

  • Basic4ppcのバージョン1.00は2005年にリリースされました。主にハンドヘルドデバイスを対象としており、ユーザーはデバイス固有のIDEでプログラミングできるようになりました。このバージョンでは、直接的な命名参照や構文といった基本的な概念が導入されました。
  • バージョン 2.0 では、ユーザー インターフェイス、コントロール、最適化に関して大きな改善が加えられました。
  • 2006 年 8 月 - バージョン 3.0 がリリースされ、安定性が向上し、初めてスタンドアロン コンパイルが可能になりました。
  • 2006 年 12 月 - バージョン 4.0 がリリースされ、初めて外部ライブラリを使用する機能が導入されました。
  • 2007 年 5 月 - 完全に新しい IDE とスマートフォンのサポートを備えたバージョン 5.0 がリリースされました。
  • 2007 年 12 月 - バージョン 6.0 では画期的な進歩が遂げられ、最適化されたコンパイルが導入され、デバイスとデスクトップの両方でコンパイルされたアプリケーションのパフォーマンスが大幅に向上しました。
  • 2008 年 10 月 - バージョン 6.5 がリリースされ、モジュール サポートが導入されました。
  • 2009 年 6 月 - バージョン 6.8 がリリースされ、さまざまな画面解像度の自動サポートと 2 つの新しいコレクション オブジェクトが追加されました。
  • 2010 年 4 月 - バージョン 6.9 がリリースされ、型付き変数とサブのサポートが追加されました。
  • 2014年から現在2023年まで、Android、iOS、Windows、Mac、Linux、Arduino、Raspberry PI、ESP8266/ESP32など、さまざまなOSをサポートしています。[ 2 ] [ 3 ]

アンドロイド

2010年にAndroidスマートフォン/タブレット向けバージョンがリリースされました。これは同じラインに沿って動作する別の環境であり、言語は「基本」のようなもので、Androidデバイス向けにコンパイルできます。[ 4 ]

言語機能

デュアル開発プラットフォーム:Basic4ppcは、完全に互換性のあるデバイスIDEを介して、ハンドヘルドデバイス上で直接開発を行うことができます。デバイスIDEとデスクトップIDEのどちらで記述したコードも、プラットフォームとオペレーティングシステムの両方で同一です。ただし、オペレーティングシステムが異なるため、コンパイルはデバイスまたはデスクトップのいずれかを対象に行う必要があります。

コンパイルには4つのモードがあります。Windows実行ファイル、 Pocket PC用デバイス実行ファイル(AutoScale対応/非対応)、デスクトップ実行ファイル、そしてスマートフォン実行ファイル(Windows Mobile OS搭載の携帯電話用)です。コンパイルされた.EXEファイルを使用するには、対象マシンに.NET Framework 2.0がインストールされている必要があります。これはWindows XP SP2以降では通常必要なのですが、それ以前のバージョンでは手動でインストールする必要があります。

追加ライブラリ:Microsoft .NET FrameworkをベースにしたBasic4ppc は、.NET .dllファイル内のコードをBasic4ppc 用に適合させることで使用できます(これは Microsoft 開発ツールを使用するプログラマーであれば誰でも実行できます)。このような追加ライブラリは数多く存在し、そのほとんどはオープンソースで、ユーザーによって作成され、Basic4ppcフォーラムからアクセスできます。

マージ:追加ライブラリのコードは、ほとんどの場合、メインの実行ファイルにマージされます。これにより、単一のファイルでデプロイできます。

特徴

Basic4ppcは、手続き型構造型、そして部分的なオブジェクト指向プログラミングモデルを実装しています。構文は一般的なBasic方言に類似しており、Visual Basicの影響を最も強く受けています。イベントをサポートしています。多くの現代言語と同様に、開発環境にはグラフィカルユーザーインターフェース設計ツールが提供されています。ユーザーはドラッグ&ドロップによるコンポーネントベースのUIを使用してアプリケーションを構築できます。これはデバイスとデスクトップの両方で実行可能であり、この機能は他に類を見ないものです。

他の多くの Basic バージョンと同様に、 if…thenfor…nextなどの通常のフロー構造がサポートされています。

予約語:Basic4ppcには膨大な数の予約語が含まれています。これは変数宣言のスコープに起因します。

変数は、ローカル(サブルーチン全体からアクセス可能)、グローバル(モジュール全体からアクセス可能)、パブリック(プログラム全体からアクセス可能)のいずれかになります。すべての変数は型を持ちません。つまり、次のようなコードを書くことができます。

Sub App_Start numA = "5" numB = "5" numC = 6SUM1 = numA & numB '注釈: = "Five 5" SUM2 = numB + numC '注釈: = 11 End Sub

変数を明示的に宣言する必要はありません。

サブルーチン(「Sub」と呼ばれます)は、最も基本的なコード単位です。すべてのコードはサブルーチン内に記述する必要があります。サブルーチンは値を返すことができます。

直接命名参照:すべての内部コントロールは、文字列で表現された名前を指定することで直接アクセスでき、サブルーチンにパラメータとして渡すことができます。これにより、プログラマーは、渡されるコントロールを事前に知らなくても、またポインタオブジェクト指向プログラミングを扱うことなく、コントロールをパラメータとして渡すことができます。

AutoScaleモードを使用すると、UI の外観に必要な調整を言語が処理するため、さまざまな画面解像度に対応した開発が可能になります。

サンプルコード

言語の例を次に示します。フォームが読み込まれていない状態でアプリケーションの起動時に「Hello, World!」というメッセージ ボックスを表示するコード スニペット:

Sub App_Start MsgBox ( "Hello, World!" ) End Sub

図書館

Basic4ppcはMicrosoftの.NETテクノロジーをベースに、若干の調整を加えた上で.NET .DLLをサポートしています。これにより、ユーザーは多くのオープンソースライブラリを作成でき、Basic4ppcフォーラムからダウンロードできます。これらのライブラリは通常、完全なソースコードが付属しています。他の多くのプログラミング言語と同様に、追加ライブラリには実用的な言語機能のほとんどが含まれています。追加ライブラリは、グラフィックスデータベースユーザーインターフェースGPSバーコードリーダーと周辺機器、デバッグ、接続性(Bluetooth、Wi-Fi、http、FTPなどのデータ転送プロトコル)、XMLなど、幅広い分野をカバーしています。

参考文献