Сазнајте Лисп програмирање: увод, верзије и још много тога

Откривање: Ваша подршка помаже одржавању сајта да ради! Зарађујемо накнаду за препоруку за неке услуге које препоручујемо на овој страници.


Лисп програмирање

Лисп је породица програмских језика, први пут осмишљен 1958. и коначно имплементиран 1961. То чини други најстарији језик који је и даље у заједничкој употреби, након Фортрана.

Али док Фортран и даље полако бледи, Лисп је и даље веома важан део пејзажа рачунарске науке.

Лисп је јединствен на више начина. Као једна ствар, сваки израз у Лиспу је листа, једна од две примарне врсте података на језику. (Због тога се назива „Лисп.“)

Пошто се сам код може проценити као врста података на језику, Лисп се подвргава рекурзији и интроспекцији.

Штавише – за разлику од већине других језика – Лисп код је читљива верзија стварне структуре података јер је обрађује основни Лисп систем.

То значи да постоји висок степен сличности између начина на који програмер мисли о програму и онога што програм заправо ради „испод хаубе“.

Лисп се може користити за било који број апликација и проблематичних домена, али је посебно користан за вештачку интелигенцију и машинско учење.

Contents

Самосталне имплементације Лисп-а

То је знак Лиспове корисности да постоји толико различитих верзија ове верзије. Они укључују самосталне језике и језике уграђене у апликације. Размотрићемо оба у наставку.

Обични Лисп

Обични Лисп један је од најпопуларнијих Лиспових дијалеката. Први пут је објављен 1984. године, а стандард АНСИ постао је деценију касније.

Било је побољшање за Мацлисп. Али то није била једина верзија Лиспа која је радила на Мацлиспу; било је још неколико. Али Цоммон Лиспова посвећеност стандардизацији учинила га је на крају најуспешнијим.

Уобичајени Лисп ресурси

Ако вас занима Цоммон Лисп, постоји много начина да га научите.

Књиге

Постоји врло мало мрежних водича за Цоммон Лисп, тако да ако заиста желите да научите језик, мораћете да се консултујете са једном или више књига. Срећом, многа од њих постоје онлине издања.

  • Цоммон Лисп: Нежни увод у симболичко рачунање
  • АНСИ Цоммон Лисп
  • Практични обични Лисп
  • На Лиспу: Напредне технике уобичајеног Лиспа
  • Успешан Лисп: Како разумети и користити уобичајени Лисп
  • Објектно оријентисано програмирање у ЦОММОН Лисп: Водич за програмере за ЦЛОС
  • Уметност протокола метаобјеката
  • Лисп у малим комадима
  • Елементи вештачке интелигенције помоћу обичног Лиспа
  • Пусти Ламбду

Многе најзначајније и најутицајније књиге о Лиспу написане су у 1970-им и 1980-има, а данас су ван штампе и тешко их је пронаћи. Неколико ових књига је доступно на мрежи, а линкове до њих можете пронаћи у наставку.

Онлине ресурси

Од историјског интереса

Лисп је историјски интересантан језик. Његов развој је уско везан за развој вештачке интелигенције и машинско учење. Такође је један од најнеуобичајенијих језика у заједничкој употреби, са синтаксом и унутрашњом логиком различито од већине других језика.

Те разлике су део текућих расправа у заједници рачунарских наука о природи рачунања и одговарајућој граматики за програмирање.

Свако ко данас одузима време за учење Цоммон Лиспа требало би да има смисла да истражи неку историју језика.

  • Рекурзивне функције симболичких израза и њихово рачунање машином – написао 1960. године, Јохн МцЦартхи. Ово је оригинални чланак који описује шта би постало Лисп.
  • Основа математичке теорије рачунања – чланак који је написао МцЦартхи 1961. године, истражујући многе идеје из папира „Рецурсиве Фунцтионс“. Такође погледајте испитни рад, ка математичкој науци о рачунању.
  • Лисп – Белешке о прошлости и будућности – МцЦартхи је написао овај чланак 1980. године, 20 година након што је Лисп пуштен.
  • ВИДЕО: Вештачка интелигенција

Јохн МцЦартхи (1927-2011) био је дугогодишњи професор рачунарске науке на Универзитету Станфорд. Његова почетна страница је ризница занимљивих чланака о АИ, Лиспу, теоријској рачунарској науци и сродним темама.

Леарн Лисп

Не постоји много мрежних туторијала за Цоммон Лисп, као што су то за популарније језике попут ПХП или Руби. Међутим, постоји много књига о Лиспу које су објављене као онлајн издања.

Многи од њих написани су у 1970-им и 80-има, мада сигурно постоје и неки савременији извори.

  • Он Лисп – Интернет издање одличне књиге Пола Грахама.
  • Цоммон Лисп: Нежни увод у симболичко рачунање
  • Лисп ин Смалл Партс – низ кратких туторијала
  • Практични обични лисп – Комплетно издање класичне уводне књиге на мрежи.
  • Земља Лиспа – Смешна, идиосинкратска веб страница и књига која учи људе како да користе Лисп.
  • Леарн Цоммон Лисп – научите Кс за И минута, где је Кс = Цоммон Лисп.
  • ЕЛМ-АРТ Лисп курс – научите да користите Лисп са епизодним моделом ученика на Адаптиве Ремоте Тутор
  • Лисп Куицкстарт
  • ЛиспТутор Јр
  • Цастинг Спелс у Лиспу
  • Уобичајени Лисп: Интерактивни приступ
  • Савјети за стил Лисп за почетнике
  • Водитељ Паспа Цостанзе за Лисп

Обавезно читање:

  • Стање заједничког екосистема Лисп.
Лисп Референце и документација

Ако почнете да радите са Лиспом, више од чак и већине других језика наићи ћете на то да вам је потребно да константно консултујете референтни материјал. Ево неких од најчешће кориштених референтних радова Цоммон Лисп доступних на мрежи.

  • Уобичајени Лисп Викибоок
  • Уобичајени Лисп ХиперСпец
  • Клики: Заједнички Лисп Вики
  • Заједничка документација за ЛиспВоркс
  • Уобичајена Лисп куварица
  • Гоогле Цоммон Лисп Стиле Гуиде – Како написати Цоммон Лисп на начин на који Гоогле пише Цоммон Лисп. (Да ли сте уопште знали да Гоогле пише Цоммон Лисп?)
  • Заједнички језик
Посебне теме у Лисп програмирању

Лисп је, по својим заслугама, прилично специјализован језик. Ево неколико извора о посебно специјализованим питањима у Цоммон Лиспу.

  • Парадигме програмирања вештачке интелигенције: Студије случајева у обичном Лиспу – такође погледајте књигу.
  • Уобичајени систем објеката Лисп
Лисп Тоолс

Ако желите да постигнете било шта важно од Цоммон Лисп-а, требаће вам већи екосистем језичке подршке – библиотеке, додаци, развојни алати, оквири.

Ево неких од најпопуларнијих алата које Лисперс користе да би довршили ствари.

  • АЦЛ2 – Рачунална логика за апликативни уобичајени Лисп
  • Макрои читача у Цоммон Лиспу – Макрои читача омогућавају вам да креирате потпуно нову синтаксу на врху Лиспа
  • Куицклисп – Менаџер библиотеке за Цоммон Лисп
  • Цлацк – окружење веб апликација за Цоммон Лисп. Поврх тога је изграђено неколико оквира веб апликација:
    • Цавеман
    • Нингле
    • Луцерн
  • Паренсцрипт – преводи уобичајени Лисп на Јавасцрипт
  • јсцл – Још један уобичајени преводилац за Лисп то ЈаваСцрипт
  • Росвелл – Инсталатер командне линије за Цоммон Лисп
  • ЦоммонКТ – Цоммон Лисп екстензија за КтТоолс, која нуди ГУИ решење.
  • ЦЛМЛ – Уобичајена библиотека за машинско учење Лисп-а
  • МГЛ – Анотх библиотека за машинско учење
  • Антик – библиотека која пружа алате за научно и инжењерско рачунање
  • Дизалица – ОРМ за Цоммон Лисп.
  • цл-дби – слој апстракције базе података
  • ЦЕПЛ – Библиотека графике. (Погледајте њихову опсежну серију видео туторијала.)
  • Ирон Цлад – Алати за криптографију.
  • СЛИМЕ – стандардни ИДЕ за Цоммон Лисп.
Лисп култура и заједница

Више од било којег другог језика, Лисп има своју културу – јединствену лору, хумор и традицију. Нешто од тога сеже у своје коријене на одјелима за рачунарске науке на универзитетима.

Поред тога, неки се односе на рану геек хакерску културу, а неки су резултат особитости самог језика и врста апликација које се најчешће користе.

Ако заиста желите да разумете Лисп, не можете једноставно да научите језик – морате да научите културу и да постанете део ове (чудне и дивне) заједнице.

  • Лисп Форум
  • Радионица о психолошкој стварности Лиспа
  • Цитати о Лиспу
  • Разговор са Аланом Кејом
  • Вечни пламен
  • Лисп Хумор
  • Уобичајени филм о Лиспу
  • Ланд оф Лисп Мусиц Видео
  • Планета Лисп
  • Састанци у Лиспу – такође погледајте [@лиспмеетингс на Твиттеру] (хттпс://твиттер.цом/лиспмеетингс)

Обавезно читање:

  • Годел, Есцхер, Бацх: Вјечна златна плетеница, Доуглас Р. Хофстадтер – Ова књига није директно повезана са Лиспом (мада о томе се мало говори). Али то је изузетно важан културни и интелектуални камен спотицања за људе из бројних различитих подручја у којима Лисп обитава: вештачка интелигенција, машинско учење, математичка логика и рекурзија. Ова књига ће променити начин на који мислите и на крају ћете размишљати више као врста особе која користи Лисп.
Уобичајене Лисп имплементације

Лисп је идеја, а Цоммон Лисп је језик – то није специфична технологија. Следе неке од популарнијих примена Цоммон Лисп-а.

  • Цлисп – ГНУ Цлисп, имплементација АНСИ Цоммон Лисп-а
  • ГЦЛ – још једна уобичајена Лисп имплементација
  • ЦМУЦЛ – високе перформансе, бесплатна Цоммон Лисп имплементација. Хемлоцк уређивач је укључен.
  • Аллегро ЦЛ
  • Затварање Обично Лисп
  • Стеел Банк Цоммон Лисп
Видео

Сазнајте више о Лиспу гледајући. Ови видеозаписи воде спектар од основних туторијала до дубинских истраживања Лиспове логике и филозофије.

  • Размишљам као Лисп програмер
  • Працтицал Цоммон Лисп – Гоогле Тецх Талк
  • Кратки увод у Лисп
  • Лисп – Гоогле технички разговор
  • Уобичајени Лисп: зашто су макрои одлични
  • Цоммон Лисп – Како започети нови пројекат
  • Интерактивни развој игара са уобичајеним лупкањем
  • ЛивеЦодинг у ЦоммонЛисп-у
  • Патрицк Стеин на Вимеу
  • Уобичајени туторијали о Лиспу од Багера

Сродни језици и дијалекти

Лисп није један језик, већ породица језика – идеја о томе како да урадите рачунарско програмирање. Цоммон Лисп је најпопуларнија имплементација Лиспа, али постоји и неколико других.

Главни Лиспови дијалекти су:

  • Шема – Шема је водећи „конкурент“ Цоммон Лиспу.
  • Цлојуре – Цлојуре је Лиспов дијалект који тренутно добија све већу популарност. Направљен је да ради у Јава виртуелној машини.

Најчешћа питања о Лиспу

Шта је Лисп?

Лисп је породица рачунарских програмских језика који су први пут развијени крајем 1950-их. Лисп се залаже Лист Процессинг, назив који се односи на чињеницу да језици користе листе као своју примарну структуру података, а такође и за своју програмску синтаксу.

Шта је заједнички Лисп?

Уобичајени Лисп је Лиспов дијалект који је развијен почетком 1980-их као покушај стварања јединствене (уобичајене) верзије Лиспа. То је једна од две најпопуларније верзије језика (заједно са шемом).

За шта се Лисп користи?

Лисп се може користити за било коју врсту апликација, али посебно је занимљив за вештачку интелигенцију, машинско учење и друге облике напредног програмирања који захтевају рекурзивну логику.

Зашто је Лисп популаран у умјетној интелигенцији?

Постоје најмање два разлога за то.

Прво, Лиспова примарна структура података (листа) је такође структура његове програмске синтаксе. Односно, подаци и упутства о подацима имају исти облик. (То се назива хомоицонизам.)

То значи да се Лисп може користити за анализу самог себе или за модификовање самог себе. Многи стручњаци из области вештачке интелигенције, као и многи филозофи и мислиоци у сродним доменима, сматрају ову врсту рекурзивне интроспекције темељ за стварну, самосвесну интелигенцију. Штавише, способност да се програм мења на основу уноса је суштина машинског учења.

Други разлог за Лиспову популарност у АИ је тај што је контролна синтакса за језик блиско аналогна рачунској логици која се налази у њему. То омогућава програмерима Лисп много дубљи увид у то како рачунар заправо интерпретира логику и синтаксу програма него што је то могуће са другим језицима.

Цлојуре

Цлојуре је релативно нов (2007) програмски језик. То је дијалект Лиспа, дизајниран да ради на Јава виртуелној машини.

Шта је Јава виртуелна машина?

ЈВМ је виртуелни рачунар који компајлира и покреће Јава и друге језике. ЈВМ је идеја, а не специфичан део софтвера – једна од најпопуларнијих имплементација ЈВМ-а је ХотСпот од Орацле.

Идеја која стоји иза Јаве и ЈВМ-а је да можете написати програм на Јави (или неком другом подржаном језику) и саставити га за ЈВМ. Затим га можете покренути на било којем рачунару који покреће ЈВМ. То га чини изузетно преносним – код можете написати једном и покренути га било где.

Цлојуре: Лисп на ЈВМ

Јава је свуда, што значи да су Јава виртуелне машине свуда. Стварање верзије Лиспа која се покреће на ЈВМ омогућило је покретање Лиспа било где. То је била основна мотивација за стварање Цлојуреа и велики разлог за учење језика.

Друга предност је та што Цлојуре пружа приступ, путем ЈВМ-а, безброј алата и библиотека трећих страна написаних на Јави. То даје Цлојуре-у развојни екосистем који је снажнији од оних који су претходно били доступни било ком Лисповом дијалекту.

Цлојуре Туториалс

  • Први кораци са Цлојуреом и Увод у Цлојуре омогућавају јасан и брз увод у језик.
  • Цлојуре Програмирање је опсежна вики књига отвореног кода о том језику.
  • Научите Кс за И минута, где је Кс = цлојуре добар једноседски увод у језик, за људе који имају постојеће вештине програмирања на другим језицима.
  • Цлојуре – Функционално програмирање за ЈВМ детаљан је водич за Јава програмере.
  • Цлојуре Лангуаге је серијал видео туторијала са 25 дела који представља језик.
  • Цлојуре Дистилатед је туториал / есеј који је потребно прочитати и који не покрива само синтаксу и вокабулар језика, већ и филозофију која стоји иза њега; покушава дестилисати како програмери Цлојуре мисле о проблемима и истражује начин решавања проблема који ће вероватно бити нови за програмере који долазе из других језика.
Остали ресурси за Цлојуре Леарнинг
  • Испробајте Цлојуре, интернетски је преводитељ Цлојуре, који вам омогућава да доживите Цлојуре у прегледачу прије него што га локално инсталирате..
  • ЦлојуреТВ има видео туторијале и разговоре уживо о различитим темама развоја Цлојуре-а.
  • 4цлојуре је интерактивно место за учење са вежбама програмирања у Цлојуре-у.
  • Фулл Дисцлојуре је још један видео канал са мноштвом одличних видео снимака о Цлојуре-у.
  • Цлојуре водич за новаце је користан извор који упућује новог програмера Цлојуре на све битне алате и ресурсе који творе Цлојуре екосустав.

Цлојуре референтни материјал

  • Цлојуре Стиле Гуиде водич је најбоље праксе за писање јасног и одрживог кода Цлојуре.
  • ЦлојуреДоцс и Гримоире су и неслужбени додаци званичној документацији, нудећи коментаре и примере у заједници..
  • Цлојуре Цхеатсхеет је брза референтна страница за све ситнице које једноставно морате запамтити.

Заједница и стално учење

  • Цлојуре Субреддит је врло активан форум за постављање питања и интеракцију са Цлојуре заједницом;
  • Цлојуре Гоогле група и листа за слање је добро место за постављање питања и подршку за развој Цлојуре;
  • Дисцлојуре је популарно место за вести и догађаје Цлојуре;
  • Планет Цлојуре обједињује најважније чланке из топ блогова Цлојуре.

Књиге о Цлојуре-у

Постоји много књига о Цлојуреу. Ево оних које заједница Цлојуре препоручује изнова и изнова:

  • Цлојуре фор тхе Браве анд Труе (2015), Даниел Хиггинботхам, водич је који треба прочитати. Такође је доступан за бесплатно читање на мрежи, и чини основу за фантастичну веб страницу пуну Цлојуре ресурса.
  • Цлојуре Цоокбоок (2014), аутора ВандерХарт-а и Неуфелда, представља мноштво Цлојуре-ових рецепата и идеја. Доступна је као штампана књига и као пројекат отвореног кода на ГитХуб-у.
  • Прагматична полица за књиге има неколико одличних књига о Цлојуреу:
    • Программинг Цлојуре (2012), Халловаи и Бедра;
    • Мастеринг Цлојуре Мацрос: Чистач писања, бржи, паметнији код (2014), аутор Цолин Јонес;
    • Примењена Цлојуре: Од праксе до практичара (2015), аутора Вандгрифт и Миллер;
    • Веб развој са Цлојуре-ом: Израдите непробојне веб апликације са мање кода (2016), Дмитри Сотников.
  • Практична Цлојуре (2010), аутора ВандерХарт-а и Сиерра, и Прагматични програмски програм Цлојуре-а (поменуте горе) биле су прве две књиге објављене о Цлојуре-овом језику. Прагматична књига садржи више и бољих узорака кода, док ова књига из Апресса има кохерентнија објашњења. Ове две књиге постављају тон како већина програмера Цлојуре размишља о језику, и зато би га требало прочитати сви озбиљни који га уче..
  • Цлојуре Программинг (2012), Емерицк, Царпер и Гранд, врло је јасан увод у језик, нарочито за људе који долазе из веб-програма и скриптних језика као што су ПХП и Питхон.
  • Ливинг Цлојуре (2015), Царин Меиер, веома је практичан водич кроз језик, уз корисну претпоставку да читалац уопште разуме програмирање. Књига садржи структурирани план учења осмишљен или за самостално учење или за корпоративни тренинг.

Да научим Цлојуре-а?

Вероватно.

Опште је прихваћен труизам да сваки програмер треба да научи Лисп, иако га вероватно нећете користити. Али сада када је моћ Лиспа комбинована са свеприсутношћу Јаве, њеног језика који је истовремено добар за учење и изузетно користан..

Добри програмери Цлојуре-а веома су тражени и добро плаћени, а језик постаје све популарнији.

Ако тражите програмске вештине које ће вас издвојити од осталих програмера, Цлојуре је једно од најбољих алата које можете додати свом комплету – и свом животопису.

Шема

Ако сте мало старији и похађали сте уводни курс информатике у средњој школи или на универзитету, вероватно сте на том курсу користили стари стари програмски језик Шеме.

Кратка историја шеме

Да бисмо боље разумели историју Шеме, морамо да сагледамо веома ране фазе модерног рачунања. На развој Шеме утицала су два раније, врло различита претходника: Лисп и АЛГОЛ програмски језици.

Лисп је основан 1958. године од стране Массацхусеттс Институте оф Тецхнологи (МИТ), Јохн МцЦартхи. Шема је изведена из Лиспа, користећи његову општу семантику и синтаксу. Поред тога, схема је позајмљена од АЛГОЛ-а. То је развио комитет европских и америчких рачунарских научника на састанку 1958. године у ЕТХ Зурицх. Шема је користила његову блок структуру и лексички опсег.

1973. године, МИТ-ови Гуи Л Стееле и Гералд Јаи Суссман покренули су покушај имплементације модела глумца Царла Хевитта у Ламбда рачуници. То су учинили тако што су написали малени Лисп преводилац у МацЛиспу и додали механизме за стварање актера и слање порука. Током свог рада схватили су да су створили врло мали и способни дијалект Лиспа и назвали су га Шема.

2003. године радионица Сцхеме-а започела је нови поступак стандардизације за Сцхему, а на крају је издала ратификовани стандард Р6РС у 2006. години. Последње стабилно издање Сцхеме-а је ратификовани стандард Р7РС из 2013.

Карактеристике шеме

Шема је примарно функционалан програмски језик, са листама као главном структуром података и подршком за првокласне функције. То је једноставан, минималистички и једноставан за имплементацију програмски језик. Ова минималистичка филозофија довела је до широке разлике између практичних имплементација схеме, до те мере да их Управни одбор схеме назива „најважнијим програмским језиком на свету“ и „породицом дијалеката“, а не једним језиком. За разлику од ранијих деривата Лиспа са динамичким опсегом, Схема је лексички обухваћена (утицај АЛГОЛ-а).

У Шеми се блокови имплементирају са следећим конструкцијама: дозволити, дозволити* и летрец. Ова блок структура је такође наслеђена од АЛГОЛ-а. Итерацијски конструкт урадите користи се у шеми, а дата је и подршка за понављање помоћу рекурзије репа. Настављања у Шеми су првокласни објекти и подржавају их позив-са-тренутним-наставак Поступак шеме (такође познат као позив / цц). У Шеми, сви подаци и процедуре деле заједнички простор имена, а улаз и излаз заснивају се на Лука тип података.

Нумеричка кула је скуп сложених и рационалних нумеричких типова података који су специфицирани и имплементирани у Шеми. Одложено вредновање је подржано у Шеми кроз кашњење облик и сила процедура.

Имплементација и употреба шеме

Због своје једноставности и минимализма, библиотеке програма постале су веома популарне код дизајнера, наставника и хобиста програмских језика. То је резултирало много различитих имплементација и дијалеката Сцхеме. Традиционална петља за читање у стилу Лисп-стила подржана је у већини имплементација програма, а неки такође компилирају програме шеме у извршне бинарне датотеке.

Једноставност имплементације схеме такође га чини популарним избором за додавање могућности скрипта на веће системе. Поред тога, ЈСцхеме и Кава имплементације Сцхеме-а пружају интеграцију са Јава класама.

Шема се првенствено користи у образовању. На многим уводним курсевима информатике и дизајна програма који демонстрирају основе рачунарског програмирања. Остале применљиве употребе шеме укључују проналазач Гоогле апликација за Андроид, графички уредник ГИМП-а, семантику стила документа и језик спецификације (ДСССЛ) и тако даље.

Шема учења

Због широко распрострањене употребе програма, учење и проналажење ресурса за учење не би требало да представља проблем. Постоје многи ресурси за учење, бесплатни и комерцијални, а издвојили смо неколико њих.

Шеме курсева и ресурса

Будући да је Шема минималистички и струјни програмски језик, релативно је лако савладати. Са овим курсевима и подучавањем вероватно ћете моћи ускоро да започнете програмирање у Шеми.

  • Структура и тумачење рачунарских програма је МИТ-ов уводни курс 6.001 са многим корисним ресурсима за схему, укључујући видео предавања, мрежне уџбенике, пројекте, транскрипте и одабране белешке предавања.
  • ДрСцхеме је интегрисано развојно окружење (ИДЕ) за писање, уклањање погрешака и анализу програма шема, такође се користи у образовању.
  • Пило визуелни алати за схему (ПВТС) је основна имплементација интерпретера схеме са алаткама за визуелизацију. Написана је на Јави и има веома ограничене могућности тумача, с једином сврхом да графички приказује графички код као помоћ при учењу.
  • Сцхемерс.орг има лепу колекцију документације и уводних текстова за Сцхему.
Схеме Боокс

Доступне су бројне шеме књига, а многе од њих су бесплатне и користе се у едукативним курсевима. Ово може бити од велике користи ако тек почињете да учите програмски језик Шеме.

  • Структура и интерпретација рачунарских програма Абелсона, Суссмана и Суссмана је одлична књига о рачунарској науци која се користи у уводним курсевима на МИТ-у. Ово је једна од библија света Лисп и Сцхеме и бесплатно је доступна на мрежи из МИТ Пресса.
  • Како дизајнирати програме: Увод у рачунарство и програмирање од стране Феллеисен, Финдлер, Флатт и Крисхнамуртхи даје врло леп увод у програмску логику. Бесплатно је и доступно на мрежи, у издању МИТ Пресс.
  • Кент Дибвиг, програмски језик Сцхеме, четврто издање има за циљ да пружи увод у програмски језик Сцхеме, али не и увод у програмирање уопште. Бесплатно је и доступно путем Интернета, а објавио га је МИТ Пресс.
  • Литтле Сцхемер – четврто издање Фриедмана и Феллеисен-а представља рачунарство као продужетак аритметике и алгебре, а програме као рекурзивне функције. Ова књига није бесплатна.
  • Искусни шеме, такође Фриедман и Феллеисен, информише читаоца о додатним димензијама рачунања: функцијама као вредностима, промени стања и изузетним случајевима. Ова књига није бесплатна.
  • Како се користи шема: Писање скрипти и програма са ПЛТ схемом компаније Феллеисен, Финдлер, Флатт, Крисхнамуртхи, Стецклер ће вас упознати са неким прилично основним идејама, као што су унос и излаз датотека, до напреднијих ствари, као што су једноставан ГУИ дизајн и веб скрипта аспекти шеме. Бесплатно је доступан на мрежи.

Да ли је шема права за вас?

Шема није само добар начин да научите како да програмирате, већ је и добар начин да започнете изучавање рачунарске науке. Из тих разлога би требало да кренете у правом смеру.

Примене апликације Лисп

Лисп је толико користан да се често користи као скриптни језик за апликације. Два највећа су уређивач текста Емацс и рачунално дизајнирана апликација (ЦАД) АутоЦАД. У наставку ћемо погледати оба.

АутоЛИСП

Ако користите софтверски дизајнирани софтвер (ЦАД), као што је АутоЦАД, Брицсцад или ИнтеллиЦАД, у неком тренутку ће вам вероватно требати додатне могућности прилагођавања или аутоматизације у вашем ЦАД окружењу.

Овде се укључује АутоЛИСП. АутоЛИСП је једноставан, лаган програмски језик изграђен посебно за употребу са ЦАД софтвером.

Кратка историја АутоЛИСП-а

АутоЛИСП је дијалект Лисп програмског језика, прилагођен и поједностављен за употребу у АутоЦАД окружењу.

Лисп је породица програмских језика који потиче из 1958. Назив Лисп потиче од “Лист Процессор”, а повезане листе представљају једну од главних података компаније Лисп.

АутоЛИСП је први пут представљен у Аутодеск-овој АутоЦАД верзији 2.18 1986. године и континуирано се унапређивао у новим издањима до издања 13 у 1995. години, када је Аутодеск зауставио развој АутоЛИСП-а у корист модернијих развојних окружења попут ВБА или .НЕТ.

Упркос томе, АутоЛИСП је остао примарни језик прилагођавања многим корисницима АутоЦАД-а.

1997. Аутодеск је објавио АутоЦАД 14 и представио Висуал Лисп као комерцијални додатак за АутоЦАД. Висуал Лисп укључује интегрисано развојно окружење (ИДЕ), програм за уклањање погрешака и преводилац и АцтивеКс подршку.

Изласком АутоЦАД-а 2000 1999. године, Висуал Лисп је уграђен у АутоЦАД као замена за АутоЛИСП. Од тада, Аутодеск је зауставио велика побољшања Висуал Лиспа како би се фокусирали на ВБА, .НЕТ и Ц++.

Висуал Лисп и АутоЛИСП остају подржани у АутоЦАД-у и данас, док је подршка за ВБА верзије старије од 7.1 смањена 31. јануара 2014..

Многи други добављачи ЦАД софтвера такође су усвојили подршку за АутоЛИСП у сопственим производима, због велике корисничке базе, као и многих услужних програма и апликација доступних у АутоЛИСП-у..

Зашто људи још увек користе АутоЛИСП уместо Ц++?

Ако користите пуну верзију Аутодеск АутоЦАД-а, компајлер АутоЛИСП је већ укључен у АутоЦАД и спреман за употребу. Ту је и симпатични ИДЕ брод – Висуал Лисп. Имајте на уму да АутоЦАД ЛТ издања немају уграђену подршку за АутоЛИСП.

Већина корисника АутоЦАД-а или корисника сличних ЦАД решења нису упознати са програмским и програмским језицима, тако да учење Ц ++ за креирање једноставног програма или функције за аутоматизацију у АутоЦАД-у не би било практично.

АутоЛИСП је једноставан, поједностављен и много је лакши за употребу и учење него Ц ++ или Висуал Басиц, а све што је потребно за покретање програмирања већ је укључено у АутоЦАД.

Програми и услужни програми написани у АутоЛИСП-у лако се приступају и извршавају из АутоЦАД-а. Ово су главни разлози због којих је АутоЛИСП најбоља опција за прилагођавање АутоЦАД-а од стране његових корисника.

АутоЛИСП функције

АутоЛИСП је интерпретативни језик, није компајлиран, тако да се може сместити у АСЦИИ текстуалну датотеку, учитати и затим извршити директно унутар АутоЦАД-а.

Скоро све операције које ручно изводите у АутоЦАД-у могу се извршити аутоматски користећи АутоЛИСП.

АутоЛИСП поседује богат сет функција које можете користити за обављање било које активности у АутоЦАД-у, попут општих програмских функција за манипулацију променљивим, контролу одлука, петље, аритметичке операције, руковање грешкама и руковање функцијама.

Такође има специјализоване функције у многим областима као што су: геометрија, контрола екрана, упит и команда, кориснички унос и руковање објектима.

АутоЛИСП такође садржи Диалог Цонтрол Лангуаге, уграђени ГУИ мини језик за креирање модалних дијалошких оквира са аутоматизованим изгледом у АутоЦАД-у. Све платформе које могу да покрећу АутоЦАД такође подржавају АутоЛИСП.

Учење АутоЛИСП-а

Постоје одређени фактори који олакшавају учење АутоЛИСП-а.

Ако сте искусни корисник АутоЦАД-а, учење АутоЛИСП-а биће вам лакше. АутоЛИСП је у основи начин за контролу АутоЦАД-а, па што боље познајете АутоЦАД, боље ћете знати шта треба учинити да се аутоматски контролише..

АутоЛИСП Туториали

АутоЛИСП је веома једноставан језик за учење и вероватно најпродуктивнији из различитих АПИ програмских интерфејса (АПИ) уграђених у АутоЦАД. Помоћу ових водича вероватно ћете бити спремни за писање властитих корисних програма у било којем тренутку.

  • АфраЛИСП има одличну колекцију туторијала за бесплатно учење АутоЛИСП и ресурса за почетнике, средње и напредне кориснике.
  • Службени Водич за програмере АутоЛИСП-а пружа корак по корак преглед главних тема и токова рада за коришћење програмског језика АутоЛИСП. Такође је занимљиво њихово службено позивање на функцију АутоЛИСП, које ће вам сигурно постати корисно током програмирања у АутоЛИСП-у.
  • Савладавање АутоЛИСП-а у 80 минута је Повер Поинт презентација са Ауги ЦАД Цамп 2005, бесплатна за преузимање. Обухвата основе АутоЛИСП-а и намењена је посредним корисницима АутоЦАД-а.
  • Брзи старт АутоЛИСП-а на ЦАДТутор.нет намењен је АутоЦАД корисницима који би желели да започну учење АутоЛИСП-а.
  • Ваш први програм АутоЛИСП: Зоом то Оригин је кратак туториал који приказује основе писања кратког програма АутоЛИСП у Висуал Лисп Едитор-у у АутоЦАД-у.
  • Лее Мац Програминг има занимљиве ресурсе за АутоЛИСП, као што су туторијали и многи функционални АутоЛИСП програми које можете преузети и проучити.
АутоЛИСП Књиге

Многобројне књиге које се баве АутоЛИСП-ом и његовом употребом у АутоЦАД-у су широко доступне. Неке од ових књига можда ће вам бити од користи за учење програмирања у програму АутоЛИСП, мада бисмо предложили да прво прођемо кроз онлајн туторијале.

  • АутоЛИСП програмирање: Принципи и технике Рависа и Хагена пружа практична и лако следљива упутства за савладавање програмског језика АутоЛИСП.
  • Прилагођавање платформе АутоЦАД: Кориснички интерфејс, АутоЛИСП, ВБА и даље од стране Лее Амбросиус је свеобухватан водич за поједностављивање и персонализацију АутоЦАД платформе. Програмски језици АутоЛИСП и ВБА отварају безброј опција прилагођавања, а ова књига пружа стручна упутства за примену на АутоЦАД, Цивил 3Д, Плант 3Д и друге програме засноване на Аутодеск АутоЦАД платформи.
  • Висуал ЛИСП ЛИСП стручњака АутоЦАД-а Реиналдо Тогорес: показује технике програмирања Лисп, укључујући употребу Висуал Лисп интегрисаног развојног окружења, објашњено почевши од нуле.

Да ли сте спремни за АутоЛИСП?

Иако АутоЛИСП потиче од Лиспа, веома старог програмског језика, АутоЛИСП је и даље веома вредан алат за АутоЦАД кориснике.

АутоЛИСП је још увек избор избора за прилагођавање и аутоматизацију у АутоЦАД-у и другом ЦАД софтверу са АутоЛИСП подршком.

Емацс Лисп

Ако користите ГНУ Емацс или било који други сличан Емацс уређивач текста, вероватно сте чули за Емацс Лисп. Емацс Лисп је програмски језик који се користи за развој и кодирање већине могућности уређивања ГНУ Емацс уређивача текста. Емацс Лисп се такође назива Елсип.

Емацс Лисп се у основи користи за прилагођавање и проширење могућности ГНУ Емацс уређивача текста.

Кратка историја Емацса Лиспа

Емацс Лисп је минималистички дијалект програмског језика Лисп који се користи у уређивачима текста ГНУ Емацс и КСЕмацс. Лисп означава „Процесс Процессор“ (Лист Процессор) и представља породицу програмских језика који потичу из 1958. године.

Рицхард Сталлман, оснивач ГНУ Пројекта, створио је уредник текста ГНУ Емацс.

Први пут објављен 1985. године, ГНУ Емацс верзија 13 представио је употребу Емацс Лиспа као сопственог језика проширења. Емацс Лисп је у великој мери инспирисан Мацлисп дијалектом програмског језика Лисп.

Последње стабилно издање ГНУ Емацс-а је верзија 24.5, а издато је у априлу 2015. године.

Емацс Лисп је саставни део ГНУ Емацс-а и ради на свим платформама које подржава ГНУ Емацс – ГНУ, ГНУ / Линук, ФрееБСД, НетБСД, ОпенБСД, Мац ОС Кс, Мицрософт Виндовс и Соларис.

И Емацс Лисп и ГНУ Емацс су отвореног кода и бесплатни су. Објављују се под ГНУ Генерал Публиц Лиценце, а изворни код је слободно доступан за испитивање, модификације и редистрибуцију..

Ко користи Емацс Лисп и ГНУ Емацс?

Са данашњим модерним окружењима интегрисаног развоја (ИДЕ) писање кода у специјализованом уређивачу текста попут ГНУ Емацс може на први поглед изгледати врло чудно.

Међутим, за искусног корисника, ГНУ Емацс има много моћних могућности за уређивање кода које већина модерних ИДЕ-а нема.

ГНУ Емацс је описан као проширив, прилагодљив, само-документујући уређивач приказа у стварном времену, а скоро све ове моћне карактеристике потичу из интегрисаног Емацс Лисп интерпретера.

Савремене ИДЕ фокусирају се на ГУИ и визуелне елементе и примарно се контролишу мишем. За разлику од њих, ГНУ Емацс се фокусира на унос тастатуре и моћне могућности уређивања текста, тако да је погоднији за програмере који пишу чисти код него већина модерних ИДЕ-ова.

Сваки популарни програмски језик је подржан у ГНУ Емацс-у. Штавише, Емацс Лисп почиње као моћан алат за ширење и прилагођавање ГНУ Емацс-а.

Емацс Лисп функције

Пошто је програмски језик Емацс Лисп посебно дизајниран за употребу у уређивачу, он пружа посебне функције за рашчлањивање и скенирање текста, руковање подпроцесима, међуспремницима, екранима, датотекама и тако даље. Наредбе за уређивање су функције које се могу позвати из Емацс Лисп програма.

Значајке Емацс-а Лисп показују блиску везу са Мацлисп-овим дијалектом. Емацс Лисп подразумевано користи динамички опсег, са подршком за императивне и функционалне методе програмирања, фокусирајући се на пружање структуре података и карактеристика специфичних за његову употребу у моћном уређивачу текста.

Статички опсег доступан је као опција од верзије 24. Може се активирати постављањем променљиве лексичко-обавезујуће. Имајте на уму да Емацс Лисп не подржава оптимизацију позива, тако да репурзије репа могу довести до грешака у прелијевању снопа.

Емацс Лисп се такође може користити као скриптни језик за ГНУ Емацс, позван из командне линије или из извршне датотеке, са свим функцијама за уређивање које су доступне програму.

Кориснички интерфејс ГНУ Емацс се не приказује када се ради у пакетном режиму, а Емацс Лисп се користи за скриптирање, па се понаша више као стандардни Уник алат.

Ваше окружење за развој

Да бисте почели да користите Емацс Лисп, мораћете да инсталирате ГНУ Емацс уређивач текста. То је врло једноставан процес.

Само пређите на страницу за преузимање Гну.орг Емацс и следите упутства о преузимању и инсталирању ГНУ Емацс-а на ваш систем. ГНУ Емацс подржава следеће платформе: ГНУ, ГНУ / Линук, ФрееБСД, НетБСД, ОпенБСД, Мац ОС Кс, Мицрософт Виндовс и Соларис.

Учење Емацса Лиспа

Наравно, учење Емацс-а Лисп биће лакше ако имате претходно искуство у програмирању, посебно у неким функционалним програмским језицима који потичу из Лиспа.

Такође је добродошло опште програмско искуство, јер ветерани кодери имају тенденцију да знају своје уређиваче текста / кода изнутра.

Емацс Лисп Туторијали и ресурси

Емацс Лисп је минималистички и једноставан за учење програмски језик, али због релативно ограничене, нишне привлачности, нема толико ресурса на мрежи. Одабрали смо неколико туторијала и ресурса за учење који би требали бити корисни ако тек започињете с Емацс Лиспом:

  • Увод у програмирање у Емацсу Лисп са Гну.орг-а намењен је новим корисницима без претходног искуства у програмирању.
  • Референтни приручник за ГНУ Емацс Лисп потпуни је опис и референца за Емацс Лисп. Овај приручник претпоставља да вам је угодно кориштење Емацса за уређивање.
  • Елисп Цоокбоок садржи пуно примјера кода који приказују основне операције програмирања Емацс Лисп.
  • Емацс Лисп Вики има везе са добрим ресурсима да бисте започели са програмирањем Емацс Лисп-а.
Емацс Лисп Боокс

Ту је и велики број Емацс Лисп књига. Неки од њих могу бити врло корисни, али ми ипак предлажемо да бесплатно испробате мрежне подуке и ресурсе. Ако вам треба више ресурса, можете купити књигу или две.

  • Увод у програмирање у Емацс-у Лисп, Роберт Ј Цхасселл, основни је водич за не-програмере, како би им показао како да прилагоде ГНУ Емацс користећи програмски језик Емацс Лисп.
  • Емацс Лисп – Увод Роберт Ј Цхасселл осмишљен је тако да започнете са Емацс Лиспом и да вас води у учењу основних принципа програмирања.
  • Писање ГНУ Емацс проширења: Прилагодбе уредника и креације са Лиспом од Боб Глицкстеина показаће вам све, од једноставних прилагођавања до опсежних модова у Емацс Лиспу са реалним примерима.

Ако користите Емацс, потребан вам је Емацс Лисп

ГНУ Емацс дизајниран је као уређивач текста са подршком за прилагођавања помоћу Емацс-а Лисп.

Међутим, ГНУ Емацс постао је готово потпуно развијен ИДЕ захваљујући снази и проширивости коју пружа програмски језик Емацс Лисп.

То је моћан, али високо специјализован програмски језик. То није нешто што просечни програмер треба да савлада, али у неким нишним апликацијама, Емацс Лисп се и даље широко користи, а то се вероватно неће ускоро променити.

Закључак

Једва смо се огребали по површини света Лиспа. Али као што видите, изузетно је користан језик знати да ли правите апликације или само покушавате да олакшате уређивање текста.

Остале занимљиве ствари

Имамо више водича, туторијала и инфографика везаних за кодирање и развој:

  • Ф # Програмирање: сазнајте о функционалном програмирању у .НЕТ оквиру.
  • Ерланг Програмирање Увод и ресурси: рани функционалан језик који се користи за стварање паралелног кода.
  • Јава: Увод, како научити и ресурси: погледајте наш детаљни водич о томе како постати Јава програмер.
Који код треба да научите?

Збуњени у који програмски језик треба да научиш да шифришеш? Погледајте нашу инфографику. Који код треба да научите?

Не само да расправља о различитим аспектима језика, већ и на важна питања попут „Колико ћу новца зарадити програмирање Јава за живот?“

Који код треба да научите?
Који код треба да научите?

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