| デザイン: | ジョン・G・ケメニー トーマス・E・カーツ |
|---|---|
| 開発者 | 株式会社トゥルーベーシック |
| 初登場 | 1983年 |
| Webサイト | ホームページ |
| 影響を受けた | |
| ベーシック | |
True BASICは、 BASICプログラミング言語の派生であり、オリジナルのBASICであるダートマスBASICから派生したものです。どちらも大学教授のジョン・G・ケメニーとトーマス・E・カーツによって作成されました。[1]
歴史
True BASIC の歴史は、ダートマス BASICから派生した Structured BASIC (略してSBASIC)に遡ります。これは 1975 年か 1976 年にリリースされましたが、キャンパスをサポートするダートマス タイム シェアリング システム(DTSS) に BASIC のメインライン バージョンとしてインストールされませんでした。その後まもなく、Kemeny は1960 年代後半から 1970 年代前半にかけて開発された言語の多くの小さなバリエーションを統合する目的で、ANSI標準 BASIC を作成する取り組みに参加しました。この取り組みは当初、ダートマス BASIC の最も初期のバージョンに類似したMinimal BASICと呼ばれるシステムに重点が置かれていましたが、その後の作業では、基本的に SBASIC にさまざまな拡張機能を加えたFull BASICを目指しました。
1980 年代初頭までに、数千万台の家庭用コンピュータがMicrosoft BASICの何らかのバリエーションを実行するようになり、これが事実上の標準となりました。ANSI の取り組みは、Microsoft が支配する世界ではこれらのバージョンが市場に影響を与えることはないことが明らかになったため、最終的には無意味になりました。両方のバージョンは最終的に承認されましたが、ほとんど採用されず、後に標準は撤回されました。しかし、Kemeny と Kurtz は、SBASIC と ANSI 標準 BASIC の取り組みからの概念を導入する取り組みを継続することを決定しました。これが True BASIC になりました。
True BASIC は、当初 Dartmouth BASIC 7 に基づいていましたが、1985 年に導入されました。True BASICコンパイラには、MS-DOS、Microsoft Windows、およびClassic Mac OS用のバージョンがあります。かつては、TRS-80 Color Computer、Amiga、Atari STコンピュータ用のバージョンや、UNIXコマンドライン コンパイラも提供されていました。
特徴
言語の構造化プログラミング実装であるため、行番号とステートメントは不要ですGOTOが、これらも使用できます。
True BASIC は行列演算用のステートメントを提供します。これは、ダートマス BASIC に初期から存在していた機能ですが、BASIC インタープリタのほぼすべてのマイクロコンピュータバージョンでは削除されていました。グローバル変数とローカル変数を実装し、再帰関数とサブルーチンを記述できるようにします。
設計者は、True BASICソース コードがどのバージョンのコンパイラでも同じように動作するように、ハードウェアに依存しない言語にしたいと考えていました。 [要出典]設計者は、この試みをほぼ成功させました。ユーザーにとっての欠点は、マシンの一部の機能に直接アクセスできないことでしたが、これはアセンブリ言語で特別に記述された呼び出し可能な関数とサブルーチンで解決できました。
新しいバージョンの True BASIC を使用すると、古い関数の一部がブロックされます。最近のコード例は次のようになります。
RANDOMIZE
SET WINDOW 0 , 20 , 0 , 20 SET COLOR 5 !ペンとテキストの色を5に設定します。True Basicでは0 ~ 15色です。 PRINT "Welcome To ..." !ユーザーの画面に"Welcome To ..."を表示します。 DO !ループを開始します。LET x = rnd * 20 !値'x'を'0' から '20' までのランダムな数値にします。LET y = rnd * 20 !値' y'を'0' から '20' までのランダムな数値にします。Pause .1 ! 1/10 秒待機します。PLOT TEXT , at x , y : " Fabulous Wikipedia!" !座標 'x' と 'y' に 'Fabulous Wikipedia!'をプロットします。LOOP !ループを終了します。END !プログラムを終了します。
この単純なプログラムは、画面の左上隅に「Welcome To ...」というテキストをプロットし、その後、ランダムな座標に「Fabulous Wikipedia!」をプロットする無限ループを続行します。
簡単なアニメーションの例は次のようになります。
!車を描画しますSET WINDOW 0、20、0、20 SET COLOR 5 BOX AREA 2、6、2、3 BOX AREA 9、13、2、3 BOX AREA 16、20、2、3 SET COLOR 249 PLOT LINES : 0、5 ; 20、5 FLOOD 10、1 BOX KEEP 0、20、0、5 IN road $ BOX CIRCLE 2、3、5、6 FLOOD 2.5、5.5 BOX CIRCLE 5、6、5、6 FLOOD 5.5、5.5 SET COLOR 35 PLOT LINES : 2.5、6 ;5.5 , 6 PLOT LINES : 5 , 6 ; 8 , 6 ; 8 , 8 ; 6 , 8 ; 6 , 10 ; 2 , 10 ; 2 , 8 ; 0 , 8 ; 0 , 6 ; 3 , 6 FLOOD 4 , 8 SET COLOR 248 BOX AREA 4 , 5 , 8 , 9 BOX KEEP 0 , 8 , 5 , 10 IN car$ !車を'car$'に保存するFOR x = 1 TO 20 STEP 1 ! 'for' ループを作成するBOX SHOW road$
AT 0 , 0 BOX SHOW car$ AT x , 5 PAUSE .1 CLEAR NEXT x ! 'for'ループを終了END !プログラムを終了
受付
ジェリー・パーネルは1985年に「そもそもなぜTrue BASICが必要なのか? [True BASICは]通常のBASICでできないことは何もしていないようだし、できることも論理的または直感的に説明できない」と疑問を呈した。彼はエラー発生時に出力がないこと、そして「診断としてprint文を挿入する」ことで対話型デバッグができないことを批判した。パーネルは「生まれ変わったTrue BASIC信者になる機会は逃そうと思う。MicrosoftとCBASICの異端を楽しむつもりだ」と結論付けた。[2]
一部のユーザーから、プログラムとエディターがCPU(またはコア)を100%使用してしまうという苦情が寄せられています。[3] [4] [5] [6]これは、エディターとユーザーのプログラムが、キーボードとマウスのイベントを常にポーリングするループを使用していることが原因のようです。この問題は少なくとも2010年末から知られていましたが、[3] 2014年初頭の時点でもまだ解決されていません。[6]
さらに読む
- Kemeny, John G.; Kurtz, Thomas E. (1985). Back To BASIC: The History, Corruption, and Future of the Language . Addison-Wesley Publishing Company, Inc. 141 pp. ISBN 0-201-13433-0 .
参考文献
- ^ Kemp, Juliet. 「BASIC: 革命を起こした言語」(PDF) 。 2022年6月25日閲覧。
- ^ Pournelle, Jerry (1985 年 9 月). 「PC、周辺機器、プログラム、および人々」. BYTE . p. 347. 2016 年3 月 20 日閲覧。
- ^ ab 「CPU 使用率」。True BASIC サポートフォーラム 2010 年 12 月 31 日。2014年7 月 26 日閲覧。
- ^ 「CPU使用率が100%です」。True BASICサポートフォーラム、2012年8月22日。 2014年7月26日閲覧。
- ^ 「CPU 使用率」。True BASIC サポートフォーラム 2013 年 9 月 24 日。2014年7 月 26 日閲覧。
- ^ ab 「さらにいくつかのエディターのバグ」。True BASIC サポート フォーラムの返信、2014 年 2 月 18 日。2014年7 月 26 日閲覧。
外部リンク
- 公式サイト
