Forth: A skrýtið forritunarmál. Hér er hvers vegna þú gætir elskað það.

Birting: Stuðningur þinn hjálpar til við að halda vefnum í gangi! Við þénum tilvísunargjald fyrir sumar þjónusturnar sem við mælum með á þessari síðu.


Forth er óvenjulegt tungumál. Það er fyrst og fremst túlkur og er með skipanalínuviðmót svo hægt sé að nota það í rauntíma. En það hefur einnig getu til að taka sett af kóða og setja það saman. Svo það er eitthvað af blendingur.

Vegna þessa er Forth almennt notað á vélbúnaði sem er ekki með hefðbundið stýrikerfi. Það er einnig mikið notað til að stjórna vélum og hefur verið notað við geimskoðun – jafnvel á Philae, rannsaka sem lenti á halastjörnunni 67P / Churyumov – Gerasimenko.

Saga

Forth var þróað af Charles Moore frá árinu 1968 þegar hann gerði grafísk forritun hjá Mohasco Industries. En fyrsta fullbúna framkvæmdin kom ekki fyrr en árið 1971, þegar Moore stofnaði sjálfstætt kerfi til að stjórna 11 metra sjónaukanum í bandarísku ríkisútvarpinu (Astrological Astratory Observatory (NRAO)).

Fyrri útgáfur af Forth höfðu vakið athygli forritunarfélagsins. En á þessum tímapunkti varð það mjög vinsælt í stjörnufræðasamfélaginu. Svo árið 1973 stofnaði Moore FORTH, Inc ásamt NRAO samstarfsmönnum sínum Elizabeth Rather og Edward Conklin.

Fyrirtækið flutti forritið í mörg mismunandi kerfi. Og FORTH, Inc heldur áfram að vera mikilvægt fyrirtæki, sem býður fram vörur tengdar fólki í viðskiptum, fræðimennsku og stjórnvöldum.

Yfirlit yfir Forth

Það eru ýmsir sérstakir þættir í Forth forritunarmálinu. Við munum ræða mikilvægustu hérna.

Fyrsti eiginleiki

Forth býður upp á marga einstaka eiginleika:

  • Gagnvirk forritun

  • Að búa til saman viðbætur á tungumálinu sem kallast „orð“.

  • Staflar og öfug pólsk tákn

  • Bein tenging milli notanda og vélbúnaðar.

Reverse Polish Notation

Til að gera stærðfræðilega útreikninga með öfugum pólskum táknum. Þetta fer eftir því að geyma tölur í stafla.

Lítum á útreikninginn: 2 + 3. Í fyrsta lagi væri þetta gert með því að setja 2 á stafla, setja síðan 3 á stafla og bæta þeim síðan við. Þetta myndi líta svona út: 2 3 +.

Það virðist svolítið skrýtið en það er auðveldara fyrir tölvuna að flokka, því þetta er eins og tölvur gera í raun útreikninga. Og þegar maður er vanur því að nota kóðann verður hann alveg náttúrulegur.

Að auki er engin þörf á sviga. Lítum á eftirfarandi tvö dæmi. (Athugið: Afturáfall stafurinn byrjar athugasemd.)

2 3 + 5 * Þetta er það sama og (2 + 3) * 5
2 3 5 * + Þetta er það sama og 2 + 3 * 5

Í fyrra dæminu er 2 ýtt á stafla á eftir 3. Svo 2 er í öðru sæti í staflinum og 3 fyrst. „+“ Stjórnandinn er notaður á fyrstu tvo þætti stakksins. Þetta fjarlægir þessa tvo hluti úr staflinum og skilur eftir 5 (2 + 3) ofan á staflinum.

Síðan ýtum við 5 upp á stafla. Það setur 5 í fyrstu og annarri stöðu stafla. Að lokum notum við „*“ stjórnandann sem leiðir til þess að 25 (5 * 5) er settur efst á stafla.

Í öðru dæminu leggjum við 2, 3 og 5 á stafla, þannig að 5 eru í fyrstu stöðu, 3 í annarri og 2 í þeirri þriðju. Síðan beitum við „*“ stjórnandanum á tveimur efstu þáttunum í staflinum (5 * 3) sem leiðir til þess að 15 eru settir efst á stafla.

Á þessum tímapunkti eru 15 í fyrstu stöðu og 2 í annarri stöðu. Þegar + stjórnandinn er notaður skilur hann eftir 17 (15 + 2) efst á staflinum.

Dæmi áætlun

Eftirfarandi forrit er mjög einfalt, en sýnir fram á margt af því sem á sér stað á tungumálinu.

: ÚTMATH Gefið út stærðfræðilegan útreikning
." Við munum nú reikna út: (2 + 3) * 5" CR
2 3 + 5 *
." Þetta jafngildir: " . CR;

ÚTMATH

Það fyrsta sem þetta forrit gerir er að skilgreina aðgerð sem heitir OUTMATH. Línurnar sem fylgja henni eru hluti af fallinu upp í gegnum línuna sem endar með semíkommu. Fyrsta línan prentar út textann, „Við munum nú reikna út: (2 + 3) * 5“ og fylgja henni með flutningsleið.

Næsta lína framkvæmir útreikninginn sem við ræddum hér að ofan og leiðir til þess að 25 eru settir efst á stafla. Síðasta lína aðgerðarinnar gefur út, „Þetta jafngildir:“ fylgt eftir með gildinu efst á staflinum (táknað með „.“) Og flutning aftur.

Síðan rekum við einfaldlega aðgerðina. Svo þegar forritið er keyrt, gefur það af sér:

Við munum nú reikna út: (2 + 3) * 5
Þetta jafngildir: 25

Að læra fram

Fyrir flesta forritara er þetta ný hugsunarháttur. En það kemur á óvart hversu eðlilegt það virðist þegar þú byrjar að vinna með það. Hér eru nokkrar námskeið og bækur sem fá þig til að vinna með tungumálið.

Fyrstu námskeið

Það er til fullt af námskeiðum á netinu. Vegna þess að Forth er skrýtið fyrir forritara sem ekki eru Forth á sama tíma og það er augljóst fyrir núverandi notendur, glósa margar kennsluleiðbeiningarnar yfir hluti sem geta verið ruglingslegir fyrir byrjendur. Þessar leiðbeiningar eiga ekki við þetta vandamál að stríða.

  • Easy Forth: þessi stutta bók er frábær kynning. Það er eini gallinn að það er ekki stórt af dæmum. Svo skoðaðu nokkur dæmi hér að neðan.

  • Leiðbeiningar fyrir byrjendur til framdráttar: þetta er önnur góð kynning. Það er aðeins tæknilegra en hefur fleiri dæmi.

  • Og svo framar …: þetta er mjög ítarleg kynning á Forth – næstum eins góð og bók.

Forth Books

Oft er auðveldara að læra nýtt tungumál með því að fá bók sem getur tekið þig skref fyrir skref í gegnum ferlið. Það eru til margar góðar bækur um Forth – sérstaklega aftur til níunda áratugarins þegar Forth tók virkilega af. Hér er safn af þeim bestu og mikilvægustu.

  • Uppgötvaðu Forth: Learning and Programing the Forth Language (1982) eftir Thom Hogan: þetta er góð og hnitmiðuð kynning á Forth tungumálinu.

  • Starting Forth: an Introduction to the Forth Language and Operating System for Beginners and Professionals (1982) eftir Leo Brodie: þetta er sígild og frábær leið til að læra Forth. Það er úr prentun en notað afrit er ekki erfitt að finna fyrir litla peninga. Það er líka ókeypis á netinu. Ítarlegri Forth forritarar gætu viljað kíkja á nýjasta Brodie, Thinking Forth.

  • Forth Lite námskeið (2014) eftir Juergen Pintaske: þetta er kennsla sem byggir á Kindle sem fjallar um dæmi.

  • Forritun vandamálstillaðs máls: Forth – How the Internals Work (2014) eftir Charles Moore: þetta er Kindle útgáfa af bókinni sem höfundur Forth skrifaði fyrir löngu. Það veitir enn gríðarlega innsýn í tungumálið, en er ekki besti kosturinn til að byrja með.

  • Handbók Forth Programmer (2007) eftir Elizabeth Rather og Edward Conklin: þetta er fullkomnari bók um Forth eftir hina tvo brautryðjendana. Sjá einnig bók Rather, Forth Application Techniques (2006).

Önnur úrræði

  • Forth Interest Group: þessi síða hefur alls kyns áhugaverðar upplýsingar, þ.mt gömul söguleg skjöl. Því miður hefur það einnig mikið af brotnum hlekkjum. En það er samt þess virði að athuga það.

  • Krækjur á Forth Programs: þetta er frábært safn af raunverulegum dæmi forrit eins og töflureikni og Sudoku ráðgáta lausnara.

  • Forth Google Group: þetta er mjög virkur hópur notenda sem spyrja og svara spurningum.

  • Forth Subreddit: þetta er ekki afskaplega virkur vettvangur, en það eru samt fróðir menn á því.

Framkvæmdir

Það hafa verið gerðar margar útfærslur af Forth í gegnum tíðina. Forth áhugasamsteypan er með langa forth compilers síðu. Þannig að ef þú ert með PDP-11 stillingu í bílskúrnum þínum geturðu fengið Forth þýðanda fyrir það! En fyrir nútímalegri kerfi eru hér algengari kostirnir.

stórFORTH

Um miðjan níunda áratuginn þróuðu Dietrich Weineck, Georg Rehfeld og Klaus Schleisiek volksFORTH fyrir 16 bita vélar eins og 8086 IBM tölvuna og 6502 Apple, Commodore og Atari vélarnar.

Að lokum bjuggu þeir til 32 bita útgáfu fyrir (16 bita strætó) 68000 byggða Atari ST. Jafnvel þó að volksFORTH væri að taka framförum, dó verkefnið ansi mikið (þó að það hafi verið byrjað síðar).

Bernd Paysan var nægilega áhugasamur um þessa útgáfu af volksFORTH (kallað turboFORTH þá), þó að hann gerði það að grundvelli bigFORTH.

Fyrsta útgáfa þess var gefin út fyrir Atari ST árið 1990. Árið 1995 hafði bigFORTH verið flutt á 386 og árið eftir var það fáanlegt á Windows NT, OS / 2 og Linux.

Grafískt viðmót

Á þeim tímapunkti hóf Paysan störf við MINOS. (Tæknilega séð er það „MINOS,“ en venjulega er það kallað „MINOS.“)

Það er myndrænt viðmót fyrir bigFORTH. Það gæti verið auðveldast að hugsa um það sem „Visual bigFORTH“ eins og Visual Basic, því það er meira og minna það sem það er. Það var fyrst búið til fyrir X-Windows kerfið. En það var fljótlega í boði fyrir Windows líka.

Þróun á bæði bigFORTH og MINOS virðist vera hætt í kringum 2010. Hins vegar eru þau bæði aðgengileg og nokkuð gagnleg (bigFORTH er ANSI samhæft). Reyndar er MINOS mjög skemmtilegt að spila með.

bigFORTH auðlindir

Ef þú vilt nota bigFORTH eða jafnvel þróa fyrir það verðurðu að hafa öll þau tæki sem þú þarft:

  • Kóðinn: þetta er kóðinn frá síðustu opinberu útgáfu 22. mars 2010, útgáfu 2.4.

  • Debian pakkinn: auðveldlega settur upp pakkning fyrir alla Debian byggða Linux dreifingu (td Ubuntu, Mint). Það setur upp í / usr / local / bin og inniheldur MINOS, þó það kallist xbigforth.

  • Sjálf-setja upp Windows keyranlegt: það sama og Debian pakkinn, en fyrir Windows. MINOS er jafnvel nefndur xbigforth.exe.

  • Skjölun (PDF): þessi tæplega 300 blaðsíðna bók virkar sem kennsla og tilvísun, skrifuð af JL Bezemer. Margt af því er á almenna Forth og er það sem „Og svo framar…“ er tekið úr.

  • Heimasíða Bernd Paysan: á þessari síðu er mikið af áhugaverðum upplýsingum og dæmum í framan. Sérstaklega vekur athygli er Mark-tungumál Paysans er byggt.

  • bigFORTH geymsla: fullkominn ákvörðunarstaður fyrir allar bigFORTH þarfir þínar.

Gforth

Gforth er GNU framkvæmd Forth. Það er með fræga ættbók.

Gforth verkefnið var sett af stað árið 1992 af hinum stóru FORTH skapara Bernd Paysan og Anton Ertl, með umtalsverðum framlögum Jens Wilke.

Þetta var sambland af bigFORTH og miklu eldri fíkju-FYRÐ (sjá neðar). En saga þess er brengluð, þar sem bigFORTH kom frá volksFORTH, sem byggðist á fig-FORTH.

Þar sem það var GNU verkefni hefur mikil vinna verið lögð í það síðan það hófst. Það er nú alveg ANSI samhæft og hefur náð öllum upphaflegum markmiðum sínum. Síðasta útgáfan er 0.7.3, með síðustu færslu (eftir Paysan) þann 25. febrúar 2013.

Hvað varðar ókeypis útfærslur, þá er Gforth mest notaður. Hluti af þessu er bara vegna þess að það er hluti af GNU verkefninu og framboði þess. En það er líka vegna þess að það er öflugt og hratt.

Gforth Resources

Gforth hefur öll úrræði sem þú þarft til að setja það í hvaða notkun sem þú þarft:

  • Kóðinn: þessi síða veitir Gforth frumkóðann frá útgáfu 0.2.1 upp í núverandi, 0.7.3.

  • Debian pakkar: það eru ýmsir pakkar í boði fyrir Debian Linux dreifingu. Athugaðu að það fer eftir pakkanum sem þú velur, þú gætir þurft að setja upp einn eða fleiri aðra pakka fyrst.

  • Sjálf-setja upp Windows keyranlegt: þetta er eldri (0.7.0) útgáfa af Gforth, en fljótleg leið til að byrja.

  • Skjölun (PDF): þessi 250 blaðsíðna bók gildir um útgáfu 0.7.0 af Gforth. Það er einnig fáanlegt á HTML sniði.

  • Gforth geymsla: nokkurn veginn allt sem tengist Gforth má finna hér.

pbForth

pbForth virðist ekki stutt lengur en það er svo áhugaverð útfærsla á Forth að það er vel þess virði að skoða.

Eins og við höfum fjallað um hefur Forth alltaf verið tengt vélbúnaðarstýringu. Svo það kom alls ekki á óvart að Forth útfærsla var búin til fyrir LEGO MINDSTORMS vélbúnaðarbúnaðinn – sérstaklega 16 bita RCX sem kom út árið 1998.

Það virðist aldrei hafa verið uppfært til að vinna með annarri kynslóð, NXT seríunni, sem kom út árið 2006, né heldur núverandi MV3, sem kom út árið 2013.

Þó að það sé engin opinber síða fyrir pbForth er samt hægt að fræðast um það og jafnvel nota það. Hins vegar getur verið brattur námsferill vegna þess að það eru ekki svo miklar upplýsingar. Og greinilega, þú þarft LEGO MINDSTORMS RCX (þau eru ekki svo erfitt að finna).

NXT notar allt annan (og 32 bita) örgjörva, svo pbForth myndi vissulega ekki vinna með það. Það gæti samt verið skemmtilegt. Og ef þú ert að gera það, gætirðu hugsanlega tengt það í önnur og þriðja kynslóðarsett.

pbForth Resources

Hvaða upplýsingar eru aðgengilegar á venjulegu internetinu eru yfirleitt strangar og hlekkja alltaf á pbForth heimasíðuna sem hefur ekki verið starfrækt síðan að minnsta kosti 2010. Það er aðeins þökk sé netsafnsinu að mikið af þessu er til.

  • Saga LEGO Robotics: þó ekki sé um pbForth að ræða veitir það skjótt yfirlit yfir LEGO MINDSTORMS vörur.

  • Kynning á pbForth
    (PDF): þessi 30 blaðsíðna kennsla mun koma þér af stað með tungumálið.

  • phForth kóðinn
    : Athugaðu að pbForth er skrifað á samkomutungumáli og Tcl, þannig að þú þarft að hafa þau tæki tiltæk.

  • Windows GUI
    : þessi skrá keyrir, þó að það geti verið flóknara að fá hana til að gera hvað sem er. Ef þú vilt nota pbForth fyrir Linux eða Mac verðurðu að nota kóðann.

  • phForth Heimasíða Circa 2009
    : Þessi síða veitir tengla á töluvert af áhugaverðum upplýsingum um pbForth, einkum hálft tylft sýnishornafrit.

Aðrar útfærslur

  • fig-FORTH: þetta var ein af fyrstu framkvæmdunum, sem stofnað var af Forth Interest Group. Það er 16 bita framkvæmd. Það er fáanlegt fyrir nokkrar dásamlegar gamlar tölvur eins og Data General Eclipse og Alpha Micro, svo og 8086 og 6502 tölvur. Vandamálið er að það eru engar keyranlegar skrár – bara tungumálanúmer samsetningar. Og í flestum tilvikum eru aðeins bitmap PDF skrár af kóðanum. Raunverulegur kóði virðist aðeins fáanlegur fyrir 8088/8086, PDP-11 og 6800. (6800 er 8 bita örgjörva, svo að greinilega var til 8 bita útgáfa af fig-FORTH.)

  • SP-Forth: þetta er ókeypis framkvæmd fyrir Windows og Linux.

  • 4tH: þetta er auðveld í notkun Framkvæmd sem er fáanleg fyrir mikið úrval af vélbúnaði (þar á meðal Raspberry Pi) og inniheldur góð skjöl.

  • SwiftForth ™: þetta er Forth þýðandinn frá upprunalegu fyrirtækinu sem kom Forth til heimsins. Það er viðskiptaleg vara, en hún er sanngjörnu verði.

Yfirlit

Forth er heillandi og ótrúlega gagnlegt forritunarmál. Það á sérstaklega við ef þú vilt stjórna vélbúnaði. Með því að nota auðlindirnar hér ættir þú að vera á leiðinni.

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map