Back to site
Since 2004, our University project has become the Internet's most widespread web hosting directory. Here we like to talk a lot about web development, networking and server security. It is, after all, our expertise. To make things better we've launched this science section with the free access to educational resources and important scientific material translated to different languages.

Больш, чым проста словы

Я даведаўся Lisp проста як мова праграмавання.

Але пакуль я глядзеў, ён пачаў развівацца. І я прыйшоў, каб паглядзець яе больш як прастора моў, аб'яднаных набор агульных прынцыпаў праектавання - тэрыторыя, на якой можна было свабодна перасоўвацца сярод некаторых лагерах і пры гэтым быць у цёплай і дружалюбнай межах большага супольнасці называюць Lisp.

У апошні час, аднак, што мясцовасць здаецца, хмулацей, чым я калі-то думаў - можа быць, сапраўды хмулацей, чым гэта калі-то на самай справе. Некаторыя з лагераў адпалі, а іншыя квітнеюць. Шляхі паміж імі здаюцца менш простым у навігацыі. І заўсёды я востра ўсведамляе адлегласці па гэтых шляхах, таму што гэта тыя адлегласці, якія стварылі палітычныя рознагалоссі сярод нас, якія я маю справу з з дня ў дзень у маёй працы над мовай стандартам.

У гэтым артыкуле я буду даследаванне пейзаж сцвярджаюць супольнасць Lisp ў спробе вызначыць пытанні, якія нас падзяляюць, пытанні, якія нас аб'ядноўваюць, і чаму ўсё гэта мае значэнне.

Проста словы на паперы?

"Гэта мова, ці не так? Мовы вызначаюцца іх спецыфікацый. Я чытаў спецыфікацыю цалкам, і тады я буду ведаць, што гэта ўсё аб. "

Заявы, падобныя да гэтага, часам пакідаюць мяне ашаломлены. Я адчуваю, што я гляджу эпізод Star Trek: The Next Generation называецца "Мера чалавека", дзе андроіда дадзеных толькі што прачытаў кнігу аб правілах гульні ў покер і думае, таму ён разумее, што покер на самай справе. Ты будзеш чытаць спецыфікацыі - толькі адзін - і тады вы будзеце разумець, што Ліспе?

Для мяне і многіх іншых, Lisp, гэта не толькі мова, але моўнай сям'і, а часам, магчыма, нават больш за тое. Чытанне спецыфікацый для аднаго мовы ў сям'і Lisp можа пакінуць вас падрыхтаваны да праграме на мове, калі б гэта было ўсё, што вы хацелі, але я знаходжу гэта цяжка паверыць, вы сапраўды маюць сэнс для Lisp ў цэлым. Так што давайце проста смела шлях наперад і паглядзець, што яшчэ там.

Звязаны па Неверагодна Стандартныя працэдуры?

"Калі ўсе яны нарэшце, меркавана, усе яны пабудаваны вакол некаторага агульнага ядра. Ці не так? "

Не абавязкова. Некалькі гадоў таму, калі я ўпершыню залучаюцца з моўнымі стандартамі, я зрабіў асабістую вывучэнне моў у сям'і Lisp, каб вызначыць, ці ёсць агульнае ядро ​​аператараў, якія прысутнічалі ў сям'і з такім жа імем і семантыкі.

LAMBDA?

Няма супольнасці тут. Сінтаксіс для спісаў лямбда вагаецца ў шырокіх межах. LAMBDA робіць лексічныя замыкання ў некаторых мовах, і дынамічныя замыкання ў іншых. Часам замыкання першага класа (гэта значыць, могуць быць вернутыя ўверх), а часам і другога гатунку (т. е. зверху ўніз толькі).

CAR і CDR?

Гэтыя імёны амаль паўсюдна на ўсёй тэрыторыі сям'і Lisp, але семантыка не заўсёды тое ж самае. Часам CAR і CDR ад NIL дазволена, але не заўсёды. А ў некаторых нарэшце, CDR таксама выкарыстоўваецца для доступу спісы нерухомасці і / ці locatives.

EQ, EQL, EQP, EQUAL, або EQUALP?

Колькасць Хоць канцэпцыі структуры і асобы, здаецца універсальна важна, імёны і семантыка аператараў параўнання шырока вар'іруюцца шепелявит. Напрыклад, лік Maclisp варыянты былі РОЎНЫХ, але самым разнастайным у тонкія спосабы, звязаныя з тыпамі дадзеных якога будзе спусціўся для рэкурсіўнага параўнання. Падобныя адрозненні існавалі паміж замяшчэнне функцый, такіх як SUBST і SUBLIS.

КАЛІ і COND?

Ну, некаторыя шепелявит прапануюць толькі адзін ці іншы, і яны адрозніваюцца, якія прымітыўная. А ў дыялектах, дзе, калі не існуе, існуюць рознагалоссі пра тое, яна прымае адзін, два ці шмат аргументаў - або альтэрнатыўным пачынаецца ў трэцяй пазіцыі або ўводзіцца з дапамогай ключавых слоў. У некаторых дыялектах Схема, COND прымае незвычайны, але папулярны "=>" сінтаксіс. І пазначэнні для `у адваротным выпадку« становішча змяняецца таксама.

Я мог бы працягваць і працягваць, але, магчыма, вы ўжо можаце бачыць, куды гэта вядзе. Я лічу, што CONS прысутнічаў у кожным Lisp Я паглядзеў на з у значнай ступені тое ж самае значэнне, але, здавалася б, адзінкавы выпадак і ня было цалкам дастаткова для мяне да высновы, што існуе якой-небудзь натуральным "агульнае ядро" аператараў характарызуе Lisp.

Шмат Раздражняе, Дурныя дужкі?

"А як наконт ўсіх тых дужках? Гэта можа быць ключ да разгадкі. "

Дужкі відавочна дамінуюць візуальнага ландшафту Lisp, і шматлікія назвалі б іх подпіс асаблівасць Ліспе. Але ў выніку, нягледзячы на ​​паўсюдны характар, я не думаю, што яны першаснай сілай, якая звязала Lisp супольнасць разам столькі гадоў.

Мова Дылана, якую некаторыя (уключаючы мяне), можа сказаць, у сям'і Lisp - або па крайняй меры спараджаюцца ад яго - вырашылі адмовіцца ад традыцыйнай моцна дужках абазначэння Lisp на карысць больш традыцыйнага сінтаксісу. Адчуванне сярод дызайнераў Дылан што, нягледзячы на ​​моцны пазначэнняў традыцыі ў Lisp, і не было нават гуку тэхнічную базу для гэтай традыцыі, у цэлым яна служыла ўваходны бар'ер на Lisp, і ўсе людзі атрымалі досыць блізка, каб ацаніць Ліспе больш важнымі ўласцівасцямі.

Некаторыя здавольваюцца гэтае рашэнне дызайнераў Дылана, а некаторыя лічаць, што гэта было неабдумана, але, верагодна, ніхто не стане адмаўляць, што Ёсць аспекты Lisp больш важным, чым круглыя ​​дужкі.

Грузы Інавацыйныя семантычнай парадыгмы?

`` А як наконт ўсіх тых цікавых функцый большасці моў выходзяць?''

Цяпер вы ўсё бліжэй. Lisp была ўрадлівай глебай для шэрагу цікавых асаблівасцяў мовы, якія цяжка знайсці ў большасці іншых моў: структурныя макрасы, EVAL функцыі, дынамічнае злучэнне зменных, і так далей. Але для кожнага з гэтых магчымасцяў, вы можаце знайсці некаторыя дыялект Lisp, якая не мае яго. Такім чынам, хоць гэтыя функцыі цесна звязаны з Lisp, ні відаць крытэрыяльна.

Аўтаматычнае выдзяленне памяці і зборка смецця можа быць амаль выключэнне - гэта прысутнічае амаль ва ўсіх рэалізацыях. Але ў асноўным як практычнае неабходнасці - не як моўнай элемент. Агульныя спецыфікацыі Lisp не патрабуе рэалізацыі для падтрымкі збору смецця, напрыклад, - на самай справе, канцэпцыя амаль не згадваецца. Рашэнне аб уключэнні ён застаецца распрацоўнікам. Але так як гэта не ўваходзіць у тэкставае апісанне мовы, цяжка назваць гэта моўны элемент.

Паглядзіце Замест сацыяльнага Шаблоны

`` Так што, калі не аператараў або сінтаксісу, што аб'ядноўвае сям'ю Lisp, і адрознівае яго ад іншых моў?''

Ну, з павелічэннем частаты, калі яго спыталі, кім-то, чаму пэўныя тэхнічныя выбар быў зроблены ў Lisp, я лічу сябе прапаноўваць палітычныя прычыны, а не тэхнічны. Кожны з варыянтаў будуць адбірацца з ліку, як правіла, тэхнічны характар, але рашэнне, каб выбраць адзін замест іншага, часта палітычныя.

Я марнаваць шмат часу на стандартах, так што можна проста сказаць, што я бачу яго вачыма, што я зарабляю на жыццё, але я збіраюся прэтэнзію для мэт гэтага артыкула, што тое, што аб'ядноўвае дыялекты Ліспе не самі аператары, а хутчэй набор людзей, якія іх прадастаўляюць. У сутнасці, я буду меркаваць, што Lisp ўяўляе сабой сацыяльнае з'ява, падобнае на палітычную партыю, а тое, што аб'ядноўвае Lisp тыя людзі, якія з'яўляюцца яе лідэрамі, і якім чынам яны рэагуюць (або не адказваць) на патрэбы гэтага супольнасці.

Напрыклад, як на Lisp і функцыянальнае праграмаванне (L & FP) і Lisp карыстальнікаў і пастаўшчыкоў (LUV) канферэнцыі ў мінулым годзе, былі пасяджэння, прысвечаныя планаванні будучых канферэнцый. У абодвух выпадках найбольш перспектыўных стратэгій, здавалася, прыцягваць саюзы з іншымі групамі. У абодвух выпадках размова, здавалася, арыентавацца не на тое, што `` абшчыны выкарыстоўваюць мовы, якія сінтаксічна або семантычна, як у мяне на ўзроўні спецыфікацыі мовы'', а `` тое, што суполкі вырашаюць такія праблемы, як тыя, якія я павінен вырашыць, і што абшчыны на чале з людзей, якія прапануюць прыслухацца да маіх праблемах.''

Адна рэч LUV канферэнцыі дыскусія сканцэнтравана на спецыяльна было пытанне, хто будзе ўсталёўваць парадак дня канферэнцыі, калі альянс быў створаны з іншай канферэнцыі або групы карыстальнікаў. Там, здавалася, баяцца, што калі вялікія дадатковыя супольнасці былі дастаўлены ў якіх меў пэўную парадак дня сваёй уласнай, не было б стратай улады супольнасць Lisp, і адпаведна змяншаецца пачуццё ўласнай значнасці аб канферэнцыі. Не ўсё, здавалася, дамовіцца аб тым, абшчыны былі найбольш падабаюцца, але людзі сапраўды здавалася, занепакоеныя тым, што толькі ў супольнасцях, якія яны ўспрымалі як аналагічныя па патрэбнасці павінны быць запрошаныя. Здавалася, ніхто не хоча бачыць асобу Lisp страцілі ў большае супольнасць, чые патрэбы не было патрэбы Lisp.

Так, напрыклад, пры апытанні было прынята запрашаць ці не запрашаць Smalltalk супольнасці, адказ быў амаль аднадушна `` Няма'', а пры апытанні было прынята аб тым, ці запрашаць Дылан супольнасці, адказ быў амаль аднадушна `` Ды''. прычынай адрозненні, здавалася, не будзе заклапочанасць тым, што Lisp не магла ўстаць на Smalltalk ў тэхнічным сэнсе, а хутчэй заклапочанасць тым, што асоба ў супольнасці Smalltalk можа дамінаваць у дыскусіях. Ніякіх падобных была выказана заклапочанасць з нагоды Дылан супольнасцю, чые патрэбы, верагодна, здавалася, у большай ступені супадаюць з інтарэсамі супольнасці Lisp.

Акрамя таго, некаторыя з тых, хто казаў вызначаны ключавыя значэння, якое яны атрымалі ад LUV канферэнцыю як магчымасць пагаварыць сам-насам з іншымі членамі супольнасці Lisp, уключаючы тыя, па іх думку, устанаўленне тэндэнцыі для гэтага супольнасці.

Разумовы эксперымент

`` Што гэта значыць сказаць, што мова вызначаецца яе супольнасці?''

Каб дапамагчы мне думаць аб ступені, у якой Lisp вызначаецца яго семантыкай і ў якой ступені ён вызначаецца сваім супольнасцю, я пабудаваў наступны разумовы эксперымент:

Выкажам здагадку, што распрацоўшчыкі некаторых L дыялект Lisp заключаецца на нейкай прычыне, што мова дызайну папулярнасць конкурсу, і ў адчайнай спробе скараціць разрыў, яны сапраўды замяніць тэкст іх вызначэння L з вызначэннем C для таго, каб L больш прывабным. Выкажам здагадку, што чаму-то ніхто ў C супольнасць звярнулі ўвагу, і так Lisp супольнасць застаецца адзінай спажыўцоў L, якія адрозніваліся ад C толькі па назве. Падумайце аб тым, L сёння і як яна зменіцца ў будучыні. Пачынаючы з той жа кропкі, што З і L працягваюць выглядаць гэтак жа, пасля некалькіх гадоў мінула?

Я лічу, што супольнасць Lisp мае розныя патрэбы, чым супольнасць C, і што L дызайнераў - збольшага таму, што яны выраслі з гэтага розныя супольнасці, і збольшага з-за пачуцця адказнасці перад бягучай, што супольнасць - будзе рэагаваць зусім інакш, чым З супольнасці і што два мовы, L і С, зноў разыходзяцца.

Цяпер яшчэ раз падумаць пра набор змен, якія будуць унесены ў L ў адказ на патрэбы Lisp супольнасці на працягу многіх гадоў пасля гэтай радыкальнай аперацыі па вызначэнні Lisp. Калі супольнасць L змяніла сваю вернасць C, як цяжка б гэта было для іх атрымаў той жа набор зменаў ад дызайнераў C?

Мая лепшая здагадка: значна складаней.

Прычына на самай справе ж, як і раней - у свеце кампрамісаў, розныя прыярытэты даюць розныя рашэнні. Ж адрозненні ў прыярытэтах, якія прывялі супольнасць Lisp стаць розныя супольнасці, чым супольнасць C прывядзе да супраціву дызайнераў С да змены, неабходныя для падтрымкі супольнасці Lisp. З дызайнеры маюць свае ўласныя супольнасць падтрымаць, і, верагодна, ужо лічаць, што быць поўнай занятасцю.

Дынамічнаму супольнасці ў інтарэсах дынамічнага мовы

`` Ці можаце вы прывесці прыклад таго, як супольнасць Lisp адрозніваецца ад іншых моўных супольнасцяў?''

Міфы і старыя негатыўныя гісторыі пра Lisp, здаецца вельмі складана забіць цалкам - што Lisp з'яўляецца інтэрпрэтаванай-адзіны мову, які яна мае толькі спісы, а не масівы, і так далей. Доўгі час я збянтэжаныя тым, як такі дэзінфармацыі можа захоўвацца на працягу такога доўгага часу. Ці не будзе гэта асоба, якая ажыццяўляе вырашыць нейкі момант, што іх інфармацыя была, верагодна, састарэлым? У рэшце рэшт я прыйшоў да тэорыі, што я адчуваю, тлумачыць назіранае паводзіны: Людзі, якія выкарыстоўваюцца для статычных моў чакаць мовах, якія будуць статычнымі.

Lisp адбыліся велізарныя змены ў часе і яго супольнасць стаяў яго. Я думаю, што дынамічны характар ​​Lisp паўстала гэтулькі для задавальнення запатрабаванняў змяняецца супольнасці ў мэтах задавальнення патрэбаў змены праграм.

Lisp карыстальнікі прывыклі да магчымасці пісаць праграмы, якія прымаюць тэкстаў праграм на розных дыялектах (або больш старыя версіі аднаго і таго ж дыялекту) і апрацоўваць іх, каб прывесці іх ў актуальным стане. Ні адна агульная моўная функцыя падтрымлівае гэта. І тым не менш, Lisp карыстальнікі прывыклі чакаць, што будуць некаторыя шляху для задавальнення запатрабаванняў сумяшчальнасці і перакладу.

Мовы з'яўляюцца адлюстраваннем супольнасці яны абслугоўваюць. Яны становяцца, як мы выказваем працэс, і таму яны паведаміць нашым сэнс таго, што працэсы, якія мы чакаем. Пры выкарыстанні статычных мовах, адзін рэкамендуецца рабіць рана выбар і падтрымаць іх, з дынамічнымі мовамі, адкласці выбары і гнутка адаптавацца. І калі іншыя мовы не прыстасоўвацца да зменаў добра, мы не павінны дзівіцца, выявіўшы, што часам іх карыстальнікі таксама.

Усе за аднаго і адзін за ўсіх - ці кожны Lisp для сябе?

`` Ці значыць гэта, дынамічнае супольнасць заўсёды паводзяць сябе як адзінае цэлае?''

Не, толькі як Ёсць некалькі моў Lisp, Ёсць некалькі розных subcommunities карыстачоў Lisp.

У рамках арганізацыі па стандартызацыі, існуе пастаяннае ціск для людзей, каб далучыцца да існуючым стандартам намаганні, а не пачынаць новыя. Часам, стандартызацыя можа быць добрым. У іншых выпадках няма. Лімітавым выпадку, на адным канцы свету, поўнага `` стандартам'', дзе няма двух карыстальнікаў выкарыстоўваюць той жа самы. Гэта вельмі эфектыўна вырабляць, таму што ніхто не пагадзіцца, але вельмі бескарысна, паколькі ніхто не клапоціцца. Лімітавы выпадак на іншым канцы свету толькі з адной `` стандартным'', якая служыць не мае патрэбу ў сваёй, гэта будзе доўжыцца вечна вырабляць і ніхто не захоча яго, калі яно было зроблена. Ключ павінен зрабіць досыць стандарты - але не занадта шмат.

Супольнасць Lisp складаецца з розных баз карыстачу разнастайныя патрэбы, і я прыйшоў да высновы, што шматлікія праблемы, якія мы перажываем сёння ў стандартах арэне - асабліва міжнародных стандартаў - гэта з-за неабачлівага жадання з боку некаторых сіл, каб кампраміс паміж гэтымі суполкамі, калі на самай справе няма агульныя падыходы.

Калі не ісці на кампраміс

`` Ня кампраміс заўсёды добра? Не адмаўляецца ісці на кампраміс толькі азначае, што вы ўпарты?''

Не абавязкова. Змяненне, незалежна ад таго, з лепшых памкненняў, могуць быць вельмі разбуральнымі ў любым устаноўленым супольнасці. Акрамя таго, яна можа быць толькі пэўную колькасць кампраміс можа быць праведзена да `` решение''больше не падыходзіць арыгінальныя патрэбы.

Для прагляду пытання, уявіце сабе двух бакоў, якія выкарыстоўваюць фіялетавы шмат спрабуем пераканаць пэўнай кампаніі фарбай, каб вырабіць іх любімы колер фарбы, якой яны абодва выкліку `` фіялетавы.''Прадавец згодны, але толькі калі ён можа служыць усім сумесна з адным колерам. Уявіце сабе, што пры бліжэйшым разглядзе высвятляецца, што адзін з іх апісвае фіялетавы (з выкарыстаннем чырвоны / зялёны / сіні значэння ў дыяпазоне 0-255) як (200,0,200), а другі вызначае, як фіялетавы (160,32,240). Бакоў накіроўваюцца ў пакоі, дзверы кажа `` Фиолетовый''на ёй, дзе яны вядуць перамовы, пакуль яны не пагодзяцца кожная з іх можа жыць з (180,22,210), а не наогул нічога.

Але гэтак жа, як яны збіраюцца даваць справаздачу перад пастаўшчыком, іншы чалавек уваходзіць у пакой, а таксама хоча паспрабаваць рукой. Ён хоча, каб `` светла-фіялетавы,''(230230250). Прадавец, пачуўшы слова `` фиолетовый''в `` імя светла-фіялетавага цвета''отправил яго ў пакой, дзе `` фиолетовый''в цяперашні час вызначаны кажучы, `` У мяне няма рэсурсаў, каб зрабіць больш аднаго фіялетавы, таму вы, хлопцы, проста прыйдзецца вырашыць это''После доўгіх абвастрэння, прапанова перадаецца на кампраміс, які нашмат цямней, чым лаванда, але значна лягчэй, чым іншыя фіялетавыя, што першыя два абмяркоўвалі -. і, можа быць, што задавальняе нікога.

Гэта магло б быць, напрыклад, што лаванда прыхільнікам не вельмі клапоцяцца пра purpleness наогул. Можа быць, ён толькі клапаціўся пра `` свет''часть і былі б шчаслівыя гэтак жа, як з `` светла-красный''или сіняга святла ``.'' Магчыма, кожны з нумароў (чырвоны, аранжавы, жоўты і г.д.) один `пастэльныя асобы, якія хаваюцца ў яго чаканні, каб беспарадак рэчаў, калі ўсе пастэльныя людзі павінны сапраўды быць выключаны ў пакоі разам, і іншыя павінны быць вызначальнымі цёмных колераў.

Было б памылкай меркаваць, што падабенства імёнаў (у дадзеным выпадку `` фиолетовый''и `` светла-фіялетавага колеру'') аўтаматычна азначае закрыццё функцыянальныя адносіны, або, што адсутнасць падабенства імёнаў не прадугледжвае такіх блізкіх адносінах. Ключ на арэне стандартаў, каб прымусіць людзей ісці на кампраміс у тое, што не мае значэння, але даць ім досыць месцы, што яны не павінны быць вымушаныя ісці на кампраміс у рэчах, якія сапраўды маюць значэнне.

`` Але чаму група кампраміс на што-то ніхто з іх не хацеў?''

Цалкам магчыма, што хтосьці ўдзельнічае, ведае, што ён не зможа скарыстацца ў выніку колер, але так абвастрылася ў іншых псаваць свой шанец атрымаць тое, што ён хоча, што ён адмаўляецца адступіць. Ці, можа быць, хто-то страціў яго першапачатковай мэты і не ўсведамляе, наколькі далёка ён знаходзіцца ад яе дасягненні. Ці гэта можа быць проста, што хто-то проста было прад'яўленае абвінавачванне ў з усіх сіл і адчувае, што лепш змірыцца добры бой, чым, як уяўляецца, дадзены цалі

Мноства прычын, якія могуць прывесці да дамоўленасці паміж людзьмі пра тое, што рашэнне такога, як разнастайныя і часта вельмі асабістае для сітуацыі кожнага ўдзельніка. Але гэта лягчэй, чым вы можаце падумаць, каб гэта адбылося, калі вы ніколі не былі ўцягнутыя ў такія перамовы самастойна.

Ружовае будучыню, у якім супольнасць Lisp Не бачыце чырвоны

Мовы ў Алгол сям'і, такіх як Алгол і Паскаль, як правіла, не маюць перакрываюцца імёны, і, як следства больш лёгка прымаюцца бок аб бок у свеце стандартам. Мовы ў сям'і Lisp, аднак, як правіла, выкарыстоўваюць слова Lisp ад іх імя, нават калі ў іх ёсць адрозненні, сінтаксічна і семантычна дзіўнае у адрозненне моў Алгол сям'і - Common Lisp, Eulisp і ISLISP такія прыклады.

У намаганнях па стандартызацыі Common Lisp (па ANSI ў X3J13 ў ЗША) і ISLISP (ва ўсім свеце, праз SC22 ІСО рабочай групы WG16), відавочныя рашэнні былі прынятыя не спрабаваць стандартаваць `` Lisp.''Па неафіцыйнай дамоўленасці паміж гэтымі бакамі, `` Lisp''считается моўнай сям'і, а не якога-небудзь канкрэтнага мовы.

Аднак цяпер, калі ANSI зацвердзіў Common Lisp мы знаходзімся на няцотным пазіцыі, паколькі агульныя супольнасць Lisp (які ўключае ў сябе фірмы па ўсім свеце, хоць сам мова быў распрацаваны ў ЗША) хацелі б прыступіць да Міжнародным стандартам для Common Lisp. Але я чуў, заклапочанасць, выказаную, што гэта можа ўшчамляць патрэбы WG16 праекта ISLISP.

Я нядаўна спытаў аднаго з членаў супольнасці Lisp з Еўропы, `` Улічваючы, што ў цяперашні час стандартнай ANSI для Lisp, якая мэта ISLISP, мовы, які вызначаецца па WG16, ISO SC22 рабочай групы па Lisp? "

Вядома, мы маглі б адказаць, параўноўваючы тэхнічныя аспекты дзвюх мовах, якія трохі адрозніваюцца, але я спадзяюся, што я ўжо створана, што Lisp (і, магчыма мовах у цэлым) толькі павярхоўна аб тэхнічным змесце і ў асноўным аб палітыкі. Так што я рэфлексіўнай перакладаць пытанне ў маёй галаве ў той, які падкрэслівае, палітычныя праблемы: `` Як толькі супольнасць ЗША склаў сваё меркаванне, ці ёсць сэнс для турботы, ці могуць іншыя краіны шчаслівыя, занадта''?

Мой асабісты адказ моцны `` Ды''.

Common Lisp адрасы вельмі пэўны сусветным рынку - гэта вялікі, камерцыйнага развіцця працуе над вялікі, складаны, вельмі дынамічнай праблемы не адрасаваных па таварных рашэнняў.

Але Ёсць іншыя рынкі, Common Lisp не прызначаныя для якіх ISLISP можа служыць з карысцю. Замест таго каб патрабаваць ISLISP, каб стаць вельмі вялікім і грувасткім, або запатрабаваць Common Lisp страціць важныя функцыі важныя для існуючых абшчын, маё цяперашняе перакананне, што гэта разумна і мэтазгодна дазволіць як Common Lisp і ISLISP стаяць бок аб бок у стандарты арэны і на рынку, стаяць або падаць на свае ўласныя заслугі, а не для штурхання ў тую ж пакой ісці на кампраміс адзін з адным, магчыма, у працэсе знішчэння вартасці абодвух.

Калі гэта магчыма, каб паглядзець Алгол і Паскаль, як адмысловы мову, ці можна праглядаць нават C і C++, у адрозненне моў (які робіць ANSI), то гэта, безумоўна, магчымасць прагляду ISLISP і Common Lisp, як розныя. Іх семантыка адрозніваецца, але што больш важна, абшчыны яны служаць розныя.

Заключэнне

Для мэт абмеркавання тут, я спрабаваў намаляваць Lisp не як тэхнічныя спецыфікацыі, але ў якасці палітычнай партыі. Твая адзнака гэтай аналогіі можа вар'іравацца. Аднак тое, што нельга адмаўляць, што палітыка мае ўплыў нават на моцна тэхнічныя аспекты нашага жыцця, і гэта варта часам ўзяць тайм-аўт, каб падумаць пра тое, як яны ўплываюць на нас, - так што мы можам быць упэўнены, нашы інтарэсы будуць абаронены.

Часам лепш для ўсіх нас, каб дзейнічаць як адзіны орган - калі ў нас ёсць агульная патрэбнасць ці калі мы можам дапамагчы адзін аднаму на нашых асобных патрэбаў, дзейнічаючы як адно цела. У тых выпадках, гэта можа быць на руку некаторым ці ўсім нам, каб паглядзець схемы і Дылан ў якасці членаў сям'і Lisp. У іншых выпадках, лепш за ўсё для нас, каб дзейнічаць самастойна, каб не наступаць адно аднаму на пальцы ног. У тых выпадках, не толькі можа Схемы і Дылан ня нарэшце, але гэта можа быць важна нават сказаць, што Common Lisp і ISLISP досыць розныя, што лепш ставіцца да іх як неперасякальнымі мовах.

Як правільна гэта залежыць, я думаю, на ўплыў, якое ён будзе мець на людзей. Калі аб'ядноўвае дзве абшчыны прывядзе да нязначным парушэньнем кожнаму, а прынясе відавочныя выгады для абедзвюх, яна можа быць варта. Вядома, для мэтаў, якія маюць сумесную прэс-канферэнцыю або сумесны інфармацыйны бюлетэнь, кошт аб'яднання абшчын на час гэтай падзеі варта выгады. Але для таго, каб пытацца створана абшчын перапісаць свае праграмы і перападрыхтоўкі сваіх праграмістаў, выдаткі і выгады павінны быць ацэнены больш старанна.


Падзякі

Крыстафер Фрай, Эндзі Latto, і Рэбека Spainhower чытаць чарнавым варыянце гэтага артыкула, і пры ўмове, шмат карыснай зваротнай сувязі.

Спасылкі

[1] Амерыканскі нацыянальны стандарт па інфармацыйных сістэмах - 
    Мова праграмавання - Common Lisp,
     ANSI дакумент X3.226-1994. Публікацыя ў прагрэс,
але яшчэ не даступныя на момант напісання артыкула.
(Апошні праект, прапанаваны стандарт ANSI Common Lisp,
X3J13 дакумент 94-101R, можа быць дастаткова для некаторых неафіцыйных патрэбы і
даступныя па ананімным FTP з "/pub/cl/dpANS3R" на PARCFTP.Xerox.COM.)
[2] Мова праграмавання ISLISP (рабочы праект 11,4),
CD 13816 створаны ISO/IEC JTC1/SC22/WG16.
Даступныя па ананімным FTP з "/pub/lisp/islisp/islisp-114.ps"
(ці "islisp-114.ps.Z") з ma2s2.mathematik.uni-karlsruhe.de.

Апублікавана ў друкаваным выглядзе ў Паказальнікі на Lisp, тым VII, № 4, кастрычнік-снежань 1994 года.

Друкаваныя версіі: Copyright © 1995, графства Кент М. Питман. Усе правы абаронены.

[Аўтарскіх дату як уяўляецца, супярэчыць дата публікацыі, але на самай справе друкаваных даты часопіс значна раней, чым дата размеркавання, якая была ў 1995 годзе.]

Вэб-версія: © 1997, М. Кент Питман. Усе правы абаронены.

Пераклад з дазволу аўтара.

Published (Last edited): 05-07-2011 , source: http://www.nhplace.com/kent/PS/Lambda.html