ML: Začíname s metaprogramovaním

zverejnenie: Vaša podpora pomáha udržiavať web v prevádzke! Za niektoré zo služieb, ktoré odporúčame na tejto stránke, získavame poplatok za sprostredkovanie.


ML znamená „metajazyk“ a ML je členom rodiny programovacích jazykov na všeobecné použitie.

Podobne ako mnoho skorých programovacích jazykov, aj akademická komunita vytvorila ML na výskumné účely a jej vlastnosti ovplyvnili mnoho programovacích jazykov, ktoré nasledovali v jeho stopách..

Čo je ML?

ML je multi-paradigma, rozšírený funkčný programovací jazyk. Často sa označuje aj ako „nečistý“ funkčný jazyk, pretože umožňuje vedľajšie účinky. Základné požiadavky spoločnosti ML sú postavené na funkčnom jadre.

Je to užitočné najmä pre meta-programovanie – písanie programov, ktoré manipulujú s inými programami, a to je pôvodný účel ML. ML je dobre známe pre použitie systému typu Hindley-Milner, ktorý dokáže automaticky priradiť typy väčšiny výrazov bez explicitných anotácií typov..

ML sa používa na široké spektrum programovania:

  • Vedecké aplikácie;
  • Doklady o vete;
  • Analyzátory, kompilátory, programovacie jazyky;
  • Aplikácie finančných systémov;
  • Bioinformatické a genealogické databázy.

ML sa používa aj vo výučbe, v úvodných kurzoch programovania na preukázanie základnej programovacej logiky a metód.

Stručná história ML

Programovací jazyk ML bol vyvinutý v 70. rokoch 20. storočia Robinom Milnerom a jeho kolegami z University of Edinburgh počas ich práce na Logic for Compeable Functions (LCF) – interaktívnom automatizovanom overení vety. LCF bol implementovaný v ML a predstavený v roku 1972. Syntax ML bola inšpirovaná programovacím jazykom ISWIM.

ML sa ďalej vyvinula do niekoľkých programovacích jazykov, všetky z rodiny ML. Dva najdôležitejšie dialekty dnes sú Standard ML (SML) a OCaml. Funkcie a nápady od spoločnosti ML ovplyvnili mnoho ďalších jazykov, ako napríklad Cyclone, Elm, Nemerle, Haskell, C ++ a ďalšie..

Vlastnosti

Je to prísne napísaný jazyk a na zaistenie bezpečnosti typu sa používa systém typu Hindley-Milner. Výsledkom je, že správne zadaný program ML nespôsobuje chyby typu runtime. Jeho syntax a riadenie toku sa zásadne líšia od jazykov typu C, takže nenájdete triviálne mapovanie medzi kódom C a ML..

ML obsahuje automatický systém správy pamäte prostredníctvom zberu odpadu, kde kompilátor automaticky pridelí a uvoľní pamäť. Podporovaný je parametrický polymorfizmus, čo znamená, že môžete napísať jednu polymorfnú funkciu, ktorá môže prevziať parameter ľubovoľného kompatibilného typu..

ML má prvotriedne funkcie a lexikálne uzávery, čo umožňuje veľmi ľahké zostavenie viacerých funkcií, čo je v imperatívnych programovacích jazykoch veľmi zložité..

ML tiež podporuje polymorfné rekurzívne dátové typy so zhodou vzorov a má vynikajúci systém modulov sústredený okolo štruktúr a podpisov. Využíva predovšetkým dychtivé hodnotenie, čo znamená, že všetky podvýrazy sa vždy hodnotia, zatiaľ čo lenivé hodnotenie možno stále dosiahnuť pomocou uzávierok..

Začíname s ML

Ak máte predchádzajúce skúsenosti s metódami programovania a logikou, začatie s programovaním ML by nemalo predstavovať veľkú výzvu. Ak je však ML prvým úvodom do programovania, mali by ste začať so základnými tutoriálmi a kurzami, skôr ako prejdete k náročnejším.

Vaše vývojové prostredie ML

Zrejme budete musieť vytvoriť svoje vlastné osobné vývojové prostredie ML. Odporúčame používať derivát a kompilátor Standard ML of New Jersey (SML / NJ), pretože je to prvý a najobľúbenejší kompilátor pre programovací jazyk ML.

SML / NJ je v súčasnosti podporovaný na veľkých troch platformách operačných systémov: Mac OS X, Linux a Windows. Inými slovami, nemali by ste mať problémy so spustením vývojového prostredia ML na takmer akomkoľvek počítači.

Inštalácia ML na tieto platformy je jednoduchá a dobre zdokumentovaná. Jednoducho si vyberte správne stiahnutie pre svoju platformu na stránke sťahovania SML / NJ a postupujte podľa pokynov na inštaláciu.

zdroje

ML existuje už roky, takže nie je nedostatok rôznych zdrojov. Pokiaľ ide o výučbu jazyka, je to vždy dobrá vec. Majte však na pamäti, že veľa zdrojov ML je dosť stará a môže byť zastaraná.

Naše vyhľadávanie sme zamerali na relevantné a relatívne nedávne návody, elektronické knihy a interaktívne kurzy. Ak však práve začínate, môžu vám pomôcť aj staré zdroje.

Kurzy a kurzy ML

Zameranie sa na teoretické zdroje je dobrý spôsob, ako podniknúť prvé kroky v programovaní ML, ale po zvládnutí základov budete musieť prejsť na praktické príklady..

Ak chcete skutočne oceniť plný potenciál ML, musíte to vidieť v akcii. Akonáhle budete so základnou syntaxou spokojní, môžete svoj tréning posunúť na ďalšiu úroveň a vyskúšať praktických sprievodcov a návody:

  • Programovanie v štandardnom ML 97: On-line výučba Stephena Gilmora: je to bezplatný výukový program uvádzajúci dôležité pojmy v jazyku ML a ilustrujúci ich pomocou krátkych príkladov. Je k dispozícii v rôznych formátoch.
  • Programovanie v štandardnom ML (pdf) Robert Harper: Toto je bezplatný výukový program vytvorený pre kurz Carnegie Mellon University „Počítačové vedy 12 – 212: zásady programovania“.
  • Jemný úvod do ML od Andrewa Cumminga: je to bezplatný kurz obsahujúci úvod a sedem lekcií o ML s mnohými ďalšími užitočnými zdrojmi.
  • Tipy pre počítačových vedcov týkajúce sa štandardného ML (revidovaného) (pdf) od Mads Tofte: Toto je bezplatná kniha s mnohými užitočnými tipmi na programovanie ML.

Dodatočné zdroje

Ďalším krokom je zamerať sa na zložitejšie zdroje, ako sú praktické návody s množstvom vzorového kódu. Tieto príklady z praxe vám pomôžu porozumieť programovaniu ML. Vybrali sme niekoľko najčastejšie uvádzaných:

  • Štandardná príručka používateľa ML v New Jersey: Toto je online sprievodca programovaním v štandardnej verzii ML pomocou protokolu SML / NJ, ktorý pokrýva všetko od inštalácie protokolu SML / NJ po časté otázky, špeciálne funkcie, štruktúru kompilátora a knižnice..
  • Knižnica Standard ML Basis je online odkaz na knižnicu Standard ML Basis.

knihy

Zahrnuli sme aj niekoľko kníh o programovaní ML. Mnoho z týchto elektronických kníh sú odporúčané pedagógmi ML a budú užitočné ako referencia pri práci na praktických príručkách a kurzoch:

  • ML pre pracovný programátor, 2. vydanie L C Paulsona: toto sa zameriava na vysvetlenie, ako programovať v jazyku ML, a na výučbu základov funkčného programovania..
  • Elements of ML Programming, vydanie ML97 (2. vydanie) od Jeffreyho D Ullmana: táto kniha poskytuje vysoko prístupný, podrobný úvodný kurz o programovaní ML a kompletný odkaz na pokročilé funkcie a ich vysvetlenie. Nevyžaduje sa žiadna predchádzajúca znalosť ML alebo funkčného programovania.
  • The Little MLer od Felleisen a Friedman: táto kniha predstavuje tých nových v programovaní, ako aj tých, ktorí majú skúsenosti s inými programovacími jazykmi, zásadám typov, výpočtov a zostavovania programov..

Hýbať sa vpred

Ako vo všetkých programovacích jazykoch, ML sa nakoniec naučí robiť. Pripravte si vývojové prostredie a pomocou týchto zdrojov začnite s kódovaním. Veľa štastia!

Dozviete sa viac o ďalších zaujímavých programovacích jazykoch.

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