質問

私は Basic でプログラミングを始めました。 ZX81, 、 それから バシカ, GW-ベーシック, 、 そして Qベーシック. 。私は C に進みました (ああ、Turbo C 3.1 ですね、ほとんど知りませんでした...)

私がマイクロコントローラーを使い始めたとき、私は次のような問題に後退しました。 ベーシックスタンプ パララックスより。しかし、BASIC は非常に理解しやすく、間違いを犯しにくいので素晴らしかったです。追加の力 (速度、容量、リソースなど) が必要だったので、最終的にアセンブリと C に移行しましたが、ハードルがはるかに高かったら、多くの人は決してマイクロコントローラーのプログラミングに手を出さないだろうと私は知っています。

私は独自のオンチップ BASIC インタプリタを作りたくてうずうずし続けていますが、Lua と Python が簡単に埋め込み可能で、BASIC と同じくらい親しみやすい今、BASIC が必要なのだろうかと疑問に思っています。

  • BASIC が他の言語に比べて優れている場合、どのような利点がありますか?
  • なぜまだ残っているのでしょうか?
  • インタプリタを備えた汎用マイコンボードを作成することにした場合、BASIC のバージョンを作成する理由はありますか?

他の多くの言語は廃止されたと考えられていますが、BASIC は存続し続けています。

役に立ちましたか?

解決

アーキテクチャとして、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程度)。

他のヒント

[これは実際よりも否定的に聞こえることがあります。 Basicがすべての悪の根源だと言っているわけではありません。他の人が言っている。私たちはそれを残す余裕がある遺産だと言っています。]

"理解するのがとても簡単で、間違いを犯すのが難しいからですそれは確かに議論の余地があります。私はまったく不透明なベーシックでいくつかの悪い経験をしました。プロフェッショナルなもの-商用製品-完全にひどいコード。あきらめて仕事を辞退しなければなりませんでした。

" Basicが他の言語よりも優れている点はありますか?" 特にありません。

"なぜまだ存在しているのか?" 2つの理由:(1)Microsoft、(2)VBを始め、現在何百万行ものVBレガシーコードを持っているすべてのIT部門。

"他の多くの言語は死んだとみなされます..." はい。基本はCOBOL、PL / I、およびRPGと並んで、価値よりもコストがかかる場合があるレガシーです。ただし、「破損していない場合は修正しないでください」大規模ITのポリシーがあり、そこに座って、より小さく、よりシンプルで、より安価に維持できるリソースに簡単に置き換えることができるリソースを吸い上げます。 「失敗」していないことを除き、 -それは単に不均衡に高価です。

30年前のCOBOLは手直しが必要な恐ろしい状況です。 2016年からは、30年前のMS Basicに目を向けます。これは、私たちだけでは理解できず、それなしでは生きたくなく、交換方法を決めることができません。

"しかし基本的なことだけに固執し続けます 一部の人々は基本を愛しているようです。他の人は、それをさらに別の不十分に設計された言語と見なします。その利点は、市場投入が早いことと、巨大なベンダー(当初はIBM)に支えられていることです。設計が不十分で、市場投入までの期間が短いと、何十年も苦しむ遺産が残ります。

1965年版のダートマスベーシックマニュアルはまだあります。古き良き時代が待ち遠しい。

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

http://jumentum.sourceforge.net/

micrcontrollersのオープンソースBASICです

eluaプロジェクトは、マイクロコントローラーにとってもluaです

http://elua.berlios.de/

BASICは、特にSTAMP実装で持続します。これは、他のほとんどの学習しやすいプログラミング言語よりも低レベルだからです。ほとんどの組み込みBASIC実装では、BASIC命令は単一またはグループのマシン命令に直接マップされ、オーバーヘッドはほとんどありません。 「高レベル」で記述された同じプログラムLuaやPythonのような言語は、それらの同じマイクロコントローラー上ではるかに遅く動作します。

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

良い質問...

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

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

さらに、両方とも「標準化」されています事実上。多くのバリエーションがあるBasicとは異なり、方言はありません(さまざまなバージョンのほかに)。

また、どちらも注意深く、効率的で(ほとんど)バグのないVMを作成しました。独自のインタープリターを作成する場合は、既存のVMを取得し、基本ソースからバイトコードを生成するか、独自のVMを作成する必要があります。確かに楽しいものですが、時間がかかり、バグが発生しやすい...

だから、私はBasicにいい退職をさせただけだ... :-P

PS .:なぜ止まっているか?おそらくマイクロソフトはそれとは異質ではありません...(VB、VBA、VBScript ...)
周りには多くの方言(RealBasic、DarkBasicなど)があり、聴衆もいます。

ロッキングチェアに座る老人二人のように聞こえるかもしれないが、「今の子供たちは BASIC の良さを理解していない」と不機嫌そうに言ってから、逆説的に「彼らは BASIC の良さを分かっていない」と言わせてください。

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

BASIC を実装したいと言うとき、あなたは行番号付きの BASIC について話しているのではなく、構造化された形式について話していると思います。問題は、構造化プログラミング (関数) に移行し始めるとすぐに、「なぜ」ということです。 できない その場所にGOTOしただけですか?』など。-- BASIC に、たとえば Python に対してどのような利点があるのか​​、まったく不明瞭になってきています。

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

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

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

まあ、これらの人々は、ベーシックがモバイル空間にまだ存在しているだけでなく、お金を稼ぐことができると考えているようです:

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

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

  

他の多くの言語は   死んでいると考えられますが、基本はそのままです   ぶら下がります。

残念です。ビル・ゲイツがこれを非難した... BASICは担架に乗っていて、司祭が最後の儀式を言っていたので、MSはそれを天然poのように持ち帰った。

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

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

とはいえ、今日のBASICには、BASICインタープリター(LLVMなどを使用するコンパイラーでさえも)を作成するためのかなりの理論的根拠があると思います。 QBasicに似たものを実装すると、簡潔で使いやすく、高速な言語が得られます。言語設計の問題を解決する必要はありません。最良の部分は、すでにあなたの言語を知っていることです。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top