従来のBASICは商用ソフトウェア開発に使用されたことがありますか?その場合、制限はどのように克服されましたか?


46

私を含む私たちの多くは、自宅のコンピューターで書かれたプログラムでプログラミングの生活を始めました。

10 PRINT "ENTER RADIUS"
20 INPUT R
30 PRINT "CIRCUMFERENCE="; 2 * R * PI
40 PRINT "AGAIN?"
50 INPUT A$
60 IF A$="Y" THEN GOTO 10
70 END

もちろん、行番号ベースのBASICは、最も基本的な方言のような構造の文逃したもので、スパゲッティコードを作成するためのがちだったWHILEすべてのものが、やって、FORと-loopをIFGOTOGOSUB。QBASICとVisual Basicが登場した1991年以前に、BASIC方言について話しています。

BASIC方言は、熱望するプログラマーの中で悪いスタイルを促進したかもしれませんが、そのようなBASIC方言で作成されたより大きな商業プロジェクトはありましたか?もしそうなら、彼らはどのようにして明らかに欠点を抱えて対処し、回避しましたか?

「深刻」とは:

  • ゲームではありません(たとえば、Pimaniaなど、一部の商用ゲームがBASICで記述されていることは知っています
  • フリーウェアではない
  • 些細ではない、つまり、かなり大きい(たとえば:少なくとも1500 LOC
  • 複数の顧客に販売(社内開発ではない)
  • 「ミッションクリティカル」がプラス

30
Were those BASIC dialects only used to teach aspiring programmes bad styleフム...それは悪いスタイルだ、それは当時はなかったです。
ヤニス

9
Dartmough BASICは1964年に(そして興味深いことに、コンパイルされた言語でした)、FORTRANに支配された時代に設計されました。
ヤニス

8
あなたが円の円周を計算しようとしていると仮定すると、スタイルは私がここで見る唯一の悪いことではありません。
ウィリアムジャクソン

5
I'm seriously pissed off that this question was closed during the "History" contest.へえ、あなたはメタでそれを持ち出すことによって、質問に対するいくつかの余分な見解を得る絶好の機会を逃しました。
ヤニス

15
記述されているすべてのソフトウェアの99%は、社内で記述され基幹業務アプリであり、定義により、可能限り深刻なものになっています。

回答:


48

承知しました。Altair / MITS / SWTPC / Kim / Sinclair / Pet / RadioScrap / OSI / Appleが起こる前に、IBM 5100として知られる楽しい小さなマシンがありました。ROMにはBASIC 、大きなカセットテープドライブ(または2つ)、8 KBのメモリがありました。24行のスクリーンとプリンターを備えており、いずれもわずか10,000米ドルです。これは通常のミニよりも桁違いに安い価格です。元々は科学者向けに構築されていました(ROM内のAPLもオプションでした)が、その後、いくつかの会計の種類がそれを発見し、流行を始めました。もちろん、カスタムソフトウェアを使用します。5110がそれに続き、テープドライブが8インチフロッピーに置き換えられました。

市販のソフトウェアはありますか? ガルーン

総勘定元帳、給与、買掛金、売掛金、在庫管理、請求書などと言えますか?私はそこにいました、それをしました-BASICで。公共料金、新車および中古車の在庫、ごみ収集車のピックアップ、飲料の配送のスケジューリング?うん-基本。鉱山から鉄鉱石を追跡して船に乗る列車に乗せたい... BASIC。上げられなかったすべては、おそらくBASICで行われていました。商業的に、私は意味します。(RPG IIはカウントしないため;-)。

制限をどのように回避しましたか?

まあ、あなたが最初にしたことは、より多くのメモリを得るために顧客をIBMに送り返すことでした。あなたは、単に持っていた、1本のテープにソートマージが少し遅い、よく、あるさておきオートマトン理論ので、16と2台のテープドライブ、可能な場合に、持っています。

ああ、ごめんなさい-あなたはBASICの限界を意味していました。

リソースを使い尽くしたくなかったので、行番号などのリソースをかなり慎重に管理する必要がありました。誤って1行または2行のコードを失うことなく、セクション全体の番号を付け直し、すべてを入力し直さなければならないという大きな苦痛。

いや-冗談だ。私たちは、マイクロコンピューターが登場するまで実際にそのような問題を抱えていませんでした。

また、モジュール性も使用しました。ここでは、新しいプログラムを呼び出し、終了するまで実行し、呼び出し元のプログラムに戻りました。ステロイドのgosub(使用するメモリが増えたため)が、かなり遅い(マシンがテープ上のプログラムを見つけてロードし、元のプログラムを巻き戻して見つけるのに時間がかかったため)バック...)。forkとexecによく似ていますが、forkなしで、メモリ空間全体が共有されているためにのみ優れています。

また助けた規則の厳格な使用-あなたが知っている、あなたは常にこのルーチンが何をするかと言うコメント行でGOSUBを対象としなければならない、とあなたはGOTO可能な場合のために同じことを行う必要があることなどのスタッフああ、と」のような。。構造化プログラミング、少し後で-「規約により」再び。

OAOOYAGNITSTTCPW、ペアリング、情け容赦なくリファクタリングなど、極端なものもありました。もちろん、それらの名前ではありません。(参照:伝道者;-)

栄光の日々。


4
すべての良い答えから、私はこれを選択します。なぜなら、まだあまり多くの愛(賛成票)を得ていないからです。
-user281377

1
あなたの素晴らしい答えと聖書の最高の本の一つへの言及に賛成票を投じてください:)
ロックラン

46

私がこれまでに取り組んだ最初のソフトウェアは、ボイラー機器のサイズ設定と価格設定に熱伝達計算を使用するために80年代に書き直した8kラインGW-BASICプログラムでした。コードは完全に理解不能でしたが、20年以上使用していたため、うまく機能しました。

これは、リファレンスマニュアルを持った機械技術者が(当時)使用可能な高品質のソフトウェアを実際に作成できるBASICの強みでした。BASICおよびPCの普及以前は、そのようなことは前代未聞でした。共有メインフレームをプログラミングして使用するには、コンピューターエンジニアとコンピューターオペレーターのチームを雇う必要があります。これはすべて、典型的な機械技術者が短時間で習得するには非常に複雑すぎたでしょう。

確かに、BASICは自宅のコンピューター愛好家を超えて非常に有用でした。これは、専門家チームなしで手頃な価格でカスタムソフトウェアを社内で書くという分野への多くの企業の最初の導入でした。


絶対に、これ。-^^^
ロバートハーベイ

30

はい、BASICで行われた多数の商用製品やその他の「深刻な」開発がありました。その理由を理解するには、BASICがミニおよびマイクロコンピューターで成長した1970年代および1980年代の背景を理解する必要があります。

当時の機械は、今日の基準では前向きなものでした。CPUは数MHzでクロック制御され(多くの場合、マイクロコンピューターでははるかに少ない)、このページのレンダリングに必要なHTMLが占有するよりも少ないメモリーでした。製品を展開する場合は、利用可能なツールを使用する必要がありました。これは、裸のアセンブリか、マイクロコンピューター上で、システムと共にROM(多くの場合、64Kアドレス空間に16K)で出荷されたBASICインタープリターです。他の言語も利用できましたが、多くの人が私たちが当然と思う構造化された機能のすべてを持っていませんでした。これは、メモリが不足しているという事実と大きな関係があります*。非常にハイエンドのシステムを除いて仮想メモリはなく、通常、より洗練された言語用のコンパイラを保持するのに十分ではありませんでした。そのような限られたリソースで、「深刻な」

初期の家庭用コンピューターのメーカーがよりよく知っていて、構造化言語を提供するべきであるというあなたの議論は、その文脈では機能しません。人々が腹を立てるほどの価格で利用可能な技術では、それは起こりませんでした。

言語の欠点をどのように回避するかは簡単でした。そのようには見えず、利用可能なもので仕事をやり遂げました。ANSI Minimal BASICは、アセンブリ言語によく似た構造になっており、単純な分岐とサブルーチン呼び出しとほぼ同じフレーバーを取得できますが、星が適切に整列されるようにするのはユーザー次第です。唯一の例外は、FOR..NEXTループを提供するために使用される構造です。基本的に、BASICで何かを開発し、それをうまくやるには、アセンブリで作成するのと同じくらい慎重にプログラムの構造を計画して理解する必要がありました。使用可能なデバッグツールは非常に原始的なものであったため、プログラムを機能させて保守可能にするには、本質的に一緒に行動する必要がありました。

はい、当時は多くのスパゲッティがありましたが、悪いコードを書くことが不可能な言語はまだ見ていません。


*メモリは1980年代初期に1 MBあたり約750〜1,000ドルで実行されました。インフレを調整すると、2010ドルで1,600〜2,200米ドルになります。その同じ年、メガバイトあたりのコストは約0.03米ドルでした。


1980年代に2 メガバイトの EMSメモリボードに約1000ドルを支払ったことを覚えています。入ったコンピューター、NEC V20ベースのPCクローンキットの価格は約2500ドルでした。
-jfrankcarr

LOL、80年代後半にVAX用に64MBのメモリカードを購入するには、社長が署名したPOを取得しなければならなかったことを覚えています。公平を期すために、デュアルポートECCメモリでしたが、3万ドルのどこかでコストがかかり
TMN

BASICで記述されたビジネスアプリケーションがあり、その一部はお金で売られていました。また、BASICで書かれたホット販売のビジネスアプリケーションは、APPLE [約100ドルの単価で500コピー。当時のコンピューターは小さく、そのためのソフトウェアは小さいため、当時の最新のソフトウェア製品のようなものはありませんでした。基本的な言語でも、C言語でも、アセンブラーでも、その他の現代言語でも、それを変更することはなかったでしょう。
ウォーレンP

80年代には、地元の大学のコンピューターのメインフレームが10 MBから50 MBにアップグレードされました。10MBは半分しかありませんでしたが、予測可能な将来のために十分なスペースが必要でした...
SoylentGray

22

1980年代に戻った私の最初の100%プログラミングの仕事は、もともとGW-BASICで書かれた垂直市場会計パッケージに取り組んでいました。QuickBASIC 3.0に移植されていましたが、初期のBASIC方言に関連するほとんどすべての障害を保持していました。たくさんのGOTOと貧弱な構造がありました。約12のモジュール(在庫、台帳など)があり、プログラムはモジュールあたり約US $ 1000-US $ 2500と年間サポート契約で販売されていました。会社の収益は年間15〜2,500万米ドルでした。

欠点に対処する方法については、機械語またはMASMを使用することで多くの制限が回避されました。機械語をBASICプログラムに挿入するために、PEEKおよびPOKEコマンドを使用するのが一般的でした。私はMASM(および後のC)プログラムを作成して、プログラムを拡張し、初歩的なデータベースサポート、コミュニケーション、テキスト「グラフィックス」などを追加しました。


12
もちろん、15 milに入らなければ、残念です。
スペンサー

@SpencerRathbun-悲しいことに、私はかなり低い賃金を支払われました。今日はおよそ$ 35,000です。
-jfrankcarr

うん、私の最初のプログラミングの仕事はQuickbasic 3でした。それは移植ではありませんでしたが、それほど良くはありませんでした。主な部分は、コンパイラーに付属の本を「トレーニング」で読んでいた誰かによって行われていました。顧客にとってミッションクリティカルな、4桁の高値札。
ローレンペクテル

5

このようなBASIC方言で、より大きな商業プロジェクトが作成されましたか?

C64やその前身のような古い家庭用コンピューターには、多くのBASICプログラムが存在し、いくつかの商用プログラムも存在していました。しかし、64kB未満のRAMで「大」BASICプログラムを書くのは本当に簡単ではないため、「大」を使用することはほとんどありませんでした。マシンの制限を回避したい場合は、通常、「高水準言語」であるBASICの基礎を離れ、アセンブラーを使用する必要がありました。

したがって、あなたの質問への答えは「おそらく多くない」ですが、あなたが念頭に置いている理由のためではありません(「エラーが発生しやすい/構造化されていない」など)。

ちなみに、有名なPETSpeed BASICコンパイラはBASICで書かれています(もちろんそれ自体でコンパイルされています)。


4
重要な!=大きいことを指摘したいと思います。特に当時のことです。今日、商用プログラムには考えられるすべての機能が組み込まれている傾向がありますが、常にそうとは限りませんでした。
ジャンヌピンダー

@DocBrown 64kのメモリ制限と大規模なアプリケーションを回避する方法がありました。多くの大規模なアプリケーションは、多くのモジュールを備えたアプリスイートのように存在していました。
maple_shaft

BASICで完全または部分的に記述された初期の商用C64ゲームをいくつか覚えています。「Rox 64」は1つです。
アランB

「Telengard」と呼ばれたと思いますが、C64用のRPGゲームはBasicの8k行のようでした。ソースを微調整して、自分を超人格にするのは楽しかったです。
ニールN

@maple_shaft:「たくさん?」特に「多くのBASICアプリケーション?」私は少数しかいない印象を受けていました。
ドックブラウン

5

Peachtree Softwareのアカウンティングライン全体(売掛金、買掛金など)はすべてBASICで記述されていました(そして、私が知っているすべての人にとってはまだそうかもしれません)。IBM PCが最初に展開されたとき、IBMパーソナルコンピューターとPeachtreeパッケージを購入して、中小企業向けの本を購入した顧客向けに、長い夜、デバッグとコードの修正に多くの時間を費やしました。


5

私の最初の仕事は、1981年、アイルランドのベルファストにある経営コンサルタント会社のプライスウォーターハウス(プレクーパーズ)オフィスでApple IIをBasicでプログラミングすることでした。私たち2人/ 3人のチームが、書店や食肉処理場などのクライアントにシステムを開発し、インストールしました。これは財務モデリングシステムであり、事実上非常に複雑なVisicalcスプレッドシート(​​50シート、3,000変数)が大規模なBasicプログラムになりました。食肉処理場で1週間のスループットを処理するには、4台のディスクドライブを搭載したApple IIシステムで2日間実行しました。毎週2週間かかっていた手動システムよりも少し速くなりました。

その後、Act Siriusマシンに移行し、再びクライアントにインストールされたBasic(Microsoft 8KB Basic)でプログラミングしました。

Basicには行番号がありましたが、プログラムの番号を変更できるツールキットがありました。Pascalを学んだUniが初めてだったので、可能な限り構造化されたスタイル(Basicでできる限り)で記述しようとしましたが、もちろんGotosとGosubsが使用されました。

1983年に12月のレインボーでプログラミングしましたが、CBasicを使用しました。


4

PDP-11システムでは、BASIC-PLUSを使用して記述された多くの商用ソフトウェアがありました。統計分析と会計パッケージに加えて、かなりの量のハイエンドのラボ自動化製品を見たことを覚えています(これらがどのように「商業的」であったかはわかりません。それらは機器パッケージの一部として含まれる傾向があったので、わかりません別売りの場合)。ISTR BASICは、HP 2000アプリケーション開発の主要言語の1つでもあり、初期のHP 9800シリーズワークステーションでサポートされている主要(おそらくのみ)言語でした。


HP2000は他の開発をサポートしましたか?私の印象では、HP2000はHP Timeshare BASICでユーザー提供のプログラムのみを実行するようにハードコードされていました[システムのファイル管理およびユーザー管理コードの一部またはすべては他の言語またはマシンコードを使用して記述できた]。
supercat 14

3

Alpha Softwareの初期のDOSデータベース製品(1985年頃) "Database Manager I"、 "Database Manager II"(DMB2)、および "Alpha Three"はBASICで記述され、IBM BASICコンパイラーでコンパイルされました。私は「アルファ3」に取り組みました。UIはすべてBASICでしたが、BASICが割り込みを介して通信するCおよびASMで記述されたコアTSR(終了および常駐)コンポーネントがありました。行番号と改行は貴重なセグメントスペースを占有するため、コードはひどくつぶれて読みにくくなりました。共有変数を使用し、モジュールを常に交換しました。仕事をするのは大変でした。しかし、私たちはまだ組織について論理的にしようとしたので、文字列ライブラリはすべて60000の低い行番号にありました。文字列のトリミングのような一般的な操作は次のようになります。

$ S = $ INS; GOSUB 60210; $ INS = $ S;

「Alpha Three」のリリース直後に、すべてのCに変換しました。


1
すべての変数はグローバルであり、パラメーターの受け渡しのためにそれらを悪用する必要があったため、既に使用されている変数を誤って上書きしないようにコードをどのように管理しましたか?
user281377

それはコンベンションベースでした。
ピート・リヨン

3

1980年代初頭、米国空軍は、飛行計画ツールとして飛行中隊が使用するCromemco S100バスコンピューター大量に購入しました。

飛行計画ソフトウェアは、フロリダ州エグリン空軍基地にある戦術航空戦センターの空軍パイロットおよびナビゲーターによってBASICを使用して開発されました。

BASICの「明らかな欠点」を回避する限り、それ以上のことは知りませんでした。乗務員がコンピューターに物理的にアクセスできるようにすることは、当時の技術の飛躍的な進歩のように思えました。


2

Appleの元のUltima] [はApplesoft Basicで書かれたと思います。

DECは、開発したRSTSおよびその他のOSの多くにBASICのバージョンを使用しました。


RSTS / EはBASICで作成されたというジョークがありましたが、実際にはそうではありませんでした。OSで提供される多くのsysadminユーティリティプログラムはBASICで書かれています。
ドンロビー

2

私が20年前にQuickBasicプログラマとして持っていた唯一の恐怖は、「メモリ不足」メッセージでした。しかし、これは私をより良いプログラマーにしただけです!コンパクトで真面目なコードの書き方を学びました。

私は産業用プログラミングにQuickBasicを使用していました。現実の世界(工場)では、上司に「Cで書くのに半年かかる」と言うことはできません。「はい、ボス、来週準備ができます」としか言えません。はい、BASICは現実世界で実用的かつ迅速なソリューションでした。CまたはPascalではありません。

ユニークなデータベースであるQuickBasic 4.5で作成したプログラムの1つは、いくつかの会社に販売され、実際には既に持っていた商用データベース(おそらくCまたはPascalで作成された)を置き換えました。このデータベースは今日まで使用されています。

私が言及したい1つの主題:

私たちは皆、新しいプログラミングメソッドがとても便利だと考えています。しかし、実際の生活(産業)では、最近のほとんどの機械は最新のPLCで操作されています。通常、プログラムはラダープログラミングで記述されます。これは、GW-BASICの100倍も原始的です。PLCのプログラマーとして、私は明確に言うことができます。この原始的なラダープログラミングを、GW-BASICまたはQuickBasicのような高級言語に置き換えたいと思っています。(MEGA-BASICは、この目的で過去に使用された方言です)。

結局のところ、ほとんどのマシンは何をしているのでしょうか?入力の解釈と出力の設定。そのためにC / Assemblyは必要なく、Javaも必要ありません。メンテナンス可能なコードを作成するには、QuickBASICが必要です。


1

もちろん。

ずっと前に、私は主に自動車ディーラー業界に何百万ドルものシステムを販売する会社で働いていました。これらのシステムは、カスタマイズされた16ビットHP 21MXミニコンピューター派生製品でBASICソフトウェアを実行しました(成功する16ビットマイクロプロセッサーの時代以前)。これは、数十人のBasicプログラマーを抱える中規模の会社でした。彼らは、行番号を必要とし、286個の可能な変数名のみを許可する旧式のBASIC方言を使用しましたが、ソリューションは、中規模企業のすべての企業会計と在庫(など)を提供しました。R&Dグループは、次世代ハードウェアのブートストラップ開発を支援するために、Basicでアセンブラ、コンパイラ、さらにはハードウェアエミュレータも作成しました。

私が考えていたことを、より新しいプログラミングとハードウェア設計方法論の利点を1つの古いタイマーに説明しようとすると、優れたデザイナーは、そのような直接的な表現が構築されていなくても、問題の解決策を適切にパーティション分割、モジュール化、構造化したと私に言った彼が指摘したように、悪いデザイナーは、彼らが内部で働く「おしゃれな」ファッショナブルな開発パラダイムに関係なく、デバッグ不能なゴミを生成する可能性があります。


1

事実、今日の米国の新車ディーラーのほとんどは、BASICプログラムを使用して資金調達オプションを提示し、車を購入するときに得られる長い決済ステートメントを作成します。これらのプログラムは、最新のハードウェア上でエミュレーションの下で実行されるBASICの古風なミニコンピューターバージョンで書かれています。接ぎ木されたWeb UIがありますが、そのBASICは下のttyと話します。

1980年頃、ユニバーサル生命保険は、生命保険ビジネスの急速な流行となりました。すべての会社はすぐにそれを販売したかったので、非常に複雑な利息と保険数理上のジャンボの組み合わせを使用して、毎月、各ポリシーのアカウント値を計算する必要がありました。データ処理部門での大規模プロジェクトには約1年かかりますが、多くの企業は、メインフレームで行われていたもののより複雑なバージョンを必要に応じてできるだけ多くのApple、PC、および/またはTandy TRS-80で生産しました20年。これらのほとんどすべてがBASICでプログラムされました。ほとんどの場合、BASICは短精度の浮動小数点を使用していたため、何百万もの顧客の小銭が丸めで失われました。

JPLには、約35年前に広く使用されていたBASICのバージョンがありました。Mは管理を表すMBASICと呼ばれていましたが、特に宇宙船のプログラミングに使用されていました。


1

IBMの非常に人気のある4680/4690小売店頭販売システムは、IBM 4680 BASICと呼ばれる方言で書かれてます。1998年から2002年にかけて、英国の大手小売店でこのシステムに取り組みました。

このシステムは非常に人気がありました。Wikiの記事によると、2005年の市場シェアの12%を保持していました。週間。


0

PICKまたは他のMultiValueデータベースを調べます。それらはすべて、DataBasicを主要な言語または唯一の言語として使用しており、垂直市場で大きな用途があります。私たちは20年以上前に調達ベンチマーク用に作成したシステムを引き続き実行しています。約5万行のコードまで実行されます。


0

80年代にインドにSoftekという会社があり、独自のバージョンのWordstar、dBase、Lotus 1-2-3を作成しました。もう1つの製品はBASICコンパイラです。

独自のCBASICを使用して、SIMS-FA(Softek Financial Accounting)と呼ばれる非常に包括的な複式簿記パッケージを作成しました。


0

どれか?はい。たくさんの?いいえ。教育用ソフトウェアと記録管理。

ベーシック時代:〜1970-1990

1990年頃まで、制限は期待を超え、業界のニーズに合わせて進化しました。ほとんどの場合、大企業のニーズはコンサルタントによって分析され、ニーズを満たすあらゆる言語で満たされました。

企業が必要とするものについて多かれ少なかれ開発されたアイデアを持ち、VBAで何らかのソリューションを構築し、その後、より有能なクライアントサーバーソリューション、Webアプリ、およびデータグルーミングの最適化されたインターフェイスを発見するのに十分な学習を行う今日のように。

1970年代に、通常の会社が企業の予算なしでアカウントのバランスをとったり、コンピュータ上で生産額を登録したりできれば、書籍を保管することからの大きな一歩になります。

1980年代に、いくつかの製品図面をコンピューターに移行して編集可能にすれば、それも素晴らしいことです。

これらは両方とも、インタープリターベースの言語で実行できます。コンピューターはより多くのデータを保持できるため、CPUが1977年頃から1987年頃までパフォーマンスをシャッフルする生データのムーアの法則に遅れをとったため、複雑さがコンパイラーを必要としました。

しかし、1980年代の終わりに期待が高まると、1970年代に確立された言語(まれにアセンブラーやFPUボードのようなカスタムハードウェアによって補完された)は、ほとんど例外なく、企業でのすべての深刻な商業的な仕事をしました。CobolとFortranは、まだメインフレームのチケットでした。企業だけがそのような余裕があり、真面目な企業は社内のBASICプログラムで真剣な仕事をしましたが、しばらくはこれで十分でした。

ワードプロセッサやダイアグラムプロッタなどの一般的な用途のスタンドアロンソフトウェアパッケージは、オペレーティングシステムがコンパイラのターゲットとして手頃な価格のコンピューターで成熟し、「会社規模」のドキュメントとデータを保持できるストレージが登場したこの頃に登場しました。

パスカルはここでの主要な候補でした。以前は、これらのほとんどすべてがアセンブラーで記述されていました。最後に、CはUnixからやって来て、PCで使用され始めました。


0

Commmodore 64の時代、ゲームのガンシップの一部はBASICで書かれていました。コードを編集することもできるので、着陸するたびにヘリコプターを装備できます。


一部の(商用)ゲームは完全にBasicで記述されていることは知っていますが、理由はゲームを除外したことです。「機能セット」が完全に設計者であり、メンテナンスが問題にならない場合は、制限に耐えることが簡単です。
user281377

0

BBC BASICは、1981年に英国でリリースされたBBC Microから始まりました。AcornのARMベースのRISC OSコンピューターに実装されたバージョン5に到達するまでに、世界で最も高速に解釈されるBASICと見なされました。その構文は、CASEやWHILEなどの構造キーワードや関数やプロシージャなど、その時代に合わせて高度化されました。(元々は6502用で、その後はRISC OSバージョンのARM 用のアセンブラも含まれていました。)

多くの商用デスクトップアプリケーションはこれを使用して作成されました。これは、主に、協力的なWIMPシステムが使用したSWI呼び出しへの便利なアクセスを提供したためです。それを使って書かれたアーケードゲームさえあるほど十分に速かった-RタイプのクローンであるNevryonは、私が特にソースを見て覚えていたものです。


実際、Acorn Electron(BBCの小さいバージョン)とAcorn Archimedes(および同じBASICを使用したCambridge Z88)の両方がありました。はい、これらのコンピューターのBASICは、他のほとんどの家庭用コンピューターよりも少し優れていました。しかし、BASICにはインラインアセンブラーを使用する可能性も含まれているため、ソースコードを一目見ただけでは、純粋なBASICプログラムと混合プログラムを区別するのは難しいかもしれません。
user281377

ああ、一目見ただけでこの2つを区別することができます。見た目が非常に異なります。また、アセンブラが含まれていましたが、アセンブリ言語のソースコードを配布することは一般的ではありませんでした。通常、代わりにアセンブルされたバイナリコードが含まれます。
ダン・エリス

0

古いxBaseデータベーススクリプト言語(dBase IIdBase III +、Clipperなど)は、当時のさまざまな非標準BASICと非常に密接に関連していました。

BASICは商業的な仕事に使用されているわけではありませんが、十分近いかもしれません。


Steve314:これらのxBase言語は、ホームコンピューターのBASICよりもはるかに優れていました。Clipperで多くのコードを記述しましたが、80年代の家庭用コンピューターBASICには欠けていた関数、ローカル変数、ループステートメント、その他多くのものを覚えています。ヤニス:1985年にQuickBasicが登場しました。
user28137712年

@ user281377-1981年のBBC Basicは構造化され、手順がありましたが、まだ行番号が必要でした。ANSI標準の基本(1984)には、ブロック構造sub(パラメーターとローカル変数を含む関数/手順)などが含まれ、行番号をオプションにしました。1985年のBorland Turbo Basicには、ほとんどの標準的なBasic機能IIRCがありました。Atari STでGFA Basicをかなり使いました-構造化され、手続き型で、行番号もありません。80年代には、構造化された手続き型の基本がたくさんありました。
Steve314

@ user281377-データベース処理とデータ入力フォームに関してxBaseには明らかな利点があり、Basicにはないことをしてくれましたが、STOSにはスプライトの表示とジョイスティックの読み取りに明らかな利点があることを簡単に指摘できます。
Steve314

@ Steve314:優れた機能を備えたBASIC方言があることは知っていますが、他の BASIC について具体的に尋ねています。GOTOとGOSUBがすべて揃っていたもの。すべての変数がグローバルであり、1次元配列は、可能な限り多くのデータ構造でした。Clipperは非常に高度なxBASE方言でした。正直なところ、dBASE IIIでもClipperの高度な機能がいくつ利用できたか覚えていませんが、少なくとも適切なdo-whileループがありました。
user281377

1
@ user281377答えの元のバージョンはVisual Basicについて言及していました(どこからQuickBasicを入手しましたか?)、それが私が叫んでいたことでした; P
yannis

-2

ほとんどのマイクロは、基本(ROM)またはアセンブラー開発ツールのみを備えていました。速度が重要でないプログラムの場合、BASICは多くの商用アプリケーションや社内のほとんどのプロジェクトで使用されていました。CP / Mが登場したときでさえ、より大きなプロジェクトを処理し、Microsoftの基本コンパイラ(BASCOM)を使用する機能のみが実際の拡張機能でした。初期のマイクロ開発の経験は次のとおりです。

〜1980-少しアセンブラを備えたNascom 2の Microsoft ROMベーシック。商用アプリケーション開発には、VAT(売上税)申告プログラムとプロセス制御プログラム(両方ともBASIC)が含まれていました。

198?-まだBASICを使用していますが、現在はPascal(BLS- Borland Pascalの前身)も使用しています。

1980年代半ば-PCが支配的になり始め、最初のCコンパイラが登場しました(HisoftとMix)。BASICは衰退します(MSがVisual Basicを使用することで、後にゾンビ形式で復活します)。GW-BASICは、社内開発ツールとして非常に人気がありました。多数の商用パッケージ(会計、在庫管理など)は、まだBASICで作成されています。

1980年代後半-Cが主要な開発言語になりました(1986年にリリースされたMSC 5の後?)。マイクロソフトとボーランドは今後数年間支配しています...


1
それは質問にどのように答えますか?
グナット

「はい、ベーシックは最新の70年代から80年代初期の商業開発に広く使用されていました」と質問に答えます。明らかな欠点を克服することに関して、プログラマーはこれらの欠点をその時に見なかったことに留意してください。基本はチューリング完全であるため、スマートプログラマーは必要なことは何でもできます(もちろん、主な制限は速度、メモリ、ストレージなどでしたが、これらの制限は当時のすべての開発に適用されました)。なぜこれほど多くのダウン票が、質問に答えようとしただけなのかわかりません。

あなたが言及するこれらの2つのプログラムは、これらは複数の顧客に販売されましたか(社内開発ではありません)?これらの詳細を参照できるリファレンスを共有できますか?
グナット

残念ながら多くのアプリケーション(私も紹介したものを含む)が時間の経過とともに失われました(その時点で配信するインターウェブやBBSもありません)。私はこれらが止められたカセットを失いましたが、それらは:1)ゲームではない、2)無料ではない、3)些細ではない、4)ミッションクリティカルです。それらが多くの顧客に販売されたとは言えません。Contoalアプリは特定の顧客向けであり、VATアプリは数回再販売されました。まだ下票については覗き見されています(私はピカピカと言うか、私はブヨのピッカーと言います:-))。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.