On totiz neni BASIC jako BASIC. Moderni dialekty BASICu jsou srovnatelne napriklad spise s Pythonem nez puvodnim BASICem, takze volba toho jmena je dvousecna – laka „stare“ BASICare ale taktez odpuzuje nekoho, kdo po vysloveni slova „BASIC“ uz dale nezkouma nic dalsiho a odsuzuje ;-)
No tím spíš to nechápu. Mám skript v Pythonu, Ruby nebo Perlu a v podstatě ho pustím bez větších problémů s „jakoukoli“ implementací interpreteru.
U BASICu tohle (především dnes) neplatí. Je ta syntaxe o tolik jednodušší než ostatní více používané jazyky? Jak pro používání/učení, tak pro implementaci interpreteru? Moc mi to nepřipadá.
Nee, me to syntakticky pripada ± stejne jako Python (Perl je trosku jinde), semanticky se ty jazyky taky hodne priblizily k sobe. Ted jde jen o to, kdo vybere, ktery ten jazyk se ma pouzivat – „nezavisla“ autorita nebo lidi sami, kteri ted maji takovy vyber jazyku zadarmo, ze se jeste pred 10–15 lety o tom nikomu ani nesnilo :-)
No já věřím tomu, že v Basicu lze psát podobně jako v Pythonu, ale (a uznávám, že se mohu mýlit) spíš jenom v tom případě, že člověk používá Python podobně jako Basic. Jsou v některém Basicu věci typu pythonních magických metod (nebo třeba jiný způsob, jak s libovolným objektem pracovat jako s polem nebo hashí/slovníkem)? Umí nějaký Basic násobnou dědičnost, dekorátory, má něco jako generator expressions, generátory jako takové, příkaz *with*, REPL ala IPython, docstringy atd.?
V jazyku VBscript (Visual Basic Script) – ktory som uz obcas pouzil – je k dispozicii objekt ‚dictionary‘, co je vlastne hash/slovnik. Podobne je k dispozicii aj objekt ‚regexp‘ na regularne vyrazy.
Vo VBscripte sa pracuje podobne rychle ako v Pythone. Ale nema komfort ako Perl, Python alebo Ruby. Mne sa zda VBscript trochu tazkopadny. Ale nespornou vyhodou VBscriptu je mnozstvo dokumentacie a prikladov pre skriptovanie vo Windows.
No, já skriptování ve Windows moc neužiju, ale uznávám, že VBScript se někdy může hodit (stejně jako jiný Basic). Objekt ‚dictionary‘ beru, ale já jsem měl na mysli něco jiného – udělat si vlastní třídu se stejným rozhraním. A kromě toho, v Pythonu si můžu udělat ve třídě metodu __hash__(), která umožňuje do slovníku přidat jako klíč jakýkoliv objekt a rychle podle něj vyhledávat. Navíc má slovník iterátory přes klíče, hodnoty a páry klíč:hodnota a tak lze procházet celý slovník, aniž by docházelo ke kopii v paměti. Já mám v Pythonu zkušenosti s projekty o velikosti desítek až stovek tisíc řádků, včetně serverových věcí, kde je paměť a rychlost dost důležitá. Netvrdím, že se Basic nedá na nic použít, ale na podobné projekty bych to moc neviděl. VisualBasic.NET by to asi zvládnul, ale ten mi zase přijde strašlivě ukecaný – zlatý Pascal.
Programovací jazyk Forth – 20 dílů seriálu
Tck/TK – 20 dílů seriálu
APL – 3 články
J – 3 články
LISP + Scheme – 13 článků
Jazyk Joy – 3 články
Jazyk Factor – 3 články
Jazyk Lua – 23 dílů seriálu
Suma: 88 článků
Oproti tomu:
Basic – 7 dílů, z toho většina probraná kvůli historickým důvodům
Takže jo, jen do mě jako do skalního a zaslepeného zastánce BASICu.
<i>„Ale provadet pulrocni masturbaci nad bejzykem, to fakt nedavam“</i>
A preco nie, BASIC zohral nepochybne dolezitu ulohu v historii. Myslim ze dolezitejsiu ako Forth a ine exoticke jazyky.
Mne sa to paci, ja citam root hlavne kvoli clankom ako pise napriklad p. Tisnovsky :-)
A preco by nemal zmysel? Napriklad tento Small Basic vyzera byt celkom dobry na vyuku prograovania pre deti.
Ja som zacinal v klasickom Basicu, kde bolo cislovanie riadkov, GOTO a GOSUB. Potom assembler Z80, Forth, dBase, Pascal, C, Scheme, Fortran, REXX, COBOL, Java, Perl, Python, Ruby …
Ked pozeram na ten Small Basic myslim ze ked svojim detom ukazem ako prvy BASIC, bude to pre nich prinosnejise, ako skusat na nich LOGO, Scheme, alebo nebodaj SmallTalk :-)
Pri BASICu dostanu slusne zaklady proceduralneho programovania a potom mozu prejst na iny jazyk.
Zacinal som so starym BASICom (GOTO, GOSUB). Ked som presiel na Pascal, BASIC som zavrhol kvoli tomu ze nepodporoval strukturovane programovanie. Ked som presiel na C zavrhol som Pascal kvoli tazkopadnosti :-). Ked som presiel na Javu zavrhol som C kvoli produktivite v programovani. Ked som zacal pouzivat skritovacie jazyky ako Perl, Python, Ruby zistil som ze je to este pohodlnejsie ako Java.
Po 20+ rokoch programovania mam ale taky nazor, ze stary BASIC bol na nieco dobry: Clovek sa v nom naucil napisat program s obmedzenymi prostriedkami. Pretoze som presiel BASICom nebol pre mna neskor problem rozumiet Fortranu a pisat v nom, dokonca ani pisat v COBOLe. Myslim, ze je lepsie zacat s primitivnejsimi jazykmi ako Basic, Pascal, C ako s „battery included“ jazykmi ako Python, Java,… Od primitivnejsieho k pokrocilejsiemu sa prechadza lahsie ako naopak.
Basic se prosadil ze začátku hlavně díky tomu, že se dal překládat po řádcích, takže fungoval jako interpretr, příkazový řádek i editor programu naráz. Při použití struktur se řádkový překlad značně komplikuje což byl na 8-mi bitech problém. Takový basicový řádek je vlastně program sám o sobě. A dále se BASIC držel vlastně už setrvačností. Když byly uživatelé 8-mi bitů na něj zvyklý jako na scriptovací jazyk, tak se dal i na 16-ti bity a tak dále. Já osobně jsem toho v basicu moc neudělal. Na ZX Spectru jsem dělal v Hisoft Pascalu a Assembl. a pak na PC V Turbo Pascalu a Turbo C. Nyní dělám PLC/DCS/HMI a na Basic narazím v VisualBasic Scriptu, který se používá v některých HMI softwarech.
Basic se tady uplatňuje dost často jako jazyk programovatelných komunikačních sériových karet,
kde se v něm naprogramuje komunikace s nějakým zařízením( třeba měřič tepla ) a data se tak přesouvají do PLC.