• ベストアンサー

ベーシック言語について

昔、日本で8ビットのパソコンが普及しだした頃のことですが、それらには必ずと言っていいほど ベーシックが添付されていました。このベーシックですが、コンピューターに詳しい人たちには かなり評判が悪かったように記憶しています。ベーシックのコマンドの少なさといった浅薄なことではなく、コンピューターについての思想に基づいているように思われたのですが、私には理解できませんでした。する必要と時間がなかったからですが、最近、どうにも気になりだしました。どなたか、 当時のことをご存知のかたがいらっしゃいましたら、ベーシックの悪評の理由をわかりやすく 解説していただけたらと思います。よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • ultraCS
  • ベストアンサー率44% (3956/8947)
回答No.7

パソコン用のBASICは本来のベーシック(ダートマス大でケメニーとカーツにわって作られたBASIC)から見たら大幅に機能を削ったサブセット(ともいえないくらい)だったからと言うのもあります。極論すれば、文法だけ似ているが全く別の言語だったのです。 ですから、これは似非BASICであり、VASICの範疇には入らないということです。 しかし、パソコン普及とともにこの似非BASIC、中でもゲイツの作ったBASICが普及してしまい。元々、ゲイツに好意を持たない者の多い「コンピューターに詳しい人たち」には不愉快な状況になりました。本家側は1980年代にTrue BASIC/Full BASICのような本来の仕様を踏まえた上で構造化拡張を行った言語処理系を出しましたが、パソコンにただでくっついている似非BASICとは勝負になりませんでした。 まあ、すでにいくつか投稿がありますが、当時の「コンピューターに詳しい人たち」にとってツッコミどころが多すぎる欠陥言語処理系が広がってしまうことへの器具もあると思います。

su-darabusi
質問者

お礼

回答ありがとうございます >元々、ゲイツに好意を持たない者の多い「コンピューターに詳しい人たち」には不愉快な状況になりました なにか、おもしろそうな、業界ウラ話がありそうですね。 確か、(似非)ベーシックの欠点をあげつらうことが、コンピューターに詳しいフリをする連中に流行してたような・・・・・。それとは別に、コンピューターの未来を見据えた上で、似非ベーシックは論外、本家のベーシックについて批判があったように思えるのですが、当時は気にもならず、今は、気になるだけで、さっぱり理解できません。たんに、構造、再帰、等の有無ではなく、なにゆえに、それらを必要とするのか、という話だったと思うのです。たんにプログラムの巨大化、複雑化に対応するためではないと思っていますが、後が続きません(笑) ところで >元々、ゲイツに好意を持たない者の多い「コンピューターに詳しい人たち」 なんででしょうかね

その他の回答 (7)

回答No.8

・方言が大きすぎた。 同じBASICでも機種やメーカが違うと仕様が違う。 同じ命令でも使い方が違ったりした。 ・構造化プログラミングが出来ない。 関数が無いため構造化プログラミングができない。 gotoやgosubでは行番号やラベルにジャンプするだけ ・スコープがない 変数すべてがグローバル変数。 まぁ関数が無いから当たり前だけど

su-darabusi
質問者

お礼

回答ありがとうございます >方言が大きすぎた。 そうなんですよ。同業者との打ち合わせで、オタクのパソコンのメーカーは? なんて聞いたりしました。まぁ、最近のウィンドウ〇やオフィ〇のバージョンを確認するようなものでしょうかね。天と地ほど違うとはいいませんが、ちょっとした小技が、あちらではできるのに、こちらはできない、なんてこともありました。 >構造化プログラミングが出来ない。 >スコープがない コンピューターになにをさせたくて、これらを不便と感じているのかがわかりません。(なにをさせるにも、あれば便利な機能ですが)自分は、コンピューターを電気式自動汎用算盤(計算尺)としか捕らえてこなかったので、ベーシックの手軽さが一番と思ってきました。しかし、コンピューターはそれとは別次元の機械であるらしい、とまでは最近になってわかりかけてきたものの、では、コンピューターとはなにか、なにをさせるべきものかが分からず、それを抜きにして言語の優劣を説明されても、どうにも腑に落ちないのです。

noname#208507
noname#208507
回答No.6

思想に基づいて、というならプログラムの意味論の話だったのかもしれませんね。 昔、プログラムの意味の研究が盛んだった時期があります。一般にプログラミング言語は文法を定義しますが、それでプログラムの意味までは記述できません。コンパイルが通ったからといって、そのプログラムが正しい処理をするとは限らないように。 Pascalにはホーア論理に基づく公理、Lispにはラムダ算法、Prologには述語論理(ホーン節)のように、それぞれに適した、よく知られた数学的な基盤がありました。しかしBASICには(少なくとも私は)聞いたことがありません。行番号とGOTO文を多用するプログラムは研究対象に向かなかったのかもしれません。 参考 木村, 米澤. 算法表現論. 1982. コワルスキ. 論理による問題の解法. 1987. Hoare and Wirth. An Axiomatic Definition of the Programming Language Pascal. 1973.

su-darabusi
質問者

お礼

回答ありがとうございます >思想に基づいて、というならプログラムの意味論の話だったのかもしれませんね そこまで、難しい話ではないと思います。なにしろ、ベーシックの手軽さに感激していたくらいですから ただ、素人ながらコンピューターの未来を想像したり、語ったりしたときに、コンピューターに詳しい人ほど、ベーシックを悪く言うのが不思議に思えたのでした。 算法表現論を書店に注文しました。いまさらなんの役にたつはずもありませんが、ゆっくり勉強してみます。

回答No.5

さほど悪評とは思いません。 第一それほどパソコンの能力を期待していないし実際その程度のものでしたから。 批判が有るとすればBasicによって専門家しか入れなかった領域に素人が入り込んでくるようになったこと、それまでCOBOL、Fortranで出来たことがBASICで通用しなかったことでしょう。 それまで高額な使用料を払ってマシンのスケジュールに合わせて汎用機でしかできなかったことがいつでも只で出来るようになったのですから有りがたいものですよ。 構造化できないとか再帰性がないとか書かれている方がいらっしゃいますがそれは遙に後になってからのことでしょう。 UNIX等でCが使えましたがUNIXマシンも高額で誰でも使えるものではなかったし他の言語のコンパイラーも存在しない。 せいぜい使えるのはメーカー製のアセンブラくらいだったのですから。

su-darabusi
質問者

お礼

回答ありがとうございます >それまで高額な使用料を払ってマシンのスケジュールに合わせて汎用機でしかできなかったことがいつでも只で出来るようになったのですから有りがたいものですよ はい、そりゃもう、うれしかったですよ。だから、ベーシックの悪口など専門家の学術的な話ぐらいにしか思えませんでした。しかし、コンピューターの本来や将来を考えると、ベーシックは有害だという説を聞いたり、各自の勝手ではあっても、コンピューターについての考えに基づいてのベーシック批判を聞いたことがたびたびあって、当時は世間話として聞いていましたが、歳のせいか、最近になって、もし、あの話のなかに正しい説があったとしたら、どんな言語がふさわしかったのだろうか、その言語だったら もっと、仕事が簡単になったのだろうか、などと考えるようになりました。当時のパソコンの能力からみて他にどんな選択肢があったでしょうかね。

  • kmee
  • ベストアンサー率55% (1857/3366)
回答No.4

現在の主流の言語について、どの程度ご存知でしょうか? それとの比較になるので、Basicの欠点だけ書いても理解できないかもしれません。 その場合は、書いてあることをキーワードにして調べるか、補足にその旨書いてください 大きいのは ・グローバル変数しかない ・ユーザー関数定義が、単純な計算式のものしかできない だと思います。そこから ・ 既存のプログラムを部品として使いにくい ・ 再帰的なプログラムを作りにくい ということがあります。 他には ・IF文は1行に収めなければならない(のが多かった) →やたら長い行になったり、GOTOで行ったり来たりするようなややこしいプログラムになりやすい 等もあります。

su-darabusi
質問者

お礼

回答ありがとうございます >現在の主流の言語について、どの程度ご存知でしょうか? まったく、わかりません。。。。。 フォートランの「フォ~」、とベーシックの「ベ~シ」程度です 確かに、グローバル変数しかないのは不便なことが多いです。再帰処理がしにくいです ですが、それらが、しやすい、しにくい、と、コンピューターにさせるべき仕事とに どのような関係があるのでしょうか。「できる」「しやすい」だけで説明される 言語では、「させるべき」ことが「しやすい」か疑問です。 コンピューターにできる、させたい、させるべき、を考えない言語にどのような存在価値があるのでしょうか(趣味の領域なら価値は各人で決めていいのですが)。昔のベーシックの悪評の多くは、深浅、当否はあっても各人のコンピューター感に基づいての悪口だったように思います。その頃、自分はコンピューターを電気式汎用算盤(計算尺)と思っていて、コンピューター感には無関心でしたが、昨今のハードの高性能ぶりをみて、さて、言語や、世の中のコンピューター感どうなったのだろうと思い始めているところです。

回答No.3

一言で言うと、プログラミング言語の歴史に逆行するような言語で、バグを混入しやすい言語だったということではないかと思います。また、マルチプロセスに向かない言語で、ハードウェアの機能を使うのもC言語に比べてかなり弱いと思います。当時自分もあまり理解していたわけではないですが、C言語やJavaなど他の言語を学んでから、改めてBASICを見た時を思い出して書きます。 1. 構造化プログラミングを支援する言語ではなかった IF THEN ELSEやGOTOでバンバンいろんな行にジャンプするのが当たり前で、FOR NEXTやWHILE WENDからの脱出もIF THEN ELSEでやるのが普通でした。もちろん、continueやbreakは無いですし、ラベル付きbreakもありませんでした。 よって、何も考えずに普通に書いたプログラムでは、プログラムの構造を追うのが非常に難しかったように思います。 2. スタックがなかった (多分) 2.1 サブルーチンの再帰呼び出しができない 一応basicでも、GOSUBでサブルーチンにジャンプできましたが、この再帰呼び出しが出来なかったので、GOSUB中で別の所のサブルーチンを使って元のサブルーチンを再び呼ぶようなコードが書けませんでした。このために、そういうコードを書く場合はサブルーチンなしで複雑なコードを書かなくてはならないように思います。 2.2 変数のスコープがなく、すべてグローバル変数 (多分) 自分の理解した範囲では、すべての変数がグローバル変数となり、名前がかぶったら間違った値で上書きするというのが簡単に起きていたように思います。ネーミング規則を工夫することで何とかできなくも無いですが、プログラムを書く側がそういうことを気にする時点でダメだと思います。 3. マルチユーザーを想定していないのか、タイマー関数がない (多分) BASICでプログラムを書いていた頃、スリープをする場合はsleep(n)のようなものはなく、空のfor文を回してスリープをしていたように思います。今時のプログラミング言語では、sleep関数を呼び、その間別のプロセスが処理できるようにするところだと思いますが、当時はシングルタスクOSだったので問題になかったのでしょう。 4. peek pokeくらいしかハードウェアにアクセスする方法がない (多分) C言語にはIOポートなど通常と違うメモリー空間にアクセスする方法があったように思いますが、BASICで同じような芸当ができたかは覚えていません。 FPUを使った計算やMMX命令なんかも無理だと思うのですが... 5. インタプリタ言語しかない (n88basicにはコンパイラもありましたが...) 5.1 実行が遅い C言語などコンパイルして動かす言語と比べて遅いです。今時のLLなプログラミング言語でも、結構コンパイルしてから動作していて、速いです。 5.2 文法ミスが見つけにくい ちょっとした文法ミスは実行してその文を通るまでわかりません。今時のLLな言語には、実行前にコンパイルして文法ミスを見つけるものもあります。 自分はLSI C試食版でCコンパイラも無料で使え、「BASICでプログラミングを学んだ」と言うと、いろんなプログラミングの概念が身についていないと思われる時代にプログラミングを覚え、BASICは1年しか書いていませんし、部活で趣味で書いていただけなので、仕事でBASICを使っていた方々の苦労は計り知れませんが....まあ、素人でもそれくらい気づくということで。

su-darabusi
質問者

お礼

回答ありがとうございます 記述にありますベーシックの使いにくい点は、私も同意できるものがいくつもありますが、、私の疑問は その使い難さの理由が、もしかしたら、コンピューターとはベーシックで間に合う程度の仕事につかうものなのに、それ以上のことをやろうとするから、ベーシックは使いにくいという評価になる可能性はないのか、ということです。別にベーシックを擁護しようというのではなく、コンピューターは、もっといろいろなことができる、という主張ばかりで、なにをさせるのがコンピューターにもっとも適しているのかという議論はあまりきいたことがないし、その主張に沿って作られた言語というものもきいたことがないからです。「なんのために」を不問のままで手段の優劣を競うようなもので無意味といえば無意味でしょう。それも今はまだコンピューターの歴史のなかでは初期段階で、できることの拡張、拡大の時期だからかもしれません

  • lv4u
  • ベストアンサー率27% (1862/6715)
回答No.2

>>コンピューターに詳しい人たちには かなり評判が悪かったように記憶しています。 ベーシックではない言語を使っている方たちからすれば、その性能については、イロイロと批判があったと思います。 1)実行速度が遅い。 2)コンパイラじゃあないので、実行するまでエラーが分からないことがある。 3)変数名一覧などが出ないので変数名などのパンチミスなどが分かりずらい。 4)分割コンパイルを行って、ライブラリーとして関数をまとめることが難しい。 これら意外にもあるとは思います。ただ、いろんな工夫によって、上記の制限を解決しようと皆が努力していたのも事実です。 当時は、ベーシックインタプリター(ベーシックROM)の解析本がでていたりして、それらを参考にいろいろと皆さん頑張られていました。 なお、ベーシック言語以外を使おうとすると、結構なお金が必要になることも多く、C言語が使えることが憧れだった時期もあります。また、C言語ライブラリーも不十分というかバグがあったりしたので、自分たちで追加したり差し替えて使ったりしていましたね。 ただ、当時の状況からして、ベーシックは全体的には、それほど強い悪評は無かったように思います。

su-darabusi
質問者

お礼

回答ありがとうございます。 自分は、コンピューターを電気式自動汎用算盤(あるいは計算尺)としか考えていなかったのですが、 ある本(処分してしまい、書名も忘れた)によれば、コンピュータはとんでもなくスゴイ機械で、ベーシックはその機械の可能性や未来像からみて見当違いの言語だというのです。 理解できませんでした(苦笑) そんなことは考えなくても仕事には差し支えなかったので、疑問に思ったことさえも忘れていましたが、まぁ、なぜか歳のせいか、気になりだしてきまして・・・・ ベーシックの使い難さは多くのかたが実感している(した)と思いますが、コンピューターとはいかにあるべきかを説明されてからでないと、なぜそれが使い難いのか、他の言語に比べて劣るのかがわかりません。(客の注文に応えるためには、ベーシックは使い難い、と答えが聞こえてきそうですが) >当時の状況からして、ベーシックは全体的には、それほど強い悪評は無かったように思います。 私は専ら、微分方程式の数値解を求めるのに使っていたので、ベーシックの手軽さはありがたかったです多くのユーザー(コンピューターの専門家ではない)も手軽さゆえに悪評はなかったのだと思います。

  • zwi
  • ベストアンサー率56% (730/1282)
回答No.1

コンピューターをよく理解しなくてもプログラムは簡単に動くって事が問題だったのでは?つまり詳しい知識のないプログラマーもどきが増えるのが嫌われたって事はあると思います。 それと勉強をさほどしていない人が組む場合が多かったのでプログラムな組み方が汚い・独りよがり・GOTOスパゲッティなど悪口のオンパレードになっていましたね。 まぁ、現状でも言語のHSPとかPHPとかで似た様に言われているところはあるので変わっていないかなぁとは思いますが、BASICは入門が簡単で小学生でも遊べたと言うメリットは大きかったと思うんですけどね。

su-darabusi
質問者

お礼

回答ありがとうございます。 >BASICは入門が簡単で小学生でも遊べたと言うメリットは大きかったと思うんですけどね。 同感です。 ベーシックについての悪評の多くが、軽トラックに大型トレーラーの性能が欠けているといっているようなものと思っていたのですが、ある本に(書名は失念)コンピューターとはどうあるべきかを考えると、ベーシックは見当違いな言語であるとの謂があって、さて、コンピューターの本来の姿と、それに沿った言語とは・・・・が理解できないままン十年が過ぎてしまい、今更ながら気になっているところです。 >つまり詳しい知識のないプログラマーもどきが増えるのが嫌われたって事はあると思います。 いいじゃないか。玉石混交は世の常、なんて言うと、電脳関係者には嫌われるのかな(笑)

関連するQ&A

  • 昔使っていた言語って覚えてますか

    ソフトウェアの匠という本を読んでいたら、まつもとゆきひろ氏がPrologでのプログラム解説をおこなっているのを見て、よく昔の言語なんか覚えてるなと思いました。Prologなんて大学の授業でやったくらいで、当時はプログラムも少しかけましたが、今となっては忘却の彼方。文法すら覚えていません。 記憶力がないのか、数年使っていない言語は昔よく使っていても文法すら全く覚えていないことがあります。昔使っていたけど、今は全く使っていない言語とかって今でも覚えていてすぐプログラムかけますか?言語は問いません。本を見て何日か勉強すればわかるようにはなると思いますが、その場で書いてとか言われてできますか?

  • Cellコンピューティングとは

    SONYがCellコンピューティングをPS3を核にして普及させるとの記事を見かけました。 それは従来のコンピュータの発想と明らかに異なり、MSのWINDOWSに唯一対抗できる構想のような解説がされていましたが、ネットワークがキーになることくらいしか理解できませんでした。 Cellコンピューティングとはどんな構想でしょうか。できるだけ平癒に解説していただけますか。

  • むすめーかー

    昔ちらっとプレイしたことのある18禁ゲーム・・ 昨年長年連れ添ったXPが召されて新しくWIN7が我が家にやってきたのは昨年1月でした。 もう何年も前のゲームなのですっかり記憶から消えていたのですが、久しぶりに友人の家で見てから思ったのですが、ウインドウズ7の32ビットでも動くのでしょうか? 当時はスペック上唸ってたので「こりゃ~無理だ」と思って即削除したのですが、昔より個人的に色々機能もパワーアップしたので、どうなんだろう?と思ってお聞きしました。 公式では動くらしいのですが、プレイヤーのかたのコメントを聞きたいです。 当方のPCの内容は東芝のダイナブック一体型デスクトップ OS:WIN7 32ビット メモリ:4G 容量:1TB CPU:corei5になってます。 宜しくお願いします

  • スーパーファミコンやネオジオの性能と今のPCを比べると?

    昔スーパーファミコンが16ビットでメガドライブの16ビットと並んだ、とかいうニュースに敏感に反応していましたが、その当時はその意味もさっぱりわかりませんでした。PCエンジンが8ビットマシンのくせになぜファミコンよりも綺麗なのかということもわかっていませんでした。 その後、プレステが32ビットで登場したと聞いて、そりゃすごいと思うと、 次にニンテンドー64が64ビットで売り出されたりして、 もうすごいすごいの連続でしたが、さっぱり意味はわかっていませんでした。 その一方でゲーセン向けのネオジオが 「100メガショック!ネオジオ!」とかいうようにCMなんかをしていたわけで、 これまたビットと違って意味わからん!と思っていましたが、 とりあえず知識のない人間にもコンピューターのメガやビットの数値を言われると、 すごいんだろうと納得してしまうというような感がありました。少なくとも、私には。 と、長くなってしまいましたが、PCを触るようになって、ビットがコンピュータの最小単位であり、8ビットが1バイトだということもわかり、またメモリも512MBなんかが当たり前になった今、当時の16ビットのスーパーファミコンって、非常に貧弱に見えるのですが、どうなんでしょうか? 何が16ビットなんでしょう? ネオジオの100メガというのは何だったのでしょうか?

  • 現在CDJはどの程度普及していますか?

    昔ですが楽器店でCDJという物を見かけました。CDでDJを出来るもので少し触ってみてすごいなーと驚いた記憶があります。 当時はクラブのDJといえばレコードのイメージしかありませんでした。あれから10年近く経つと思いますが現在、クラブのDJの間での普及率はどの程度なんでしょうか?

  • コンピュータの授業で聞かれたのですが・・・

    コンピュータの授業で以下のことが聞かれ、次の時間までに調べなければなりません。色々なページを見て回ったのですがよく理解すること(まとめること)ができなかったので教えてください。 1、ENIAC,EDSACの相違について比較して記述せよ。 2、コンピュータのハードウエア、OS、アプリケーションソフトウエアの関係を示し、コンピュータにおけるそれぞれの役割について述べよ。   3、1ビット全加算器について、回路簡略化の課程をベイチ図等を用いて説明せよ。 4、記憶領域100および104番地に記憶されているデータを加算した結果を110番に 記憶するプログラムをCASLを用いて記述せよ。 です。かなり悩んでいます。コンピュータは初心者中の初心者なのでできれば詳しくお願いします。

  • 荒れる成人式

    荒れる成人式が近年問題にあがりますがこれはネットの普及や マスコミがこぞって取り上げる事で問題になってますが もう15年ほど前でしょうか・・ 自分が成人式の頃はもっと荒れていた感じがしました。 一部の人間ですが酒樽を持ち込んだり警察も来た記憶があります。 今みたいに無職で逮捕なんてニュースがありましたが当時は景気がよく 普通に会社員の人でも暴れていた記憶があります。 今はろくに仕事もしないでいる無職の奴が騒ぐ 昔は風潮で「人生で1度だし騒いでもいいんじゃない」的な感じ どうでしょうか? 昔から成人式って荒れてませんでした??

  • 和辻哲郎の一文を探しています。

    40年以上前、大学受験のテキストにあった文章です。記憶では偶像再興 が題でした。探しましたが見当たりません。数行の文章でした。当時、理解 した記憶、意訳は  怒り、人間の尊厳、根底から発する怒りは神の啓示で有る。  怒りを無視してはならない 偶像再興の序言の冒頭、偶像破壊に近い内容ですが、和辻哲郎の思想を 理解する上で重要になると考え、探しています。5~6行ないし12行までの 文章だったと思います。

  • 多機能トイレが無い時代は

    昭和や平成初期には多機能トイレも普及しておらず個室のトイレも和式がほとんどだったと思いますが、昔は父親と幼い娘で出かけた際はトイレはみなさんどうしていたのでしょうか? というのも私自身が年中か年長のときに立ってする方の便器に体を抱えられて足を壁に付けて用を足させられたことがある記憶があるもので…当時は特に何も思わなかったですが大人になった今、その時周りの人にどう思われただろうなどと考えてしまいモヤモヤしています。昔は割とある光景だったのでしょうか?

  • It’s their liver について

    添付ファイル文章の It’s their liver の理解ができないです。 liver が 昔は感情や意欲の根源と考えられていた ことから、 「それがそういった人間の気質ですよ。」 ということを意味しているのかどうか 自信がないです。 解説お願いします。

専門家に質問してみよう