(Translated by https://www.hiragana.jp/)
BASIC - 维基百科,自由的百科全书

BASIC

へんほどげん

BASICぜんしょうBeginner's All-purpose Symbolic Instruction Code”,そくはつ學者がくしゃ通用つうよう符号ふごう指令しれいだい[1]),いちしゅ直譯ちょくやくしきほどじょ设计语言設計せっけいきゅうはつ學者がくしゃ使用しようてきほどしきげんざい完成かんせいへんうつし經由けいゆ编译連結れんけつとう手續てつづき經過けいか直譯ちょくやくそく執行しっこうただし如果需要じゅよう單獨たんどく執行しっこう仍然需要じゅようはた建立こんりゅうなり執行しっこう

BASIC
ざいAtari 8つくえ家族かぞくえいAtari 8-bit familyうえてきAtari BASICえいAtari BASIC(1979ねん
编程范型过程しき结构
設計せっけいしゃ约翰·かつべいあま たく马斯·库尔いばらえいThomas E. Kurtz
发行时间1964ねん
かたたい系統けいとうつよ类型
主要しゅようさく產品さんぴん
Apple BASICBBC BASICえいBBC BASICMicrosoft BASICTI-BASIC
啟發けいはつげん
ALGOL 60FORTRAN IIJOSSえいJOSS
影響えいきょうげん
COMALえいCOMALVisual BasicVisual Basic .NETREALbasicREXXPerlGRASS

BASICてき歷史れきし

编辑

1964ねん,两位美國びくに数学すうがくけん计算つくえ科学かがく约翰·かつべいあまThomas E. KurtzえいThomas E. KurtzざいFORTRAN语言てきもと础上创造りょういち种新てき语言——BASIC,BASIC一种适用于初学者的ひとつくえ交互こうごしき语言

Basicてき名字みょうじ——Beginner's All-purpose Symbolic Instruction Code(はつ学者がくしゃ通用つうようてき符号ふごう指令しれいだい码),はららい作者さくしゃうつし做BASIC,ただきさきらいかむほろ广泛てきさけべ做Basicりょう

BASIC语言本来ほんらい达特ちがや斯学しがくいんてき大学生だいがくせい们创づくりてきこう级语げん目的もくてき使大学生だいがくせい容易ようい使用しよう计算つくえつきかん初期しょきてきBASIC仅有几じゅうじょう语句ただしよし于BASICざいとう时比较容易学えきがく习,它很かい从校园走こう社会しゃかいなり为初学者がくしゃがく习计さんつくえほどじょ设计てきくび选语ごと

ずい计算つくえ科学かがくわざ术的迅速じんそく发展,とく别是ほろかた计算つくえてき广泛使用しよう,计算つくえ厂商不断ふだん在原ありわらゆかりてきBASICもと础上进行こうのう扩充,现了种BASIC版本はんぽんれいTRS-80 BASICApple BASICGWBASIC、IBM BASICA(そくBASICA)、True BASIC。此时BASICやめ经由初期しょき小型こがた、简单てきがく习语げん发展なり为功のう丰富てき使用しよう语言。它的许多こうのうやめ经能あずか其他优秀てき计算つくえだか级语げんしょう媲美,而且ゆうてきこうのう(如绘图)甚至ざい當時とうじちょう过其语言。

ざいたんへんうえまた使用しようBASICへんほど一般いっぱんこれぎょうごう類型るいけいてきBASIC),過多かたすう情況じょうきょうようあんそうBASICてきROM。

早期そうきてきBASIC语言:ざい大型おおがたつくえ小型こがたつくえ时代

编辑

さい原始げんしてきBASIC语言ざい1964ねんゆかり约翰·かつべいあまThomas E. KurtzえいThomas E. Kurtz设计,并且ざい们的ゆび导下ゆかりDartmouthてき学生がくせい实现てきとう时设计BASIC语言てき目的もくてき让学せいのうざいDartmouthてきぶん操作そうさけい统上うつしほどじょ。这种语言了解りょうかい决以ぜん语言てき复杂てき问题,而设计的いち种新てき语言。它特别针对了些新てき要用ようよういたぶん时系统ただし却没ゆう以往いおう学生がくせい样有很深厚しんこうてき数学すうがくこうそこまた对学习这些数がく识不かん兴趣てき些学せいのう使用しよういちだい电脑らい帮助教学きょうがく研究けんきゅうざい个时こう是非ぜひ常新つねしん颖的いちけん事情じじょうざいだん时间ちゅうずい其他形式けいしきてきBASIC语言てき现,にん们就KemenyKurtzてきさい原始げんしてきBASIC语言形式けいしきひと们称为Dartmouth BASIC。

BASIC语言てき8个设计原则是:

  1. 让初学者がくしゃ容易ようい使用しよう
  2. なり通用つうよう编程语言
  3. まこと许为じゅく练者添加てんかだか级的こうのうあずか此同时对はつ学者がくしゃ保持ほじ简单)。
  4. なり交互こうごしき语言。
  5. 提供ていきょう清楚せいそてき友好ゆうこうてき错误しんいき
  6. 对小がたてきほどじょはん应迅そく
  7. 需要じゅよう对硬けんてき了解りょうかい
  8. しょうよう户和操作そうさけいへだた离。

这种语言いち部分ぶぶんもとFORTRAN II一部分いちぶぶんもとALGOL 60,并且ざい此之じょう增加ぞうかりょう一些东西使之适和于分时功能。(另外拥有这种こうのうてきぶん时系统有JOSSCORC,LISP也在较小程度ていどじょうてき支持しじ这种こうのうざい它之まえ,Dartmouth研究けんきゅう开发りょうDARSIMCO(1956)DOPE(1962,实现りょうSAPDART(1963)いち个精简版てきFORTRAN II)。最初さいしょ,BASIC语言致力于简单的数学すうがく运算,ざい最初さいしょてきさく为批处理语言てき实现ちゅう就有对矩阵运さんてき支持しじざい1965ねんかんせいてきくし处理こうのう加入かにゅう其中。BASIC语言最初さいしょざい支持しじ个终はしてきGE-265大型おおがた机上きじょう实现。ざい最初さいしょ引入てきだん时间ちゅう,它是いち编译がた语言,并且效率こうりつじゅうふんだかざいGE-265大型おおがたつくえちゅうてき一些具有一定的计算上密集的(いたりしょうざいとう时是如此)てきほどじょ如用からしひろしもりほう进行すう值积ぶんてき计算效率こうりつじょう击败りょうFORTRAN IIALGOL 60。

BASIC语言てき设计しゃ为了使这种语言广为传播,决定让人めん费获とく编译们同时也こう汉诺地区ちくてき高校こうこう提供ていきょうりょう这种语言并且ざい促进BASIC语言方面ほうめんはなりょう很大てき功夫いさお。结果ゆう关于BASIC语言てき识传播的非常ひじょう广泛,并且很多てきせいづくりしょう实现,逐渐ざい一些较新的小型机像DEC PDP系列けいれつData General Novaちゅう盛行せいこうおこりらい。BASIC语言どう时也ざい20せい纪60年代ねんだいまつ70年代ねんだいはつなり为了めぐみぶん时BASICけい统的核心かくしん,另外也是Pick操作そうさけい统的核心かくしんざい以上いじょう这些れい子中こなか,BASIC语言趋向于以かい释器てき方式ほうしき实现,而不编译

ざい它发ぎょうてき若干じゃっかんねんきさき,一些非常有声望的计算机专家,とく别是もぐさ茲赫なんじ·戴克斯特ひしげおもて达了们对于使用しようGOTO语句てきほう们认为,存在そんざい包括ほうかつBASIC语言ざい内的ないてき很多语言ちゅうてきGOTO语句,かい使编写ほどじょ变得很糟糕。ゆう些人どう时也嘲笑ちょうしょうBASIC语言速度そくどふとし慢(だい多数たすう语言てきかい释型版本はんぽんようどう样的编译がたてきよう慢)あるものBASIC语言ふとし简单りょう(许多版本はんぽんとく别是为小电脑设计てき版本はんぽんしゃりょう一些重要的功能以及性能)

迅速じんそくぞう长:いえよう电脑时期

编辑

つきかんBASIC语言ざい一些小型机上使用了,ただし它真せい进入大学だいがくざい1975ねんてきMITS Altair 8800 "kit"ほろかたつくえてき引入。だい多数たすうてき编程语言需要じゅよう一个适用的文本编辑器,大量たいりょうてきないそん磁盘そら间。ただしとう时的じょう况则个时こうてきほろかたつくえぼつ有本ありもとてき编辑,仅有有限ゆうげんてきないそん以及一般将录音磁带做为磁盘储存数据。所有しょゆうてき这些问题,使つかいとくぞうBASIC样以かい释形しき运行以及拥有ないおけてきだい码编辑器てき语言のう够在这些げんせい运行。

BASIC语言どう时还具有ぐゆうてき优势就是它在些对ほろかたつくえかん兴趣てきとし轻的设计师和计算つくえ爱好しゃちゅう相当そうとうめい,以及ざい个时こうてき电子こう业中BASIC语言普遍ふへんてき使用しよう。另外KemenyKurtzざい早期そうきざい传播BASIC语言这一方面所花的努力也功不可没,ざい个时こう一些爱好者的杂志中几乎都被一段一段的提及BASIC语言てき文章ぶんしょうはま满,あるもの全部ぜんぶざい关注一个版本和其他版本的比较。

さいさきざいぞうAltair样8080つくえ中出なかいで现的BASIC语言いちTiny BASICいち个简单的BASIC语言てきてき实现,最初さいしょゆかりLi-Chen Wang博士はかせ编写,ずいきさきDennis AllisonBob Albrechtずいきさき创建りょう杂志Dr. Dobb's Journalてき要求ようきゅう移植いしょくいたAltairちゅう。Tiny BASICてき设计全部ぜんぶてきみなもとだい码都ざい1976ねん于DDJ杂志ちゅう公布こうふ出来でき

1975ねんMITS发布りょうAltair BASICゆかりBill GatesPaul Allenさく为一个叫做Micro-Softてき公司こうし开发,きさきらいMicro-Soft则发てんなりこんてんてきくわだて业巨头——ほろ(Microsoft)。最初さいしょてきAltair版本はんぽんゆかりGates、AllenMonte Davidoff共同きょうどう编写。Microsoft BASIC(ずいきさきだい人称にんしょうさくM BASICあるものMBASIC)てき一些版本马上被捆绑到最初的基于软盘的CP/M计算つくえちゅう,这种计算つくえざいしょうてきしょう业环さかいちゅう广为使用しようずいざいCP/MなかてきBASIC语言知名度ちめいどてき扩张,しんてき计算つくえ设计ちゅうどう样也引入りょう自己じこてきBASIC语言てき版本はんぽんあるものもろさけべMicro-SoftBASIC版本はんぽん移植いしょくいた们的平台ひらだいちゅう

とう三种新的个人计算机在1977ねん问世てき时候,也就Byte Magazineきさきらいしょうさく"1977 Trinity"てきだん时间,所有しょゆうてき这三种的计算机都用BASIC语言さく为他们的编程语言操作そうさ环境。Commodore Business Machines公司こうし一次性的付费买下一个移植到他们PET计算つくえてき6502しんへんちゅうMicro-Soft BASICてき一个无限授权版本,于此どうApple IITRS-80引入りょういち个新てきあずか这种语言极大相似そうじてき语言。这种相似そうじせい是非ぜひ常明つねあき显的いん为它们最开始てき50个记ごう(token)いち样的。ずいしんてき计算つくえ进入いた这个领域ちゅう,其他てきBASIC语言版本はんぽんてき加入かにゅう微妙びみょうてきあらため变了BASIC语言てき家族かぞくAtariてき8つくえ系列けいれつゆう自己じこてき,专为烧入8kBてきROMしんへん而修あらため过的Atari BASIC。BBC发布りょうBBC BASIC,ゆかりAcorn Computers为他们编うつし加入かにゅうりょう许多额外てき结构たいてき关键だい多数たすうてき十世纪八十年代的家用计算机都有一个驻留在ROMちゅうてきBASICかい释器,以此のう让计さんつくえ直接ちょくせつ引导到BASIC环境。正因まさより为这些原因げんいん,BASIC语言ゆう其他にんなん语言ようてき方言ほうげん(dialects)版本はんぽん

いん为在这一个时てきBASICてき知名度ちめいどてきじょうますいち些杂こころざし(就比如美こくてきCreative Computing MagazineかんのぼりりょうようBASIC语言うつしてきゆう戏、工具こうぐ一些其他程序的完整的代码。BASIC具有ぐゆうてき一个天生的优势,就是はた杂志じょう公布こうふてきだい码输にゅう计算つくえしかきさき运行いちけん非常ひじょう简单てき事情じじょう不同ふどうてき杂志针对不同ふどうてき计算つくえかんとうBASICほどじょただしゆう些BASICほどじょ以在不同ふどうてき计算つくえてき不同ふどうてきBASIC运行环境ちゅう运行(ゆう些时こうただ需要じゅよう一些小小的修改)。ざい个时こう,检查纠正经常かいざい杂志てきだい码中现的印刷いんさつ错误也是杂志本身ほんみてきいち个作业。

BASICほどじょ也同样在成熟せいじゅくてき书本ちゅう发布:最初さいしょてきれいDavid AhlてきBASIC Computer Games系列けいれつきさきらいてき书,就比如Learn to Program BASIC也同样将ゆう戏的ほどじょさく为书ほん导引部分ぶぶんてき重点じゅうてん

成熟せいじゅくてき语言:个人电脑时期

编辑

はやざい1979ねんほろ公司こうし就开はじめIBM协商给IBMてきPCつくえ提供ていきょういち个烧ざいBIOSさとめんてきIBM Cassette BASIC(BASIC C)。ほろ公司こうしきさきらい售了いち些在MS-DOSPC-DOSうえてきBASIC语言版本はんぽん包括ほうかつIBM Disk BASIC(BASIC D)、IBM BASICA(BASIC A)、GW-BASIC(いち个不需要じゅようIBMつくえROM以及与BASICAけんようてき版本はんぽんQuickBASIC。发布りょうTurbo PascalてきBorland公司こうしざい1985ねん发布りょうTurbo BASIC 1.0そくきさきらいてきPowerBASIC)。ほろ公司こうしどう样还编写りょう一个基于窗口的AmigaBASIC,支持しじ一个在当时非常先进的多任务图形界面的计算机Amiga computersてき1.1版本はんぽん(1985ねんまつ,1986年初ねんしょ)。

这些语言引入りょう许多对原始げんしてきよう电脑ちゅうBASICてき扩展,提供ていきょうりょうさらこのみてきくし操作そうさこうのう以及对图がたてき支持しじ,另外还有对文けんけい统的访问以及一些额外的数据类型。其中さら重要じゅうようてき则是添加てんかりょう结构编程てきこうのう包括ほうかついち原始げんし版本はんぽんちゅう存在そんざいてきりゅうほどひかえせい语句支持しじ本地ほんじ变量てきほどじょしんてき图形こうのうどう样为个人电脑ちゅうてき电子ゆう戏打てきもと础,类似DONKEY.BASてきいち些BASICほどじょ展示てんじりょう个人电脑しょ具有ぐゆうてきこうのう

ただしざい十世纪八十年代的后半段,しんてき电脑则是おこり以往いおうてき电脑拥有さら强大きょうだいてき资源ひかえせい能力のうりょく。于此どう时,计算つくえ渐渐てき从一个业あまり爱好しゃかん兴趣てき东西过渡いた一个人们日常使用的工具(主要しゅようようてき别人うつしてきだい码),所以ゆえん编写ほどじょ对用户的重要じゅうようせい渐渐减弱。当然とうぜんBASICてき重要じゅうようせい也渐渐地减弱おこりらいつきかん依然いぜん还有许多てきBASIC语言版本はんぽん。编译がたBASIC语言CBASIC仍然使用しようざい许多てきIBM 4960けい统上。

ずいほろ公司こうしVisual Basicてき发布BASICてき语言てきこう运似乎又いち次回じかい归了过来。很难确切てきVisual Basic到底とうていBASIC语言,いん为它较之まえてきばん本有ほんゆう很大てきあらため变——以基于对ぞう以及事件じけん驱动为的设计标的语言。它唯一显著的与BASIC语言しょう关的地方ちほう就是相似そうじてき语法,ただし语法本身ほんみ不能ふのう完全かんぜんてい义这种语ごといん为大多数たすうVisual Basicてき开发使用しよう「拖动-放置ほうちてき方法ほうほう,开发しゃ需要じゅよう为一些常用的物件比如按钮和滚动条去写所有的代码。这个以看なりBASIC语言てきいち种进いち些早てきDartmouth BASICてき特有とくゆうてきこうのう保留ほりゅうりょうらい如行ごうINPUT关键とうVisual Basic仍旧使用しようINPUT语句らい从文けん读取すうすえぎょうごう也同样允许用ざい所有しょゆうてきVB版本はんぽんちゅう,甚至VB.NET,仅管它不能ふのうようざいいち特定とくていてき地方ちほう如在SUB语句前面ぜんめん)。

ゆうおもむきてき,BASIC语言さい开始てき时候さく为一种初学者的语言,ほろ最初さいしょきゅうしょうVisual Basic定位ていい于向爱好しゃ提供ていきょうてきいち种语ごとただしざいVB 3.0(也是认为だい一个相对稳定的版本)发布きさきひさ就在小型こがたしょう业程じょてき使用しようちゅう迅速じんそくてき传播开来。儘管ゆう很多だか级的ほどじょ员始终在嘲笑ちょうしょう它,ただしVBせい有效ゆうこうてき符合ふごうりょう小型こがた商用しょうようほどじょてき要求ようきゅうそく重点じゅうてん简单てき开发,而运ぎょうてき速度そくど则是ようてきいんもとざい个时こう, Windows 3.1やめ经是あし够的かいりょう,很多しょう业有关的ほどじょただよう牵涉いただい量的りょうてきすうすえ,几乎以在一眨眼之间完成的,そく使使用しようてき一种非常慢的语言。许多公司こうしてきろういた发现们通过很しょうてきいち些步骤就以创けん一个小型的但是有用的程序来满足他们特定的需求。さい终,ざいVB3てき冗长てき生命せいめい周期しゅうきちゅう,对于Visual Basic识的掌握しょうあくなり为了一种非常有用的职业技能.这种语言,就像它的ぜんQBASICいち样,どう时也なり为了业余ゆう戏开发者爱的语言いち

BASICげんてき種類しゅるい

编辑

以下いか同樣どうようてき執行しっこう結果けっかただしもちい不同ふどう時期じきてきBASICてき方式ほうしきしょうつしてきはんれい

くだりごう類型るいけい結構けっこう

编辑

這是だい一代いちだいてきBASIC,れい如早BASICAGW-BASIC……とう,BASIC直譯ちょくやく。這類てきBASICほどしきてき特徵とくちょう,就是ごと一行的程式碼前面都有一個數字作為「くだりごう」。よし於這種類しゅるいがたてきBASICほどしきてきうつしほう,很容易ようい濫用らんようGOTOてき跳躍ちょうやく指令しれい,以及ほどしき碼沒ゆう辦法使用しよういたちぢみはい區分くぶんだんいん此很容易よういしるべめんじょうしきだい

10 INPUT "What is your name: ", U$
20 PRINT "Hello "; U$
30 INPUT "How many stars do you want: ", N
40 S$ = ""
50 FOR I = 1 TO N
60 S$ = S$ + "*"
70 NEXT I
80 PRINT S$
90 INPUT "Do you want more stars? ", A$
100 IF LEN(A$) = 0 THEN GOTO 90
110 A$ = LEFT$(A$, 1)
120 IF A$ = "Y" OR A$ = "y" THEN GOTO 30
130 PRINT "Goodbye "; U$
140 END

くだりごう類型るいけい結構けっこう

编辑

這是だいだいてきBASIC,れいQuickBASICPowerBASIC。這時期じき同時どうじ有功ゆうこうのう相近すけちかてき直譯ちょくやくあずかへんやくてき版本はんぽん出現しゅつげん。這類てきBASICほどしきてき特徵とくちょう使用しようぎょうごうあらため使用しようしるべくじ作為さくい跳躍ちょうやくてん(仍有GOTO指令しれいただしやめ使用しよう其他うつしほう完全かんぜん避開使用しようGOTO),あずか使用しよう函數かんすうあるふくほどしきてき方式ほうしき,以及使用しようちぢみはいはたほどしき結構けっこう[2]

INPUT "What is your name: ", UserName$
PRINT "Hello "; UserName$
DO
  INPUT "How many stars do you want: ", NumStars
  Stars$ = STRING$(NumStars, "*") 
  PRINT Stars$
  DO
    INPUT "Do you want more stars? ", Answer$
  LOOP UNTIL Answer$ <> ""
  Answer$ = LEFT$(Answer$, 1)
LOOP WHILE UCASE$(Answer$) = "Y"
PRINT "Goodbye "; UserName$

物件ぶっけんしるべむこう

编辑

這是だいさんだいてきBASIC,れいVisual BasicREALbasicStarOffice Basic。這類てきBASICほどしきてき特徵とくちょう導入どうにゅう類別るいべつ(Class)てき應用おうよう使用しよう物件ぶっけんしるべむこうてき繼承けいしょうあずかほどしき碼封そううつしほう通常つうじょう使用しよう事件じけん驅動くどうてきうつしほう,雖然下面かめん這個Visual Basic .NETてきはんれいなみよういた事件じけん驅動くどう

 
Public Class StarsProgram
    Public Shared Sub Main()
        Dim UserName, Answer, stars As String, NumStars As Integer
        Console.Write("What is your name: ")
        UserName = Console.ReadLine()
        Console.WriteLine("Hello {0}", UserName)
        Do
            Console.Write("How many stars do you want: ")
            NumStars = CInt(Console.ReadLine())
            stars = New String("*", NumStars)
            Console.WriteLine(stars)
            Do
                Console.Write("Do you want more stars? ")
                Answer = Console.ReadLine()
            Loop Until Answer <> ""
            Answer = Answer.Substring(0, 1)
        Loop While Answer.ToUpper() = "Y"
        Console.WriteLine("Goodbye {0}", UserName)
    End Sub
End Class

指令しれい

编辑

While指令しれい

编辑

Do指令しれい

编辑

For指令しれい

编辑

Goto指令しれい

编辑

Goto一種程式執行無條件跳躍的指令,ざいゆうぎょうごうてきBASICうらめんせっよう跳躍ちょうやく目的もくてきてきぎょうごうざいくだりごうてきBASICうらめんそくせっよう跳躍ちょうやく目的もくてきてき標記ひょうき名稱めいしょう

END指令しれい

编辑

よう于终とめいちBASICほどじょてき运行。

它的效果こうかゆう些类C语言さとてきexit函数かんすうところ不同ふどうてきEND带有にんなんてきさんすう,仅仅いちじょう指令しれい需要じゅよう注意ちゅういてきざいVisual Basicちゅうend(虽然区分くぶん大小だいしょううつしただし习惯ようしょううつし指令しれいよう强制きょうせい退出たいしゅつせい个程じょただし不能ふのう证完せいてき释放ほどじょしょ使用しようてき资源。よし此在退出たいしゅつぜんさいこう先手せんて动释放资源。[らいみなもと請求せいきゅう]


參考さんこう文獻ぶんけん

编辑

引用いんよう

编辑
  1. ^ Isaacson, Walter. 创新しゃ:一群技术狂人和鬼才程序员如何改变世界. よし关, よしみ伟; うし, しょうやすしこぼし译. ちゅうしん出版しゅっぱんしゅう团. : 343. ISBN 978-7-5086-7164-2. 
  2. ^ Differences Between GW-BASIC and QBasic. 2003-05-12 [2008-06-28]. (原始げんし内容ないようそん于2013-10-19). 

標準ひょうじゅん

编辑

外部がいぶ連結れんけつ

编辑

まいり

编辑