7

ZX81の Basic でプログラミングを開始し、次にBASICAGW-BASIC、およびQBasicを使用しました。私はCに移りました(ああ、Turbo C 3.1、私はあなたをほとんど知りませんでした...)

マイクロコントローラを使い始めたとき、私はParallaxのBASIC Stampで後退しました。しかし、BASIC はとてもわかりやすく、間違えにくいので、すごかったです。追加のパワー (速度、容量、リソースなど) が必要だったので、最終的にはアセンブリと C に移りましたが、ハードルがはるかに高い場合、多くの人がマイクロコントローラーのプログラミングに取り組まないことを私は知っています。

独自のオンチップ BASIC インタープリターを作りたくてうずうずしていますが、Lua と Python が簡単に組み込み可能であり、BASIC と同じくらい親しみやすいので、BASIC の必要性があるのではないかと思います。

  • BASIC が他の言語より優れている点があるとすれば、それは何ですか?
  • なぜそれはまだあるのですか?
  • インタプリタ付きの汎用マイコンボードを作ることにした場合、BASIC版を作る理由はありますか?

他の多くの言語は死んだものと見なされていますが、BASIC は存続し続けています。

4

9 に答える 9

11

[これは、実際よりもネガティブに聞こえるかもしれません。Basic がすべての悪の根源だと言っているのではありませ。それは私たちが後世に残す余裕のある遺産だと言っているのです。]

「それはとても理解しやすく、間違いを犯すのがとても難しかったからです」それは確かに議論の余地があります. 私は完全に不透明な基本でいくつかの悪い経験をしました。プロのもの - 商用製品 - 完全にひどいコード。仕事をあきらめて辞退しなければなりませんでした。

「Basic が他の言語より優れている点があるとすれば、それは何ですか?」 なし、本当に。

「なんでまだあるの?」 理由は 2 つあります。(1) Microsoft、(2) VB の使用を開始し、現在は数百万行の VB レガシー コードを所有しているすべての IT 部門。

「他の多くの言語は死んだと考えられています...」 うん。基本は、COBOL、PL/I、および RPG と並んで、価値よりもコストがかかる場合があるレガシーとして存在します。しかし、大規模な IT の「壊れていない場合は直すな」という方針のために、彼らはそこに座って、より小さく、よりシンプルで、維持するのに安価なものに簡単に置き換えることができるリソースを吸い上げています。「失敗」していないことを除いて、それは不釣り合いに高価です.

30歳のCOBOLは手直しが大変な状況です。2016 年からは、30 年前の MS Basic を検討することになります。これは、理解できず、それなしでは生きたくなく、交換方法を決定できません。

「でも、ベーシックはずっと使い続けている」ベーシックが好きな人もいるようです。他の人は、それをさらに別の貧弱に設計された言語と見なしています。その利点は、早期に市場に投入できることと、巨大なベンダー (当初は IBM) に支えられていることです。設計が不十分で、市場投入が早いということは、何十年にもわたって苦しむことになる遺産を私たちに残すだけです.

1965 年版の Dartmouth Basic マニュアルを今でも持っています。私は古き良き時代を切望していません。

于 2008-10-28T18:24:02.937 に答える
7

アーキテクチャーとしての BASIC の名声の主な主張は、BASIC インタープリターを非常に小さく (わずか数 KB) 作成できることです。DG Nova の時代には、Business BASIC などのシステムを使用して 64K (またはそれ以下) の RAM を搭載したマシンでマルチユーザー アプリケーションを構築できたので、これは勝利でした。

BASIC (特に VB) はレガシー システムであり、大規模な既存のコード ベースがあります。間違いなく、VB は、BASIC に似た構文を持つ言語 (COM のシン ラッパーと言う人もいます) です。最近では、人々が慣れ親しんでいる言語とは別にこの言語を維持し、既存のコード ベースを維持する理由はほとんどないと思います。確かに、新しい開発を推奨するつもりはありません (VB.Net は実際には BASIC ではなく、VB に似た構文を持っていることに注意してください。型システムは VB のように壊れていません。)

コンピューティングの世界に欠けているのは、学習操作が簡単で、メインストリームのアプリケーション開発でマインドシェアできる適切な言語です。私は 8 ビット マシンの時代に育ちましたが、これらのシステムでのプログラミングへの参入障壁は非常に低かったです。マシンのアーキテクチャは非常にシンプルで、これらのマシン上で多かれ少なかれ関連するアプリケーションをプログラムして書くことを非常に簡単に学ぶことができました。

現代のアーキテクチャははるかに複雑で、学ぶべき大きな問題があります。BASIC や 8 ビット コンピュータの時代のように、子供たちがプログラミングを簡単に学べないことを誇張している人々を見ることができますが、その議論にはある程度のメリットがあると思います。プログラミングを行うのが少し難しくなる穴のようなものが残っています。ここではおもちゃの言語はあまり役に立ちません。プログラミングが魅力的であるためには、学習している言語に関連するものを構築することを熱望できる必要があります。

これは、子供にとって学習しやすい言語でありながら、実際に必要な関連プログラム (またはゲーム) を作成できる言語の問題につながります。また、関連性があると広く認識されている必要があります。

これに最も近いのは Python です。それはそのタイプの言語の唯一の例ではありませんが、それは最も多くのマインドシェアを持つものです - そして (IMO) このニッチでプレーするには関連性の認識が必要です. また、私がこれまでに経験した中で最も習得が容易な言語の 1 つでもあります (長年使用してきた 30 ほどの言語の中で)。

于 2008-10-29T11:04:48.017 に答える
2

BASIC は、他のほとんどの非常に習得しやすいプログラミング言語よりも低レベルであるため、特に STAMP 実装で存続します。ほとんどの組み込み BASIC 実装では、BASIC 命令は単一またはグループのマシン命令に直接マップされ、オーバーヘッドはほとんどありません。Lua や Python などの「高水準」言語で記述された同じプログラムは、同じマイクロコントローラーでは実行速度がはるかに遅くなります。

PS: PBASIC のような BASIC バリアントは、名前が似ているにもかかわらず、たとえば Visual BASIC とほとんど共通点がありません。それらは非常に異なる方法で分岐しました。

于 2008-11-25T04:38:06.013 に答える
2

Jumentum を試してみて、それがどのように機能するかを確認してみませんか?

http://jumentum.sourceforge.net/

これは、マイクロコントローラ用のオープン ソース BASIC です。

elua プロジェクトは、マイクロコントローラー用の lua でもあります。

http://elua.berlios.de/

于 2008-11-08T23:33:44.317 に答える
1

良い質問...

基本的に(原文のまま!)、私には答えがありません。Lua は習得が非常に簡単で、おそらく Basic (私の最初の言語の 1 つであり、多くの 8 ビット コンピューターで方言を使用していました...) と同じくらい簡単ですが、より強力です (OO を許可します)。または機能的なスタイルとそれらを混合することさえあります)そしてどういうわけかより厳密です(後藤はありません...)。

Python についてはよくわかりませんが、読んだ限りでは、Lua と同じくらい簡単で、強力で、厳密です。

さらに、どちらも事実上「標準化」されています。多くのバリアントを持つ Basic とは異なり、(さまざまなバージョン以外に) 方言はありません。

また、どちらも慎重に作成された VM で、効率的で、(ほとんど) バグがありません。独自のインタープリターを作成する場合は、既存の VM を使用して Basic ソースからバイトコードを生成するか、独自のインタープリターを作成する必要があります。確かに楽しいものですが、時間がかかり、バグが発生しやすいです...

だから、私はベーシックに素敵な引退をさせてあげたいと思います... :-P

PS .: なぜハングアップしているのですか? おそらく、Microsoft はそれとは無関係ではありません... (VB、VBA、VBScript...)
周りには多くの方言 (RealBasic、DarkBasic など) があり、一部の聴衆もいます。

于 2008-10-28T17:59:19.320 に答える
1

ロッキングチェアに座っている 2 人の昔ながらの人のように聞こえるかもしれませんが、「今日の子供たちは BASIC を評価していない」と不機嫌そうに言い、逆説的に「彼らは自分たちがどれだけ BASIC を持っているかを知らない」と言います。

BASIC の最大の強みは常にその分かりやすさでした。それは人々が得ることができるものでした。それは学者や言語開発者によって長い間無視されてきました。

BASIC を実装したいという話は、行番号付きの BASIC についてではなく、構造化されたフォームについて話していると思います。それに関する問題は、構造化プログラミングに移行し始めるとすぐに (関数、「なぜその場所に GOTOできないの?」など)、BASIC がどのような利点があるかが本当に不明確になることです。 、たとえば、Python。

さらに、BASIC が「簡単に理解できる」理由の 1 つは、当時のライブラリが今日ほど重要ではなかったからです。ライブラリは、オブジェクト指向プログラミングではないにしても、構造化を意味します。そのため、より現代的な動的スクリプト言語が、今日の人々がよりよく行っていることの現実に「適合」しているという状況に再び陥っています。

本当の質問が「まあ、インタープリターを実装したいので、結局は投資収益率になる」ということであれば、実際に実装しやすい文法の問題になります。この点に関しても、BASIC にはそれほど多くの利点がないことをお勧めします (実際に行番号と非常に限られた文法に戻らない限り)

要するに、BASIC インタープリターに労力を費やすべきではないと思います。

于 2008-10-28T18:02:35.273 に答える
1

まあ、これらの人々は、基本的なことがモバイル空間でまだ場所を持っているだけでなく、それでお金を稼ぐことができると考えているようです:

http://www.nsbasic.com/symbian/

于 2008-10-28T21:27:54.797 に答える
1

私もZX81から始めました。しかし、Tony Hoareが言ったように、BASIC でプログラミングすることは、ローマ数字を使って長い割り算をしようとするようなものです。

他の多くの言語は死んだと見なされていますが、基本的な言語は存続し続けています。

悲しいことに、そうです。これはビル・ゲイツのせいだ...BASICは司祭が最後の儀式を言ってストレッチャーに乗っていたが、MSはそれを天然痘のように持ち帰った。

于 2008-12-20T22:03:43.830 に答える
0

私は QBasic の時代に BASIC でプログラミングしていました。QBASIC にはサブルーチン、関数、構造体 (以前は型と呼ばれていました) があり、それでおしまいだと思います。さて、これは、Python が持つすべての機能 (オブジェクト指向、ラムダ、メタクラス、ジェネレータ、リスト内包表記など) と比較して制限されているように思えます。でも、そのシンプルさがBASICの強みだと思います。組み込み可能な単純な言語を探しているのであれば、QBasic の方が高速で理解しやすいと思います。また、ほとんどの埋め込み/スクリプト タイプのアプリケーションには、おそらく手続き型言語で十分です。

BASIC がまだ存在している最も重要な理由は、Visual Basic にあると思います。90 年代の長い間、VB は Windows 用の GUI、COM、および DB コードを記述する唯一の方法であり、C++ Turing のターピットに陥ることはありませんでした。[Delphi も良い選択肢だったかもしれませんが、残念ながら VB ほど普及することはありませんでした]。BASICがまだ死んでいないのは、このVBおよびVBAコードがまだ使用および維持されているためだと思います。

そうは言っても、今日の BASIC 用に BASIC インタープリター (おそらく LLVM などを使用するコンパイラーでさえも) を作成することには、かなりの正当な理由があると思います。QBasic に似たものを実装すると、クリーンでシンプルで使いやすく高速な言語が得られます。言語設計の問題を解決する必要はありません。最良の部分は、人々が既にあなたの言語を知っていることです。

于 2008-10-28T17:58:50.833 に答える