上記の質問に対する決定的な答えを見つけられる場所はどこにもないことに気付きました。QBasic では、変数を宣言するときに変数の型を指定する必要がないことに気付いたとき、最初にこれについて疑問に思いました。ただし、変数の名前に接尾辞を追加して、特定の型であることを確認することはできます。
また、BASIC のいくつかの方言は解釈され、他の方言はコンパイルされますが、これはタイピング システムに影響しますか?
BASIC には非常に多くの種類があり、一部は歴史的なものであり、一部は現在も使用されているため、1 つの真の答えを出すことは不可能です。
一部の古い BASIC (行番号の BASIC) には、文字列または整数の 2 つのデータ型がありました。Apple-II コンピュータに同梱されていたオリジナルの BASIC は、「Integer BASIC」でした。後の BASIC は浮動小数点を導入しましたが、これはしばしば単精度 FP でした。TI-99/4a に同梱されていた BASIC は、80 年代初期の浮動小数点 BASIC の一例です。「昔は」、引用符で囲まれた文字列リテラルと$
、識別子名の後に印が付いた文字列変数を作成します。シジルを持たない変数$
は通常、指定された種類の basic がサポートする数値変数の型 (整数または浮動小数点) にデフォルト設定されます。たとえば、GWBasic は、指定しない限りデフォルトで浮動小数点になります。%
「整数」を意味するシジル。TI Extended Basic には整数型はありませんでしたが、浮動小数点数値型には 15 桁の有効桁数があったことを思い出してください (浮動小数点演算エラーは無視されます)。
これらの初期の基本は本質的に静的に型付けされていましたが、その区別はより強力な言語ほど有用ではありませんでした。データ型の選択肢は少なく、文字列、数値 (場合によっては Int、場合によっては FP) であり、場合によっては数値を Int または FP として指定する機能がありました。舞台裏では、必要に応じて int と浮動小数点の間で自由に変換することさえあります。多くの場合、このような舞台裏の変換は十分に文書化されていません。
しかし、それが 1980 年代の状況でした。当時は、誰もが家庭用コンピューターを所有するのが趣味で、基準が緩いものでした。すべてのハードウェア メーカーは、BASIC がどのように動作するかについて独自の見解を持っているようです。
最新の BASIC はより強力で、変数の型をより厳密に制御できます (必要な場合)。
BASIC の初期の方言は、常に静的に型付けされていました。数値変数、文字列変数、および配列には、それぞれ異なる構文が必要でした。また、名前の長さはしばしば 1 つの記号に制限されていました。文字列と配列は で別々に宣言されているため、最も頻繁に使用される構文はV
数値のみでした。V$
DIM
私は 15 年間 BASIC でプログラムを作成していなかったので、現代の方言で何が起こっているのかはっきりとは言えません。
MultiValue Database システムで使用される BASIC の拡張バージョンは、動的型付けを使用します。これは、ステートメントのロジックとコンテキストに基づいて、コンパイラが変数の処理方法を決定することを意味します。
二重引用符で囲まれたものはすべて文字列であり、二重引用符で囲まれていない数値は数値です。double または float の形式で数値データを書き出すために、これを実現するために使用できるさまざまな形式式があり、それを変数に適用します。
最終的に、すべてがデータベース レベルで ASCII 文字列として保存されます。したがって、開発者は、データベースが型を強制するのではなく、ビジネス ロジック レベルで型を強制します。