Ismerje meg a Lisp programozást: Bevezetés, verziók és egyebek

Közzététel: Támogatása segít fenntartani a webhely működését! Az ezen az oldalon javasolt szolgáltatások némelyikén referenciadíjat keresünk.


Lisp programozás

A Lisp egy programozási nyelvcsalád, amelyet először 1958-ban fejlesztettek ki és végül 1961-ben vezettek be. Ez a Fortran után ez a második legrégebbi nyelv, amely még mindig használatban van..

De míg a Fortran továbbra is lassan elhalványul, Lisp továbbra is nagyon fontos része a számítástechnika környezetének.

Lisp több szempontból is egyedülálló. Egyrészt, a Lisp-ben szereplő minden kifejezés egy lista, amely a nyelv két elsődleges adattípusa. (Ez az oka annak „Lisp” -nek.)

Mivel maga a kód adattípusként értékelhető a nyelven, Lisp rekursiós és önvizsgálatos.

Ezenkívül – a legtöbb más nyelvvel ellentétben – a Lisp-kód a tényleges adatszerkezet emberi olvashatóságú változata, mivel azt a mögöttes Lisp-rendszer dolgozza fel..

Ez azt jelenti, hogy nagy a hasonlóság abban, hogy egy programozó miként gondolkodik egy programról, és hogy a program mit csinál valójában “a motorháztető alatt”.

A Lisp tetszőleges számú alkalmazáshoz és problématartományhoz használható, de különösen hasznos a mesterséges intelligencia és a gépi tanulás szempontjából..

Contents

Lisp önálló végrehajtás

Lisp hasznosságának jele, hogy oly sokféle változat van. Ide tartoznak az önálló nyelvek és az alkalmazásokon belül épített nyelvek. Az alábbiakban mindkettőt megvitatjuk.

Common Lisp

A Common Lisp a Lisp egyik legnépszerűbb nyelvjárása. Először 1984-ben adták ki, és egy évtizeddel később ANSI-szabvány lett.

Ez a Maclisp javulása volt. De nem ez volt az egyetlen Lisp-verzió, amely a Maclisp mellett működött; több más is volt. De a Common Lisp elkötelezettsége a szabványosítás mellett végső soron a legsikeresebbé tette.

Közös Lisp források

Ha érdekli a Common Lisp, sokféleképpen megtanulhatja azt.

Könyvek

Nagyon kevés online oktatóprogram található a Common Lisp-hez, így ha valóban meg akarja tanulni a nyelvet, akkor keressen egy vagy több könyvet. Szerencsére ezek közül sok online kiadás is létezik.

  • Common Common: Finom bevezetés a szimbolikus számításba
  • ANSI Common Lisp
  • Gyakorlati Közös Lisp
  • A Lisp-en: Haladó technikák a Common Lisp-hez
  • Sikeres Lisp: Hogyan lehet megérteni és használni a Common Lisp-t
  • Objektum-orientált programozás a COMMON Lisp-ben: Programozói útmutató a CLOS-hoz
  • A Metaobject Protokoll művészete
  • Lisp kis darabokban
  • A mesterséges intelligencia elemei a Common Lisp segítségével
  • Hagyjuk Lambda felett

A Lisp-ről szóló legfontosabb és legbefolyásosabb könyvek közül sokan az 1970-es és 1980-as években készültek, és most már nem nyomtattak, és nehéz megtalálni őket. E könyvek közül többet online elérhetővé tettek, és az alábbiakban linkeket találsz hozzájuk.

Online források

Történelmi jelentőségű

Lisp történelmileg érdekes nyelv. Fejlesztése szorosan kapcsolódik a mesterséges intelligencia és a gépi tanulás fejlesztéséhez. Ez egyben a legszélesebb körben elterjedt nyelv, a szintaxis és a belső logika vadul különbözik a legtöbb többi nyelvtől..

Ezek a különbségek a számítástechnika közösségében folyamatban lévő viták részét képezik a számítás természetéről és a megfelelő nyelvtantól a programozáshoz.

Bárki, aki ma időt fordít a Common Lisp elsajátítására, érdemes ráirányítania a nyelv történelemének felfedezését.

  • A szimbolikus kifejezések rekurzív funkciói és számításuk gépen – 1960-ban írta, John McCarthy. Ez az eredeti cikk, amely leírja, hogy mi válik Lisp-vé.
  • A számítás matematikai elméletének alapja – McCarthy által 1961-ben írt cikk, amely a „rekurzív funkciók” című cikk sok ötletet feltárja. Lásd még a Útmutató a számítástechnika matematikai tudományához című kísérőlapot.
  • Lisp – Jegyzetek a múltjáról és a jövőjéről – McCarthy 1980-ban írta ezt a cikket, 20 évvel a Lisp megjelenése után.
  • VIDEÓ: Mesterséges intelligencia

John McCarthy (1927-2011) a Stanfordi Egyetem régóta alkalmazott informatika professzora. Honlapja érdekes cikkeket tartalmaz az AI-ről, a Lisp-ről, az elméleti informatikaról és a kapcsolódó témákról.

Ismerje meg Lisp-t

Nincs nagyon sok online oktatóprogram a Common Lisp-hez, mivel vannak olyan népszerűbb nyelvek, mint a PHP vagy a Ruby. Ugyanakkor nagyon sok könyv van a Lispről, amelyeket online kiadásként adtak ki.

Ezek közül sok az 1970-es és a 80-as években készült, bár minden bizonnyal van még néhány modern forrás is.

  • On Lisp – Paul Graham kiváló könyvének online kiadása.
  • Common Common: Finom bevezetés a szimbolikus számításba
  • Lisp kis alkatrészekben – Rövid ismertető sorozat
  • Practical Common Lisp – Az azonos nevű klasszikus bevezető könyv teljes online kiadása.
  • Lisp földje – Vicces, sajátos webhely és könyv, amely az embereknek tanítja, hogyan kell használni Lispot.
  • Tanulja meg a Common Lisp-t – tanuljon X-et Y perc alatt, ahol X = Common Lisp.
  • ELM-ART Lisp tanfolyam – Tanulja meg Lisp használatát az epizódikus tanulók modelljével az adaptív távirányítón
  • Lisp Gyorsindítás
  • LispTutor Jr
  • Varázslatok öntése Lispben
  • Common Lisp: Interaktív megközelítés
  • Lisp stílusos tippek a kezdőknek
  • Pascal Costanza rendkívül nagy presztízsű útmutató Lisphez

Kötelező olvasmány:

  • A közös Lisp ökoszisztéma állapota.
Lisp referencia és dokumentáció

Sokkal több, mint a legtöbb más nyelvnél, ha elkezdi a Lisp-szel dolgozni, azt tapasztalja, hogy rendszeresen konzultálnia kell a referenciaanyagokkal. Íme néhány az interneten elérhető, a Common Lisp hivatkozásai közül néhány.

  • Közös Lisp Wikibook
  • Közös Lisp HyperSpec
  • Cliki: A Közös Lisp Wiki
  • LispWorks Közös Lisp dokumentáció
  • Közös Lisp Cookbook
  • Google Common Lisp stílusú útmutató – Hogyan kell írni a Common Lisp-t úgy, ahogy a Google írja a Common Lisp-t. (Tudta még, hogy a Google a Common Lisp-t írta?)
  • Közös Lisp a nyelv
Különleges témák a Lisp programozásban

A Lisp – saját érdemei alapján – meglehetősen speciális nyelv. Itt található néhány forrás a Common Lisp különösen speciális kérdéseiről.

  • A mesterséges intelligencia programozásának paradigmái: Esettanulmányok a Common Lisp-ben – nézd meg a könyvet is.
  • Közös Lisp objektumrendszer
Lisp Tools

Ha valami fontosabbat szeretne megvalósítani a Common Lisp segítségével, akkor nagyobb nyelvi támogatás ökoszisztémára van szüksége – könyvtárak, pluginok, fejlesztőeszközök, keretek.

Itt van néhány a legnépszerűbb eszköz, amelyet a Lispers használ a dolgok elvégzéséhez.

  • ACL2 – Számítógépes logika az alkalmazandó Common Lisp-hez
  • Reader makrók a Common Lisp-ben – A Reader makrók lehetővé teszik, hogy teljesen új szintaxist hozzon létre a Lisp tetején
  • Quicklisp – a Common Lisp könyvtárkezelője
  • Clack – a Common Lisp webes alkalmazási környezete. Számos webalkalmazási keret épült rá:
    • Barlanglakó ősember
    • Ningle
    • Lucerna
  • Parenscript – Lefordítja a Common Lisp-t Javascript-re
  • jscl – Egy másik általános lista a JavaScript fordítóhoz
  • Roswell – A Common Lisp parancssori telepítője
  • CommonQT – Közös Lisp kiterjesztés a QtTools számára, GUI megoldást nyújtva.
  • CLML – Common Lisp Machine Learning könyvtár
  • MGL – Anoth gépi tanulási könyvtár
  • Antik – könyvtár, amely eszközöket nyújt a tudományos és mérnöki számításokhoz
  • Daru – ORM a Common Lisp-hez.
  • cl-dbi – Az adatbázis absztrakciós rétege
  • CEPL – Grafikai könyvtár. (Nézze meg átfogó videó bemutató sorozatukat.)
  • Iron Clad – Kriptográfiai eszközök.
  • SLIME – A szokásos IDE a Common Lisp számára.
Lisp kultúra és közösség

A többi nyelvnél jobban Lisp-nek megvan a maga kultúrája – egyedi elõadás, humor és hagyomány. Ennek egy része az egyetemek számítástechnikai tanszékein nyúlik vissza.

Ezenkívül némelyik a korai geek hacker kultúrához kapcsolódik, részben maga a nyelv sajátosságainak és az általánosan használt alkalmazásoknak az eredménye..

Ha valóban meg akarja érteni Lispot, akkor nem csak megtanulhatja a nyelvet – meg kell tanulnia a kultúrát, és ennek a (furcsa és csodálatos) közösségnek részévé kell válnia..

  • Lisp fórum
  • Műhely a Lisp pszichológiai valóságáról
  • Idézetek Lispről
  • Beszélgetés Alan Kay-vel
  • Örök láng
  • Lisp humor
  • Közös Lisp film
  • Lisp földje Video
  • Planet Lisp
  • Lisp Találkozók – is nézd meg a [@lispmeetings on Twitter] oldalt (https://twitter.com/lispmeetings)

Szükséges olvasmány:

  • Gödel, Escher, Bach: Örök aranyzsinór, készítette: Douglas R. Hofstadter – Ez a könyv nem közvetlenül kapcsolódik Lisphez (bár egy kicsit beszél róla). De ez rendkívül fontos kulturális és intellektuális mérföldkő az Lisp által lakott különböző területeken élő emberek számára: mesterséges intelligencia, gépi tanulás, matematikai logika és rekurzió. Ez a könyv megváltoztatja a gondolkodásmódját, és inkább azokra a személyekre fog gondolkodni, akik Liszpet használják.
Közös Lisp végrehajtások

A Lisp egy ötlet, és a Common Lisp egy nyelv – ez nem egy speciális technológia. Az alábbiakban bemutatjuk a Common Lisp népszerűbb megvalósítását.

  • Clisp – GNU Clisp, az ANSI Common Lisp megvalósítása
  • GCL – Egy másik általános Lisp megvalósítás
  • CMUCL – nagy teljesítményű, ingyenes Common Lisp megvalósítás. A Hemlock szerkesztő mellékelve van.
  • Allegro CL
  • Clozure Common Lisp
  • Steel Bank Common Lisp
Videók

Tudjon meg többet Lispről nézve. Ezek a videók az alapvető oktatóanyagoktól a Lisp logika és filozófia mélyreható kutatásáig terjednek.

  • Gondolkodni, mint egy Lisp programozó
  • Gyakorlati Common Lisp – Google Tech Talk
  • A Lisp rövid bemutatása
  • Lisp – Google Tech Talk
  • Common Lisp: miért nagyszerű makrók?
  • Common Lisp – Hogyan indítsunk el egy új projektet
  • Interaktív játékfejlesztés közös lisptel
  • LiveCoding a CommonLisp-ben
  • Patrick Stein a Vimeo-n
  • Baggers közös Lisp oktatóanyagai

Kapcsolódó nyelvek és nyelvjárások

A Lisp nem egyetlen nyelv, hanem nyelvek családja – egy ötlet a számítógépes programozásról. A Közös Lisp a Lisp legnépszerűbb megvalósítási módja, de létezik más is.

Lisp fő dialektusai a következők:

  • Scheme – A Scheme a vezető „versenytárs” a Common Lisp-nek.
  • Clojure – A Clojure egy lisp nyelvjárás, amely jelenleg egyre népszerűbb. A Java virtuális gépen való futtatáshoz készült.

Közös Lisp GYIK

Mi az Lisp??

A Lisp egy számítógépes programozási nyelvcsalád, amelyet először az 1950-es évek végén fejlesztettek ki. Lisp jelentése Liutca Prszükség, egy név, amely arra utal, hogy a nyelvek elsődleges adatszerkezetként listákat használnak, valamint a programozási szintaxishoz.

Mi a Common Lisp??

A Common Lisp egy Lisp dialektus, amelyet az 1980-as évek elején fejlesztettek ki annak érdekében, hogy a Lisp egyetlen (közös) verzióját hozzák létre. Ez a nyelv két legnépszerűbb változata (a sémával együtt).

Milyen betegségek esetén alkalmazható a Lisp??

A Lisp bármilyen típusú alkalmazáshoz használható, de ez különösen érdekes a mesterséges intelligencia, a gépi tanulás és a fejlett programozás egyéb formái számára, amelyek rekurzív logikát igényelnek.

Miért népszerű a Lisp a mesterséges intelligencia területén??

Ennek legalább két oka van.

Először is, a Lisp elsődleges adatstruktúrája (a lista) a programozási szintaxis felépítése. Vagyis az adatok és az adatokkal kapcsolatos utasítások ugyanolyan formában vannak. (Ezt homoonicitásnak nevezzük.)

Ez azt jelenti, hogy a Lisp felhasználható önmagának elemzésére vagy módosítására. A mesterséges intelligencia területén számos szakértő, valamint számos kapcsolódó filozófus és gondolkodó véleménye szerint ez a rekurzív önvizsgálat az igazi, öntudatos intelligencia alapjául szolgál. Ezenkívül a gépi tanulás lényege, hogy egy program képes megváltoztatni magát az input alapján.

A Lisp népszerűségének második oka az, hogy a nyelv vezérlőszintaxisa szorosan analóg az alapjául szolgáló számítási logikával. Ez sokkal mélyebb betekintést nyújt a Lisp programozóiba abban, hogy egy számítógép miként értelmezi a program logikáját és szintaxisát, mint amennyire más nyelvekkel lehetséges..

Clojure

A Clojure egy viszonylag új (2007) programozási nyelv. Ez Lisp nyelvjárása, amelyet a Java virtuális gépen futtatni terveztek.

Mi a Java virtuális gép??

A JVM egy virtuális számítógép, amely Java és más nyelveket állít össze és futtat. A JVM egy ötlet, nem pedig egy speciális szoftver – a JVM egyik legnépszerűbb megvalósítása az Oracle HotSpot.

A Java és a JVM mögött az az elképzelés áll, hogy el lehet írni programot Java-ban (vagy más támogatott nyelven), és összeállítani a JVM számára. Ezután bármilyen számítógépen futtathatja, amely JVM-et futtat. Ez rendkívül hordozhatóvá teszi – egyszer írhat kódot, és bárhol futtathatja.

Clojure: Lisp a JVM-en

A Java mindenhol megtalálható, ami azt jelenti, hogy a Java virtuális gépek mindenhol vannak. A Lisp JVM-en futó verziójának létrehozása lehetővé tette a Lisp bárhol futtatását. Ez volt a Clojure létrehozásának elsődleges motivációja, és nagyszerű ok a nyelv megtanulására.

Egy másik előnye az, hogy Clojure a JVM-en keresztül hozzáférést biztosít számtalan Java-ban írt eszközhöz és harmadik féltől származó könyvtárhoz. Ez Clojure-nak olyan fejlődési ökoszisztémát ad, amely erősebb, mint bármely Lisp-nyelvjárás korábban elérhető volt.

Clojure oktatóanyagok

  • A Clojure használatának megkezdése és a Clojure bevezetése világosan, gyorsan bemutatja a nyelvet.
  • A Clojure Programming egy kiterjedt, nyílt forrású wikkönyv a nyelvről.
  • Tanuljon X-et Y perc alatt, ahol X = a clojure jó egyszemélyes bevezető a nyelvbe, azok számára, akik már rendelkeznek más nyelvű programozási ismeretekkel.
  • Clojure – A JVM funkcionális programozása egy részletes bemutató, a Java fejlesztők számára.
  • A Clojure Language egy 25 részből álló video bemutató sorozat, amely bemutatja a nyelvet.
  • A Clojure Distilled egy kötelezően olvasható bemutató / esszé, amely nemcsak a nyelv szintaxisát és szókincsét, hanem a mögöttes filozófiát fedi le; megpróbálja ledesztillálni, hogy a Clojure fejlesztői hogyan gondolkodnak a problémákról, és feltárja a problémák megoldásának egyik módját, amely valószínűleg új lesz a más nyelvektől érkező fejlesztők számára..
Egyéb források a Clojure tanulásához
  • Próbáld ki a Clojure-t, egy online Clojure-tolmácsot, amely lehetővé teszi, hogy a Clojure-val tapasztalatot szerezzen a böngészőben, mielőtt helyileg telepítené azt..
  • A ClojureTV videó oktatóvideókkal és élő beszélgetésekkel szolgál a Clojure fejlesztési különféle témáiról.
  • A 4clojure egy interaktív tanulási oldal, programozási gyakorlatokkal Clojure-ban.
  • A Full Disclojure egy másik videocsatorna, rengeteg nagyszerű Clojure-oktatóvideóval.
  • A Clojure-i kezdő útmutató egy hasznos erőforrás, amely az új Clojure-fejlesztőt a Clojure-ökoszisztémát alkotó összes alapvető eszköz és erőforrás felé mutat..

Clojure referenciaanyag

  • A Clojure stílusú útmutató egy egyértelmű, fenntartható Clojure-kód írására vonatkozó, a közösség által írt útmutató a legjobb gyakorlatokról.
  • A ClojureDocs és a Grimoire egyaránt nem hivatalos kísérője a hivatalos dokumentációnak, közösségből származó kommentárokat és példákat nyújtva..
  • A Clojure Cheatsheet egy gyors referencia oldal az apró dolgokról, amelyeket csak emlékezni kell.

Közösségi és folyamatos tanulás

  • A Clojure Subreddit nagyon aktív fórum a kérdések feltevésére és a Clojure közösséggel való kapcsolattartásra;
  • A Clojure Google Csoport és a levelezőlista jó hely a kérdések feltevésére és a Clojure fejlesztésének támogatására.
  • A Disclojure a Clojure hírek és események népszerű oldala;
  • A Clojure Planet a legfontosabb cikkeket foglalja össze a legfontosabb Clojure blogokkal.

Könyvek Clojure-ról

Sok könyv van a Clojure-ról. A Clojure közösség újra és újra ajánlja ezeket:

  • A Clojure for the Brave and True (2015), készítette Daniel Higginbotham, a nyelv kötelező olvasási útmutatója. Ingyenesen olvasható online, és alapul szolgál egy fantasztikus, Clojure-forrásokkal teli weboldalhoz.
  • A Cloderure Cookbook (2014), VanderHart és Neufeld, a tömegből származó Clojure receptek és ötletek összefoglalója. Kapható nyomtatott könyvként és nyílt forráskódú projektként a GitHub-on.
  • A Pragmatikus Könyvespolc számos kiváló könyvet tartalmaz a Clojure-ról:
    • Programozás Clojure (2012), Halloway és Bedra;
    • A Clojure makrók elsajátítása: Írjon tisztább, gyorsabb, okosabb kódot (2014), készítette: Colin Jones;
    • Clojure alkalmazott: a gyakorlattól a gyakorlóig (2015), készítette: Vandgrift és Miller;
    • Webfejlesztés a Clojure segítségével: Golyóálló webes alkalmazások készítése kevesebb kóddal (2016), készítette: Dmitri Sotnikov.
  • A gyakorlati Clojure (2010), VanderHart és Sierra, valamint a Pragmatic Bookshelf’s Programming Clojure (fentebb említett) voltak az első két kiadott könyv a Clojure nyelvéről. A Pragmatikus könyv több és jobb kódmintát tartalmaz, míg az Apress könyve koherensebb magyarázatokkal rendelkezik. Ez a két könyv megmutatja, hogy a legtöbb Clojure-fejlesztő hogyan gondolkodik a nyelvről, és ezért mindenkinek el kell olvasnia, aki komolyan veszi azt..
  • A Clojure Programming (2012), szerzője Emerick, Carper és Grand, nagyon világos bevezetést nyújt a nyelvbe, különösen azoknak az embereknek, akik web-orientált programozási és szkriptnyelvből származnak, például a PHP és a Python..
  • Az Living Clojure (2015), Carin Meier, nagyon praktikus útmutató a nyelvhez, azzal a hasznos feltételezéssel, hogy az olvasó általában érti a programozást. A könyv tartalmaz egy strukturált tanulási tervet, amelyet önálló tanulásra vagy vállalati képzésre terveztek.

Tanulnom kellene Clojure-t?

Valószínűleg.

Széles körben elfogadott truizmus, hogy minden fejlesztőnek meg kell tanulnia Lispot, annak ellenére, hogy valószínűleg nem fogja használni. De most, hogy a Lisp hatalmát egyesítették a Java mindenütt jelenléte, ez a nyelv egyaránt jó tanulni és kivételesen hasznos.

A jó Clojure-fejlesztők nagyon keresettek és jól fizettek, és a nyelv népszerűsége egyre növekszik.

Ha olyan programozási készségeket keres, amelyek elkülönítik Önt más fejlesztőktől, a Clojure az egyik legjobb eszköz, amelyet hozzáadhat a készlethez – és önéletrajzához.

Rendszer

Ha egy kicsit idősebb és középiskolában vagy egyetemen vettél részt egy informatikai bevezető kurzuson, akkor valószínű, hogy abban a kurzusban a régi jó Scheme programozási nyelvet használta..

A rendszer rövid története

A Scheme történetének jobb megértése érdekében a modern számítástechnika nagyon korai szakaszaira kell nézni. A Scheme fejlesztését két korábbi, nagyon eltérő előd befolyásolta: Lisp és ALGOL programozási nyelvek.

A Lispet 1958-ban a Massachusetts Institute of Technology (MIT) John McCarthy készítette. A séma a Lispből származik, az általános szemantika és szintaxis felhasználásával. Ezen felül a Scheme az ALGOL-tól kölcsönzött. Az európai és amerikai számítógépes tudósok bizottsága dolgozta ki 1958-ban az ETH Zürichben tartott ülésén. A séma a blokk felépítését és a lexikai hatókört használta.

1973-ban a MIT Guy L Steele és Gerald Jay Sussman megkísérelte Carl Hewitt színész modelljének a Lambda-kalkulusban történő megvalósítását. Ezt úgy tették, hogy egy apró Lisp tolmácsot írtak a MacLisp-be, és hozzáadták a szereplők létrehozására és az üzenetek küldésére szolgáló mechanizmusokat. Munkájuk során rájöttek, hogy nagyon kicsi és képes Lisp nyelvjárást hoztak létre, és Sémának hívták.

2003-ban a Scheme műhely új szabványosítási folyamatot indított a rendszer számára, és végül 2006-ban kiadta a megerősített R6RS szabványt. A rendszer utolsó stabil kiadása az R7RS szabvány 2013-tól érvényesült..

A rendszer jellemzői

A séma elsősorban funkcionális programozási nyelv, amelynek fő adatstruktúrája a listák és az első osztályú funkciók támogatása. Ez egy egyszerű, minimalista és könnyen megvalósítható programozási nyelv. Ez a minimalista filozófia nagy eltérésekhez vezetett a rendszer gyakorlati megvalósítása között, annyiban, hogy a Rendszerirányító Bizottság „a világ leginkább hordozhatatlan programozási nyelvét” és „a nyelvjárások családját” nevezi, nem pedig egyetlen nyelvnek. A Lisp dinamikus kiterjedésű korábbi származékaival ellentétben a rendszer lexikailag hatókörű (az ALGOL befolyása).

A sémában a blokkok a következő konstrukciókkal valósulnak meg: enged, hagyja * és letrec. Ez a blokk felépítés az ALGOL-tól is örökölt. Iterációs konstrukció csinál használják a sémában, és a farok rekurzióval történő iteráció támogatását is nyújtják. A séma folytatása első osztályú objektum, amelyet a call-a-current-folytatása Séma eljárás (más néven: call / cc). A Sémában az összes adat és eljárás közös névtérrel rendelkezik, a bemenet és a kimenet a kikötő adattípus.

A numerikus torony a rendszerben megadott és megvalósított összetett és racionális numerikus adattípusok halmaza. A késedelmes értékelést a rendszer támogatja a késleltetés forma és a Kényszerítés eljárás.

A rendszer végrehajtása és felhasználása

Az egyszerűség és a minimalizmus miatt a Scheme könyvtárak nagyon népszerűvé váltak a programozási nyelvtervezők, oktatók és amatőrök körében. Ez sokféle megvalósítást és dialektust eredményezett a rendszerben. A hagyományos Lisp stílusú read-eval-print hurkot a séma legtöbb megvalósítása támogatja, és néhányan a séma programokat is futtatható bináris fájlokba fordítja..

A séma megvalósításának egyszerűsége azt is teszi, hogy népszerű választás a nagyobb rendszerek szkriptelési képességeinek hozzáadása. Ezenkívül a Scheme JScheme és Kawa implementációi biztosítják a Java osztályokkal való integrációt.

A rendszert elsősorban az oktatásban használják. Számos bevezető informatika és programtervező kurzuson bemutatja a számítógépes programozás alapjait. A séma egyéb figyelemre méltó felhasználásai között szerepel a Google App feltalálója az Android számára, a GIMP grafikus szerkesztő, a dokumentumstílus-szemantika és a specifikációs nyelv (DSSSL) stb..

Tanulási rendszer

A rendszer széles körű oktatási felhasználása miatt annak tanulása és a tanuláshoz szükséges források keresése nem jelent problémát. Számos rendelkezésre álló tanulási forrás létezik, mind ingyenes, mind pedig kereskedelmi szempontból, és ezek közül néhányat kiemeltünk.

Séma tanfolyamok és források

Mivel a Scheme minimalista és korszerű programozási nyelv, viszonylag könnyű elsajátítani. Ezekkel a tanfolyamokkal és útmutatókkal valószínűleg gyorsan elindíthatja a Scheme programozását.

  • A számítógépes programok felépítése és értelmezése a MIT 6.001 bevezető tanfolyamában található, amely számos hasznos forrással rendelkezik a rendszer számára, beleértve video előadásokat, online tankönyveket, projekteket, átiratokat és válogatott előadási megjegyzéseket.
  • A DrScheme egy integrált fejlesztői környezet (IDE) a Scheme programok írásához, hibakereséséhez és elemzéséhez, szintén az oktatásban.
  • A Pilo Visual Tools for Scheme (PVTS) egy alapvető Séma-tolmács-megvalósítás, megjelenítő eszközökkel. Java nyelven íródott, és nagyon korlátozott tolmácsolási képességekkel rendelkezik, amelynek egyetlen célja a séma kódjának grafikus megjelenítése tananyagként..
  • A Schemers.org egy szép gyűjteménye dokumentációt és a Scheme bevezető szövegeit tartalmazza.
Rendszerkönyvek

Számos Scheme-könyv áll rendelkezésre, ezek közül sok ingyenes és oktatási kurzusokon használható. Ezek nagyon hasznosak lehetnek, ha éppen elkezdi megtanulni a séma programozási nyelvét.

  • A számítógépes programok felépítése és értelmezése Abelson, Sussman és Sussman kiváló számítástechnikai könyv, amelyet a MIT bevezető tanfolyamán használnak. Ez a Lisp és a Scheme világ egyik Biblia és ingyenesen elérhető a MIT Press-től.
  • Hogyan készítsünk programokat: Felleisen, Findler, Flatt és Krishnamurthi bevezetése a számítástechnikába és a programozásba nagyon szép bevezetést nyújt a programozási logikához. Ingyenes és online elérhető, közzétette a MIT Press.
  • A Rendszer programozási nyelve, negyedik kiadása, R Kent Dybvig célja, hogy bemutassa a séma programozási nyelvét, de ne a bevezetést a programozáshoz általában. Ingyenes és online elérhető, közzétette a MIT Press.
  • A Kis Rendszerkészítő – Friedman és Felleisen 4. kiadása bevezeti a számítástechnikát a számtani és az algebrai kiterjesztéseként, a programokat pedig rekurzív függvényekként. Ez a könyv nem ingyenes.
  • A Friedman és Felleisen szezonális rendszerezője a számítás további dimenzióiról is tájékoztatja az olvasót: funkciók mint értékek, állapotváltozás és kivételes esetek. Ez a könyv nem ingyenes.
  • Hogyan kell használni a sémát: Szkriptek és programok írása a PLT Scheme segítségével: Felleisen, Findler, Flatt, Krishnamurthi, Steckler bemutat egy nagyon szép alapvető ötletet, például a fájlbevitelt és -kimenetet, a fejlettebb dolgokhoz, például az egyszerű GUI-kialakításhoz és a webes szkriptekhez a rendszer szempontjai. Ingyenesen elérhető online.

A rendszer megfelelő az Ön számára?

A rendszer nemcsak jó módja a programozás megtanulásának, hanem jó módszer a számítástechnika tanulmányozásának megkezdésére is. Ezeknek az okoknak kell vezetnie a helyes irányba.

Lisp alkalmazás végrehajtása

A Lisp annyira hasznos, hogy gyakran használják az alkalmazások szkriptnyelvén. A két legnagyobb az Emacs szövegszerkesztő és az AutoCAD számítógépes tervezés (CAD) alkalmazás. Az alábbiakban nézzük meg mindkettőt.

AutoLISP

Ha számítógépes tervezésű (CAD) szoftvert használ, például AutoCAD, Bricscad vagy IntelliCAD, akkor egy bizonyos ponton valószínűleg további testreszabási vagy automatizálási szolgáltatásokra lesz szüksége a CAD környezetben.

Az AutoLISP itt lép be. Az AutoLISP egy egyszerű, könnyű programozási nyelv, amelyet kifejezetten a CAD szoftverrel való használatra készítettek..

Az AutoLISP rövid története

Az AutoLISP egy a Lisp programozási nyelvének nyelvjárása, testreszabva és korszerűsítve az AutoCAD környezetben történő felhasználáshoz.

A Lisp egy programozási nyelv családja, amely 1958-ban nyúlik vissza. A Lisp név a “Listaprocesszorból” származik, és a csatolt listák a Lisp egyik fő adatszerkezete.

Az AutoLISP-et először az Autodesk AutoCAD 2.18-as verziójában vezették be 1986-ban, és folyamatosan továbbfejlesztették az új kiadásokban, egészen a 1995-ös kiadásig, amikor az Autodesk leállította az AutoLISP fejlesztését egy olyan modernabb fejlesztési környezet számára, mint a VBA vagy .NET..

Ennek ellenére az AutoLISP sok AutoCAD felhasználó számára továbbra is az elsődleges testreszabási nyelv volt.

Az Autodesk 1997-ben kiadta az AutoCAD 14-et, és bevezette a Visual Lisp-t, mint az AutoCAD kereskedelmi kiegészítőjét. A Visual Lisp tartalmaz egy integrált fejlesztési környezetet (IDE), hibakeresőt és fordítót, valamint ActiveX támogatást.

Az AutoCAD 2000 1999-es kiadásával a Visual Lisp bekerült az AutoCAD-be az AutoLISP helyett. Azóta az Autodesk leállította a Visual Lisp jelentős fejlesztéseit, hogy a VBA, .NET és C++.

A Visual Lisp és az AutoLISP továbbra is támogatott marad az AutoCAD-ben, míg a 7.1-nél régebbi VBA-verziók támogatása 2014. január 31-ig megszűnt..

Számos más CAD szoftvergyártó is támogatást kapott az AutoLISP-nek a saját termékeiben, a nagy felhasználói bázis, valamint az AutoLISP-ben elérhető számos segédprogram és alkalmazás miatt..

Miért használják az emberek az AutoLISP-t a C helyett?++?

Ha az Autodesk AutoCAD teljes verzióját használja, akkor az AutoLISP fordító már szerepel az AutoCAD-ben, és használatra kész. Van még egy szép IDE a fedélzeten – Visual Lisp. Felhívjuk figyelmét, hogy az AutoCAD LT kiadások nem rendelkeznek beépített támogatással az AutoLISP számára.

A legtöbb AutoCAD-felhasználó vagy hasonló CAD-megoldások felhasználója nem ismeri a programozási és programozási nyelveket, így a C ++ megtanulása egy egyszerű program vagy automatizálási funkció létrehozásához az AutoCAD-ben nem lenne praktikus.

Az AutoLISP egyszerű, áramvonalas, és sokkal könnyebben használható és tanulható, mint a C ++ vagy a Visual Basic, és a programozás elindításához már minden megtalálható az AutoCAD-ben..

Az AutoLISP-ben írt programok és segédprogramok az AutoCAD segítségével könnyen elérhetők és végrehajthatók. Ez az a fő ok, amely miatt az AutoLISP a legjobb lehetőség az AutoCAD testreszabásához a felhasználók számára.

AutoLISP szolgáltatások

Az AutoLISP egy értelmező nyelv, nincs lefordítva, így egy ASCII szövegfájlban tárolható, betölthető és közvetlenül az AutoCAD-en végrehajtható..

Az AutoCAD-ben manuálisan végrehajtott szinte minden művelet automatikusan elvégezhető az AutoLISP használatával.

Az AutoLISP gazdag funkciókkal rendelkezik, amelyekkel bármilyen tevékenységet elvégezhet az AutoCAD-ben, például általános programozási funkciók a változó manipulációhoz, döntés-vezérléshez, hurkokhoz, aritmetikai műveletekhez, hibakezeléshez és funkciókezeléshez.

Különböző funkciókkal rendelkezik számos területen, például: geometria, képernyővezérlés, lekérdezés és parancs, felhasználói bevitel és tárgykezelés.

Az AutoLISP Dialog Control Language-t is tartalmaz, a beépített GUI mini-nyelvet az AutoCAD automatizált elrendezésű modális párbeszédpaneleinek létrehozásához. Az AutoCAD futtatására képes összes platform támogatja az AutoLISP-t is.

Az AutoLISP tanulása

Vannak bizonyos tényezők, amelyek megkönnyíthetik az AutoLISP tanulását.

Ha tapasztalt AutoCAD-felhasználó, akkor az AutoLISP megtanulása könnyebb lesz. Az AutoLISP alapvetően az AutoCAD vezérlésének egyik módja, így minél jobban ismeri az AutoCAD-et, annál jobban tudja, mit kell tennie az automatikus vezérléshez..

AutoLISP oktatóprogramok

Az AutoLISP egy nagyon egyszerű nyelvtanulás, és valószínűleg a legtermékenyebb az AutoCAD-be beépített különféle alkalmazásprogramozási felületek közül. Ezekkel az oktatóanyagokkal valószínűleg készen áll arra, hogy időben elkészítse saját hasznos programjait.

  • Az AfraLISP kiváló gyűjteménye az AutoLISP ingyenes tananyagokból, valamint források kezdőknek, középhaladó és haladó felhasználóknak.
  • Az Autodesk hivatalos AutoLISP Fejlesztői útmutatója lépésről lépésre áttekintést nyújt az AutoLISP programozási nyelv használatának fő témáiról és munkafolyamatairól. Érdeklődésre számít azok hivatalos AutoLISP funkció referenciája is, amely biztosan hasznos lesz az AutoLISP programozásakor.
  • Az AutoLISP elsajátítása 80 perc alatt egy Power Point bemutató az Augi CAD Camp 2005-ből, ingyenesen letölthető. Lefedi az AutoLISP alapjait, és a köztes AutoCAD felhasználók számára készült.
  • Az AutoLISP Quick Start a CADTutor.net webhelyen azoknak az AutoCAD felhasználóknak szól, akik szeretnék megtanulni az AutoLISP használatát..
  • Az Ön első AutoLISP programja: A zoom to Origin egy rövid bemutató, amely bemutatja egy rövid AutoLISP program írásának alapjait az AutoCAD Visual Lisp Editor programjában.
  • A Lee Mac Programing érdekes forrásokat kínál az AutoLISP számára, például oktatóanyagokat és számos funkcionális AutoLISP programot, amelyeket letölthet és tanulhat..
AutoLISP Books

Számos, az AutoLISP-vel és annak AutoCAD-ben történő felhasználásával foglalkozó könyv széles körben elérhető. Lehet, hogy ezek közül a könyvek közül néhány nagyon hasznos az AutoLISP programozásának megtanulásához, bár javasolnánk, hogy először menjenek át az online oktatóprogramokon..

  • AutoLISP programozás: Rawis és Hagen alapelvei és technikái gyakorlati és könnyen követhető utasításokat nyújtanak az AutoLISP programozási nyelv elsajátításához..
  • AutoCAD platform testreszabása: Lee Ambrosius felhasználói felülete, AutoLISP, VBA és azon túl egy átfogó útmutató az AutoCAD platform egyszerűsítéséhez és személyre szabásához. Az AutoLISP és a VBA programozási nyelvek számos testreszabási lehetőséget nyitnak meg, és ez a könyv szakértői útmutatást nyújt azok alkalmazására az AutoCAD, Civil 3D, Plant 3D és más programokban, amelyek az Autodesk AutoCAD platformon alapulnak..
  • Az AutoCAD szakértője Reinaldo Togores által készített Visual LISP: bemutatja a Lisp programozási technikáit, beleértve a Visual Lisp integrált fejlesztési környezetét, a semmiből indulva.

Készen állsz az AutoLISP-re?

Annak ellenére, hogy az AutoLISP a Lispből származik, amely egy nagyon régi programozási nyelv, az AutoLISP továbbra is nagyon értékes eszköz az AutoCAD felhasználók számára..

Az AutoLISP továbbra is a kiválasztott eszköz a testreszabáshoz és az automatizáláshoz az AutoCAD és más CAD szoftverekben, AutoLISP támogatással.

Emacs Lisp

Ha GNU Emacs vagy más hasonló Emacs szövegszerkesztőt használ, akkor valószínűleg hallottál az Emacs Lisp-ről. Az Emacs Lisp a GNU Emacs szövegszerkesztő legtöbb szerkesztési képességének fejlesztésére és kódolására használt programozási nyelv. Az Emacs Lisp-t Elsip-nek is nevezik.

Az Emacs Lisp alapvetően a GNU Emacs szövegszerkesztő képességeinek testreszabására és bővítésére szolgál.

Lisp Emacs rövid története

Az Emacs Lisp a Lisn programozási nyelvének minimalista nyelvjárása, amelyet a GNU Emacs és XEmacs szövegszerkesztõkben használnak. Lisp a „List Processor” kifejezést jelenti, és a programozási nyelvek családját képviseli, amely 1958-ban nyúlik vissza.

Richard Stallman, a GNU Projekt alapítója létrehozta a GNU Emacs szövegszerkesztőt.

Először 1985-ben jelent meg, a GNU Emacs 13. verziója az Emacs Lisp használatát vezette be saját kiterjesztési nyelvként. Lisp Emacs nagyrészt a Lisp programozási nyelvének Maclisp nyelvjárása ihlette.

A GNU Emacs legújabb stabil kiadása a 24.5 verzió, és 2015 áprilisában jelent meg.

Az Emacs Lisp a GNU Emacs szerves része és a GNU Emacs által támogatott összes platformon fut – GNU, GNU / Linux, FreeBSD, NetBSD, OpenBSD, Mac OS X, Microsoft Windows és Solaris..

Mind az Emacs Lisp, mind a GNU Emacs nyílt forráskódú és ingyenes. A GNU General Public License alatt kerülnek közzétételre, és a forráskód szabadon elérhető a vizsgálathoz, módosításhoz és újraelosztáshoz..

Ki használja az Emacs Lisp és a GNU Emacs szoftvereket??

A mai modern integrált fejlesztési környezettel (IDE) a kód írása egy speciális szövegszerkesztőben, például a GNU Emacs, első pillantásra nagyon furcsa lehet..

Egy tapasztalt felhasználó számára azonban a GNU Emacs számos hatékony kódszerkesztő funkcióval rendelkezik, amelyeknek a legtöbb modern IDE-nek nincs.

A GNU Emacs kiterjeszthető, testreszabható, önállóan dokumentáló, valós idejű képernyő-szerkesztőként írható le, és ezeknek a nagy teljesítményű szolgáltatásoknak szinte mindegyike az integrált Emacs Lisp tolmácsból származik..

A modern IDE-k a GUI-ra és a vizuális elemekre összpontosítanak, és elsősorban egérvezérelt. Eltől eltérően a GNU Emacs a billentyűzet bevitelére és az erőteljes szövegszerkesztő funkciókra összpontosít, így jobban megfelel a tiszta kódot író programozóknak, mint a legtöbb modern IDE..

A GNU Emacs minden népszerű programozási nyelvet támogat. Mi több, az Emacs Lisp egy hatékony eszköz a GNU Emacs bővítéséhez és testreszabásához..

Emacs Lisp szolgáltatások

Mivel az Emacs Lisp programozási nyelvet kifejezetten szerkesztőben való használatra fejlesztették ki, speciális funkciókat kínál a szöveg elemzéséhez és szkenneléséhez, az alfolyamatok kezeléséhez, pufferekhez, képernyőkhöz, fájlokhoz és így tovább. A szerkesztési parancsok olyan funkciók, amelyeket az Emacs Lisp programokból lehet meghívni.

Az Emacs Lisp szolgáltatásai szoros kapcsolatot mutatnak a Maclisp nyelvjárással. Az Emacs Lisp alapértelmezés szerint dinamikus hatókört használ, mind a imperatív, mind a funkcionális programozási módszerek támogatásával, és arra összpontosít, hogy az adatszerkezeteket és funkciókat egy specifikus szövegszerkesztőben felhasználhassa..

A statikus hatókör opcionálisan elérhető a 24. verziótól kezdve. A változó beállításával aktiválható lexikai-kötő. Vegye figyelembe, hogy az Emacs Lisp nem támogatja a farokhívás optimalizálását, így a farok visszatérítése verem túlcsordulási hibákat okozhat..

Az Emacs Lisp szkriptnyelvként használható a GNU Emacs számára is, amelyet a parancssorból vagy egy futtatható fájlból lehet meghívni, a program számára elérhető összes szerkesztési funkcióval.

A GNU Emacs felhasználói felülete nem jelenik meg, ha kötegelt módban fut, a szkriptekhez használt Emacs Lisp-vel, így jobban viselkedik, mint egy szabványos Unix eszköz.

Fejlesztési környezete

Az Emacs Lisp használatának megkezdéséhez telepítenie kell a GNU Emacs szövegszerkesztőt. Ez egy nagyon egyszerű folyamat.

Csak lépjen a Gnu.org Emacs letöltési oldalra, és kövesse a GNU Emacs letöltésére és telepítésére vonatkozó utasításokat. A GNU Emacs a következő platformokat támogatja: GNU, GNU / Linux, FreeBSD, NetBSD, OpenBSD, Mac OS X, Microsoft Windows és Solaris..

Learning Emacs Lisp

Természetesen az Emacs Lisp megtanulása könnyebb lesz, ha korábbi programozási tapasztalatokkal rendelkezik, különösen a Lisp-ből származó funkcionális programozási nyelvekben.

Az általános programozási tapasztalat szintén örvendetes, mert a veterán kódolók hajlamosak kívülről ismerni a szöveg / kód szerkesztőket.

Emacs Lisp oktatóanyagok és források

Az Emacs Lisp egy minimalista és könnyen megtanulható programozási nyelv, ám viszonylag korlátozott, fülkés fellebbezésének köszönhetően nincs sok online forrás. Kiválasztottunk néhány oktatóanyagot és tanulási forrást, amelyek hasznosak lehetnek, ha csak most kezdik el a Lisma Emacs használatát:

  • A Gnu.org bemutatója a programozáshoz az Emacs Lisp alkalmazásban az új felhasználók számára szól, akiknek nincs korábbi programozási tapasztalata.
  • A GNU Emacs Lisp Reference Manual az Emacs Lisp teljes leírása és referenciája. Ez a kézikönyv azt feltételezi, hogy kényelmesen használja az Emacs szoftvert szerkesztéshez.
  • Az Elisp Cookbook sok kód példát tartalmaz, amelyek bemutatják az Emacs Lisp alapvető programozási műveleteit.
  • Az Emacs Lisp Wiki linkeket tartalmaz a jó forrásokhoz az Emacs Lisp programozásának megkezdéséhez.
Emacs Lisp Books

Számos Emacs Lisp könyv is megtalálható. Néhányuk nagyon hasznos lehet, ám még mindig javasoljuk, hogy ingyenes oktatóanyagokat és forrásokat próbáljon ki online. Ha további forrásokra van szüksége, vásárolhat egy vagy két könyvet.

  • Bevezetés a programozáshoz az Emacs Lisp programban, Robert J Chassell alapvető oktatóprogram a nem programozók számára, bemutatva nekik, hogyan lehet testreszabni a GNU Emacs szoftvereket az Emacs Lisp programozási nyelv használatával.
  • Emacs Lisp – Robert J Chassell bevezetése azért készült, hogy elinduljon a Lisp Emacsdel, és segítsen a programozás alapelveinek megismerésében..
  • GNU Emacs kiterjesztések írása: Bob Glickstein szerkesztői testreszabásai és létrehozásai Lisp-vel: realisztikus példákkal mindent megmutat, az egyszerű testreszabástól kezdve az Emacs Lisp kiterjedt moduljain át egészen az Emacs Lisp-ig..

Ha Emacs-ot használ, akkor szüksége van az Emacs Lisp-re

A GNU Emacs programot szöveges szerkesztőként fejlesztették ki, amely támogatja az Emacs Lisp segítségével történő testreszabást.

A GNU Emacs azonban az Emacs Lisp programozási nyelv által nyújtott hatalomnak és bővíthetőségnek köszönhetően szinte teljes értékű IDE lett..

Ez egy erős, de nagyon speciális programozási nyelv. Ez nem valami, amit az átlagos fejlesztőknek el kell sajátítaniuk, de néhány niche-alkalmazásban az Emacs Lisp-et továbbra is széles körben használják, és ez valószínűleg nem változtatja meg hamarosan.

Következtetés

Alig megkarcoltuk Lisp világának felszínét. De amint láthatja, rendkívül hasznos nyelv tudni, függetlenül attól, hogy alkalmazásokat készít, vagy csak megpróbálja megkönnyíteni a szövegszerkesztést.

Egyéb érdekes dolgok

Több útmutató, oktatóanyag és infographics található a kódoláshoz és fejlesztéshez:

  • F # programozás: megtudhatja a .NET keretrendszer funkcionális programozását.
  • Erlang programozási bevezetés és források: a párhuzamos kód létrehozásához használt korai funkcionális nyelv.
  • Java: Bevezetés, Hogyan kell megtanulni és az erőforrások: olvassa el a Java programozóvá válásának részletes útmutatóját.
Milyen kódot kell megtanulnia?

Zavaros abban, hogy milyen programozási nyelvet kell megtanulnia a kódoláshoz? Nézze meg az Infographic című cikket, Milyen kódot kell megtanulnia?

Nemcsak a nyelvek különféle aspektusait tárgyalja, hanem olyan fontos kérdéseket is megválaszol, mint például: “Mennyit fogok pénzt keresni a Java megélhetéséhez?”

Milyen kódot kell megtanulnia?
Milyen kódot kell megtanulnia?

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me