日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

辛苦了,這么多的basic

 quasiceo 2014-01-02

BASIC 語言大家族

38類Basic語言,你沒見過這么多的吧?包括出名的 QBasic,O'Basic,FreeBasic,JavaBasic,RealBasic等,絕對全,值得一看●BASIC語言大家族

BASIC語言是我最初接觸的計(jì)算機(jī)語言,QuickBasic是我覺得最精致的語言開發(fā)環(huán)境(小巧,集編輯器、解釋器、調(diào)試器于一身)。QuickBasic(或者DOS 6.22的QBASIC)語法有些獨(dú)特的地方,對初學(xué)者或許不是很友好,但是使程序顯得非常簡潔,一旦熟悉之后可以提高程序編寫效率:

  1. 調(diào)用sub或者function(以下統(tǒng)稱函數(shù)),既可以用aFunction(par1, par2),也可以用aFunction par1, par2。我只見過matlab中有這樣的用法。
  2. 內(nèi)建函數(shù)、語句支持缺省參數(shù),中間的缺省參數(shù)用","跳過,末尾的缺省參數(shù)當(dāng)然是不用寫出來。還沒有見過其它語言可以這樣處理函數(shù)的參數(shù),更不用提可以自己定義這樣的函數(shù)了。
  3. 自定義數(shù)組起始下標(biāo)。

除了由QuickBasic直接發(fā)展而來的VB、VBA、VB Script系列,BASIC語言的愛好者們開發(fā)了各種BASIC/類BASIC的語言和解釋/編譯器,這里列出一些free的:

  1. FreeBASIC(簡稱fbc) 試圖在開源社區(qū)開發(fā)兼容QuickBasic語法的BASIC程序編譯器,添加了新內(nèi)容,但是對語法和語義都做了一些修改,開發(fā)過程中逐漸背離了最初的原則。fbc可以自己編譯自己的源程序,運(yùn)行在Windows、DOS和Linux平臺上。
    • Visual wx-c Developer是針對wxWidgets(即之前的wxWindows)的form designer。使用FreeBASIC+wxWidgets編寫。
    • RadASM只針對windows平臺、使用windows原生控件的form designer。
    • Wallace Visual Editor這個(gè)form designer所有的控件都是用FBC自己畫的,所以肯定是多平臺的。
    • freebasic editor沒錯(cuò),它就叫這個(gè)名字,是一個(gè)IDE,帶有簡單的form designer,只針對windows平臺、使用windows原生控件。作者同時(shí)也寫了RapidQ的IDE+form desinger: RqWork
    • A FREE FreeBasic GUI Sample designer一個(gè)相當(dāng)難用的form designer,主要是——我不知道怎么用它,哈哈。使用ASCII方式設(shè)計(jì)form倒是其次。
    • FBIde:使用C(不是FreeBASIC喔)+wxWidgets編寫的IDE,2006年10月,作者擱置這個(gè)項(xiàng)目的開發(fā),看來是沒有指望讓它支持程序調(diào)試了。我不喜歡gdb,在FreeBASIC的論壇上也有一些人提到開發(fā)fbc的解釋程序,用于嵌入其他項(xiàng)目或者幫助FreeBASIC的程序調(diào)試,但是一直沒有足夠的重視。
    • FbEdit:06年底,又冒出了這個(gè)用fbc實(shí)現(xiàn)的fbc的IDE。
  2. Cheesecake BASIC 一個(gè)可以解釋自己源程序的BASIC語言解釋器。語法與QB基本兼容。實(shí)際上,它自身的源程序混合了大量類似C語言的預(yù)處理,通過網(wǎng)站上的了一個(gè)程序,把這個(gè)源程序轉(zhuǎn)換成Qb45、Cheesecake BASIC或者PureBasic程序。可以把源程序包裹成exe文件,正在用C語言開發(fā)虛擬機(jī),將使Cheesecake BASIC程序能夠運(yùn)行在其他OS上。2007年1月編輯:可以從這個(gè)網(wǎng)站下載,但是看上去網(wǎng)站從2005年到現(xiàn)在都沒有更新過,C語言的虛擬機(jī)成為空話了。
  3. wxBasic 支持wxWidgets的解釋型BASIC語言,Linux、Windows雙平臺,可以發(fā)布包裹好的可執(zhí)行文件。Ducke的wxEditor是由wxBasic寫成的IDE,且?guī)Ш唵蔚膄orm editor。
  4. sdlBasic 基于wxBasic代碼,支持SDL的解釋型BASIC語言。已有程序可以把sdlBasic源代碼轉(zhuǎn)換成C代碼,這樣就可以發(fā)布可執(zhí)行文件了。比較討厭的是,sdlBasic的程序總是附帶2個(gè)字庫。
  5. Basic4GL 支持OpenGL的BASIC語言,解釋執(zhí)行,只支持win98及更高版本W(wǎng)indows??梢园言闯绦虬蒭xe文件發(fā)布。2006年8月20號的2.4.3版本,支持調(diào)用C++編寫的dll。難道它想做成通用的BASIC開發(fā)語言?
  6. SmallBASIC 解釋型BASIC語言,數(shù)學(xué)運(yùn)算和圖形功能比較強(qiáng),除了PC之外,PalmOS上也有移植。為了程序編寫方便等等原因,作者改動(dòng)了不少BASIC語言的關(guān)鍵詞,所以用SmallBASIC書寫的程序看上去怪怪的。
  7. Yabasic PC、PS2平臺都有出現(xiàn)。Windows、Linux下一樣可以發(fā)布可執(zhí)行文件。文檔中提到用于隱藏運(yùn)行腳本時(shí)出現(xiàn)的DOS窗口的RUN,可以用來發(fā)布所有的解釋執(zhí)行的腳本程序——我認(rèn)為用批處理的方式發(fā)布自己的程序看上去比較傻。
  8. Gambas 只支持Linux的解釋型BASIC,號稱Linux下的VB。從IDE到界面設(shè)計(jì),都是全的。
  9. KBasic 這個(gè)猛,支持Windows/Linux,據(jù)說是100%支持QB、VB的語法。從IDE到界面設(shè)計(jì),都是全的。不是開源的,個(gè)人版免費(fèi),專業(yè)版收費(fèi)。不支持win98,所以沒有試驗(yàn)。
  10. XBasic 支持Windows/Linux,帶IDE,可以編譯成可執(zhí)行文件。不過太久沒有開發(fā)了,語法與BASIC差距較大,而且IDE自身、編譯生成程序的界面古怪,不是Windows標(biāo)準(zhǔn)GUI的樣子。
  11. xblite 基于XBasic代碼開發(fā),只支持Windows平臺,并為開發(fā)Windows平臺應(yīng)用程序做了改進(jìn)。

    有哥們?yōu)槠溟_發(fā)了界面設(shè)計(jì)工具。

  12. SheerPower 4GL 又一個(gè)自稱第四代語言的家伙(另一個(gè)是forth語言,結(jié)果現(xiàn)在就只有在嵌入系統(tǒng)中用的比較廣)。除了它的"精確的數(shù)字計(jì)算"之外,沒發(fā)現(xiàn)有什么優(yōu)于別的BASIC的地方。非商業(yè)運(yùn)用是免費(fèi)的,否則需要支付高的驚人的費(fèi)用購買使用權(quán)。只支持Windows,解釋執(zhí)行,可以編譯成偽代碼隨虛擬機(jī)一起發(fā)布。
  13. RapidQGambas還早的仿VB的BASIC開發(fā)環(huán)境,免費(fèi)軟件。多平臺,編譯成字節(jié)碼運(yùn)行,發(fā)布的程序只有單個(gè)的可執(zhí)行文件和一些數(shù)據(jù)文件,而不需要額外的動(dòng)態(tài)連接庫。軟件不錯(cuò),于是作者被挖,開發(fā)RealBASIC這個(gè)商品BASIC語言的IDE、跨平臺插件,RapidQ停止更新。很可惜RapidQ不是開源的 :(
    這里是國人的一個(gè)RapidQ站點(diǎn),資料總在更新。
  14. Decimal BASIC 完全遵循ANSI標(biāo)準(zhǔn),運(yùn)行在windows上的BASIC解釋程序。比標(biāo)準(zhǔn)多提供了圖形函數(shù)、矩陣支持、復(fù)數(shù)支持。可以在一般的數(shù)字和有理數(shù)之間切換,這樣可以得到數(shù)學(xué)上的精確結(jié)果(比如1/3就是1/3,而不是0.33333)。好像可以扔掉SheerPower 4GL了,hiahia,第四代語言,笑死了。
  15. 99BASIC 日語自由軟件。老式的BASIC開發(fā)環(huán)境:F1是list,F(xiàn)5是run......。運(yùn)行在windows上,提供了一些圖片、文字、wav/mid媒體文件的支持,看上去很不錯(cuò)——至少在軟件發(fā)布的2002年。
  16. ActiveBasic windows上的日語軟件。特點(diǎn)?類似一整套VB??梢跃幾g成exe(但是我沒有實(shí)驗(yàn)成功,每次編譯,一個(gè)窗口一閃而過,看不清上面寫了什么,沒有exe輸出)。作者肯定是在里面添加了限制使用windows版本的代碼,他承諾的英文版也遲遲不見動(dòng)靜。
  17. O'Basic Windows上的BASIC,與標(biāo)準(zhǔn)BASIC不同,支持剪貼板、OLE......(感謝FatCatHu提醒)。
  18. JustBasic 商業(yè)軟件Liberty BASIC的 簡化版,運(yùn)行在windows系統(tǒng)上,可以產(chǎn)生、而不是編譯成可執(zhí)行文件(感謝FatCatHu提醒)。注意:在中文windows上,1.01版本的源程序只能IDE中解釋執(zhí)行,產(chǎn)生的TKN文件運(yùn)行報(bào)錯(cuò),開發(fā)者承諾1.02版改正這個(gè)bug。自帶了Form designer的源代碼,是學(xué)習(xí)這個(gè)語言的好參考文件。2006年過了大半了,還沒看到1.02。主頁上也把論壇連接放到了隱蔽的地方,我猜測Liberty BASIC的銷售不好了。
  19. LGP Light Game Programming,使用DirectX開發(fā)windows游戲,只有日語文檔。函數(shù)名中總是有@符號(比如G@SETUP,F(xiàn)@OPEN……),看上去好不習(xí)慣。自稱是編譯型的BASIC語言,不大可能!
  20. MoonRock 先把源程序翻譯成asm語言,然后通過匯編程序產(chǎn)生DOS下的可執(zhí)行文件,可執(zhí)行文件因此個(gè)頭很小。個(gè)人可以free使用源代碼。
  21. MediaBASIC 一個(gè)新的windows下的BASIC語言,用Delphi編寫,寫信給作者的話可以獲得源代碼。
  22. envelop 也是一個(gè)具有一定規(guī)模、可用的BASIC語言,IDE、layout俱全,可惜不開發(fā)了。官方在準(zhǔn)備專職其他方面的工作之后,打算轉(zhuǎn)讓envelop的版權(quán),但是只在軟件中留了電話信息。之后,版權(quán)被Janus Software獲得,但是他們也只是在很多年以前出了一個(gè)linux版,把軟件名字改成Phoenix Object Basic,就再沒有動(dòng)靜了,給他們寫信問詢,沒有消息,又一個(gè)軟件死亡了。
    envelop,不會用,看不懂文檔、學(xué)不會,哈。
  23. SpeedBASIC 運(yùn)行于windows平臺,IDE(代碼折疊、高亮、提示、自動(dòng)完成)、form designer俱全。把BASIC代碼翻譯成C++代碼,因此需要一個(gè)C++編譯器。語言自身還有待完善。如果域名解析錯(cuò)誤,請?jiān)L問這里
  24. JavaScript BASIC Interpreter 網(wǎng)頁上的BASIC解釋程序。
  25. JavaBASIC 把類BASIC語言編譯到JAVA的class文件(這樣可以開發(fā)手機(jī)軟件),提供了游戲接口
    Remtris
  26. RealBASIC 其實(shí)standard版本對Linux用戶免費(fèi),因?yàn)楣究吹搅薼inux下存在很好的類似VB開發(fā)工具(不知是不是指Gambas,難道還有其他我不知道的?),所以作出了明智的決定。優(yōu)點(diǎn)是一個(gè)源程序可以在Windows、Mac、Linux上通吃(標(biāo)準(zhǔn)版和專業(yè)版),而且在這3個(gè)平臺上其實(shí)也可以編譯到任何一個(gè)平臺上的可執(zhí)行文件(僅限專業(yè)版);相比VB,RealBASIC的開發(fā)工具是綠色的,編譯出來的可執(zhí)行文件也是綠色的;售價(jià)便宜。缺點(diǎn)是,編譯出來的可執(zhí)行文件的個(gè)頭比較大,都是2M以上的(因此我懷疑,它并不是如宣傳中所說的編譯到native code,而仍然只是對某種字節(jié)碼的打包),但是比使用.NET的怪獸小多了;調(diào)試不方便;編譯速度慢。
    公司很會做市場,在微軟準(zhǔn)備停止支持VB6以便讓新語言VB.NET殺死老VB、Borland將出售旗下IDE業(yè)務(wù)消息出來以后,馬上在網(wǎng)站上為VB6和Delphi用戶推出免費(fèi)獲得標(biāo)準(zhǔn)版RealBASIC的活動(dòng),而實(shí)際上活動(dòng)期間任何人都可以同樣地獲得該產(chǎn)品。然而,我認(rèn)為RealBASIC要想真正達(dá)到VB或者Delphi的程度,還有很長的路要走(比如在2006年才支持了UDT)。
    順便一提,我無意間找到了RealBASIC中國代理公司頭頭的blog。在國內(nèi)一年銷售¥20萬還是有點(diǎn)困難的,祝他好運(yùn)吧 :)
    還得說一下,MSN等等地方的blog空間都需要注冊用戶才可以回復(fù),真是垃圾。
  27. BCET Basic Compile to Expression Tree,把BASIC源代碼編譯到匯編語言,然后用MASM編譯成可執(zhí)行文件,可以寫gui程序。作者打算兼容QuickBASIC/QBasic/PDS/VBDOS的源程序,不過有段時(shí)間沒有更新了。
  28. BCX 將BASIC源代碼編譯到C代碼,這樣就可以用C編譯器(比如LCC、Pelles C,而不是在TC世界考古)編譯了。
  29. ExtremeBasic 作者Andrew Barry不滿意現(xiàn)在的BASIC越來越強(qiáng)大的時(shí)候,丟棄了易用性,于是寫了這個(gè)軟件,試圖在IDE中解決所有的問題(換句話說,還是再造一個(gè)VB)。目前還是很初級,而且ExtremeBasic使用的是自己定義的一種BASIC方言,所以看上去有些奇怪。提供的例子中,編譯IDE的時(shí)候ExtremeBasic crash了。
    IDE本身使用了QT庫,所以是跨平臺的(Windows/Linux/Mac os);可以說它定義的BASIC語言也是跨平臺的,因?yàn)樗袯ASIC翻譯為C/C++,然后借助MingWExtremeBasic自帶)編譯成可執(zhí)行文件,編譯好的可執(zhí)行文件不依賴于QT。只需要把MingW目錄整個(gè)放到IDE可執(zhí)行文件相同的目錄(因?yàn)檐浖腷ug,不能是中文目錄、長文件名目錄中)中,就會自動(dòng)尋找編譯器,而不需要設(shè)置環(huán)境變量。
    八卦一下,是Andrew Barry編寫了上面提到的RealBASIC,但是不曉得他為什么離開這個(gè)公司、然后新開發(fā)免費(fèi)的ExtremeBasic。
    順帶說一下,受ExtremeBasic等等軟件的影響,有人在開發(fā)banteng - Cross Platform Visual Javascript??凑f明,似乎是要借助GCJ,開發(fā)可編譯到本地代碼的、運(yùn)行庫小巧(<10M)的JAVA開發(fā)環(huán)境。說實(shí)話,我很討厭JRE、.NET framework,覺得它們都是又丑又大的東西,它們之上的的程序除了程序員用用之外,不適合普通用戶。
  30. 中文VB6 Working Model Edition 回到我最喜歡的VB。這個(gè)版本很特殊,它是為一些VB學(xué)習(xí)書籍專門制作的,只能夠解釋運(yùn)行程序,不能編譯到exe。據(jù)說是全功能的,不過似乎debug都不能用?;旧鲜蔷G色的,而且不過超過15M。有空看看能不能把VB專業(yè)版的編譯工具提取出來。微軟曾經(jīng)的產(chǎn)品多么地小巧,這個(gè)特殊版本的VB證明它仍然具有制作小巧綠色軟件的能力,可是為什么非要制作現(xiàn)在越來越大的windows、.NET和開發(fā)工具呢?蓋子腦袋壞了。
  31. CoolBasic 面向游戲開發(fā)的Basic語言,在我的機(jī)子上運(yùn)行太慢了(不論是IDE還是編譯之后的exe)。更新似乎停滯了。
  32. thinBasic 使用商業(yè)軟件Power Basic開發(fā)的免費(fèi)BASIC解釋程序。TBGL是為它專門開發(fā)的、基于OpenGL的3D引擎,版權(quán)未知。
  33. Euphoria 自3.0.0起,這個(gè)曾經(jīng)的商業(yè)開發(fā)軟件是開源的了。它可以開發(fā)DOS、Windows、Linux下的程序。這是解釋型的語言,但是自稱其解釋器比Perl、Python快了至少30倍。附帶工具可以把Euphoria轉(zhuǎn)換成各種WATCOM C、LCC、Pelles CMingW等等C語言編譯器支持的源代碼和項(xiàng)目文件,自稱這樣編譯的可執(zhí)行文件,速度比解釋執(zhí)行快至少2倍。
    如果你只開發(fā)Windows上的程序,那么可以使用Win32Lib(但是注意,它這里面封裝的函數(shù),和VB、VC使用的那一套的命名不一致)。這樣的話,你有2個(gè)包含界面功能的IDE:Andy Drummond的EuVIDE 0.22.0 Setup Program(這個(gè)似乎沒有主頁,不開源)或者Judith Evans的EuVide(這個(gè)開源,但是它的鼠標(biāo)操作在我的計(jì)算機(jī)上似乎失效了),他們都基于David Cuny的代碼改寫,所以很相象。順便一提,這2個(gè)是少有的(無論商業(yè)軟件還是freeware),雙擊控件會自動(dòng)添加事件綁定代碼的IDE。
  34. QuickerBasicFreeBASIC還早的、打算兼容QB的編譯器,我覺得它對QB語法的改變比FreeBASIC還大。但是作者的開發(fā)一直不順,在距第一個(gè)公開版本(解釋器)2年之后的2006年10月才公布另一個(gè)版本。FreeBASIC的論壇上有人宣稱“我們有了競爭對手”,在這個(gè)帖子里,v1ctor宣布在fbc 0.17發(fā)布之后,因?yàn)樯眢w等原因(唉,我就是不想走程序員這條路?。┧麑簳r(shí)退出開發(fā),項(xiàng)目交由社區(qū)熱心人士管理;在這個(gè)帖子里,QuickerBasic的作者someone42表示愿意參與FreeBASIC的開發(fā),加速FreeBASIC使用GCC后臺的過程(也就是說,QuickerBasic會死去)。
  35. GFA-BASIC 32 曾經(jīng)的商業(yè)軟件,開發(fā)dos或者windows平臺的有用程序。附帶界面設(shè)計(jì)器;自身是綠色的,編譯出來的程序也較小,似乎也是綠色軟件。2001年公司破產(chǎn)之后,愛好者花了近5年的時(shí)間(佩服國外這些愛好者的執(zhí)著),終于獲得了其源代碼,并公之于眾。

    幾個(gè)問題:

    1. 我沒有看到它的源代碼下載連接
    2. 下載的可執(zhí)行文件,不要放在含中文的目錄中,否則出錯(cuò)
    3. 調(diào)試不方便
    4. 漢字支持不好
    5. GUI古怪,不符合windows風(fēng)格
    6. 只有德文文檔,缺乏英文的
    7. 代碼清理力度不夠,有的例程編譯出來居然說需要老版本的GfaWin20.ocx
  36. FBSL (Freestyle Basic Script Language) 運(yùn)行在windows平臺。按作者的說法,它混和了VB、QB、PHP、Pascal和C++的風(fēng)格。有用自身編寫的界面設(shè)計(jì)器(未公開,目前僅限于開發(fā)者內(nèi)部使用)。提供了打包到exe的腳本。
  37. Quite BASIC 使用js編寫、基于web的的老式BASIC(需要行號、使用LET賦值、GOSUB/RETURN方式調(diào)用/定義函數(shù))語言解釋程序。提供了幾個(gè)現(xiàn)成的例子,程序跑得相當(dāng)慢,要有耐心才行。
  38. RunBASIC 基于Liberty BASIC語法,使用Liberty BASIC實(shí)現(xiàn)的、web上的BASIC語言解釋程序。提供了幾個(gè)現(xiàn)成的例子,程序跑得比Quite BASIC快得多,可以輸出圖形?!?

 

38

 
發(fā)表于2004年、旨在紀(jì)念BASIC語言40歲生日(5月1日)的兩篇文章回顧了BASIC的歷史,簡介了龐大的BASIC家族的部分成員,讀起來饒有趣味:《BASIC四十年》《BASIC萬花筒》

另外,一直渴望獲得一份QB/QBasic自身的源程序,《BASIC萬花筒》一文中提到有MS Qbasic 1.1自身的源代碼下載,我很懷疑是否有這種可能,可惜連接是壞的 :(

順便B4一下仍然說BASIC語言只能解釋執(zhí)行的人,hiahia

主要更新記錄:

2005年9月,http://basic./有很多的BASIC開發(fā)工具的比較和下載
2006年2月16日,添加RealBASIC
2006年3月2日,OOP、消息驅(qū)動(dòng)、GUI,這些概念的出現(xiàn),使得一般用戶書寫、調(diào)試程序的難度加大了。不清楚那些開發(fā)者使用上面某些不提供調(diào)試手段的語言(應(yīng)該說語言+IDE吧)書寫應(yīng)用程序時(shí),是如何調(diào)試、排錯(cuò)的。一頭霧水
2006年8月30日,添加CoolBasic?,F(xiàn)在收集了31款軟件了,哦~
2006年10月28日,添加Euphoria

PS:第一次聽說這么多的BASIC語言,感覺都不錯(cuò)的,呵,下載試用中。。。

    本站是提供個(gè)人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多