Rud a rinne Lisp speisialta

«An teanga ríomhchlárúcháin is mó a cruthaíodh riamh«
— Alan Kay, "ar Lisp"

Rud a rinne Lisp speisialta

Nuair a d’fhorbair McCarthy Lisp ag deireadh na 1950idí, bhí sé an-difriúil ó theangacha a bhí ann cheana féin, agus ba é an ceann is tábhachtaí díobh Fortran.

Thug Lisp naoi smaoineamh nua isteach:

1. Coinníollacha. Is tógálacha eile iad ráitis choinníollach. Anois déanaimid talamh slán díobh. Bhí siad chum McCarthy le linn fhorbairt Lisp. (Ní raibh ach ráitis faighte ag Fortran ag an am, agus iad ceangailte go dlúth le treoir bhrainse ar na crua-earraí bunúsacha).

2. Cineál feidhme. I Lisp, is rudaí den chéad scoth iad feidhmeanna - is cineál sonraí iad, díreach cosúil le huimhreacha, teaghráin, etc., agus tá ionadaíocht liteartha acu, is féidir iad a stóráil in athróga, is féidir iad a chur ar aghaidh mar argóintí, etc.

3. Atarlú. Ar ndóigh, bhí athchúrsaíocht mar choincheap matamaitice roimh Lisp, ach ba í Lisp an chéad teanga ríomhchlárúcháin chun tacú leis. (B’fhéidir go bhfuil sé seo intuigthe chun feidhmeanna a chruthú mar réada den chéad scoth.)

4. Coincheap nua na n-athróg. I Lisp, is leideanna éifeachtacha iad na hathróga go léir. Is éard atá i luachanna ná cad a bhíonn ag cineálacha, ní athróga iad, agus ciallaíonn athróga a shannadh nó a cheangailteach ná leideanna a chóipeáil, ní cad a díríonn siad air.

5. Bailiúchán truflais.

6. Cláir comhdhéanta de nathanna cainte. Is crainn nathanna cainte iad cláir lisp, agus tugann gach ceann acu luach ar ais. (Is féidir le roinnt nathanna Lisp luachanna iolracha a thabhairt ar ais.) Tá sé seo i gcodarsnacht le Fortran agus go leor teangacha rathúla eile a dhéanann idirdhealú idir “léirithe” agus “ráitis.”

Bhí sé nádúrtha an t-idirdhealú seo a bheith i Fortran toisc go raibh an teanga dírithe ar an líne (ní nach ionadh do theanga a raibh formáid ionchuir ina cárta pollta). Níorbh fhéidir ráitis neadaithe a bheith agat. Agus fad is a bhí nathanna matamaitice de dhíth ort le bheith ag obair, ní raibh aon chiall le luach a thabhairt ar ais ar aon rud eile mar b’fhéidir nach mbeadh aon rud ag fanacht le tabhairt ar ais.

Ardaíodh na srianta le teacht na dteangacha blocstruchtúrtha, ach faoin am sin bhí sé ró-dhéanach. Tá an t-idirdhealú idir nathanna cainte agus ráitis bunaithe cheana féin. Chuaigh sé ó Fortran go Algol agus ansin go dtí a sliocht.

Nuair a dhéantar teanga go hiomlán de nathanna cainte, is féidir leat nathanna cainte a chumadh ar aon nós. Is féidir leat ceachtar acu a scríobh (leis an chomhréir Arc)

(if foo (= x 1) (= x 2))

(= x (if foo 1 2))

7. Cineál siombail. Tá carachtair difriúil ó teaghráin, agus sa chás sin is féidir leat comhionannas a sheiceáil trí threoracha a chur i gcomparáid.

8. Nodaireacht le haghaidh cód ag baint úsáide as crainn siombaile.

9. Bíonn an teanga ar fad ar fáil i gcónaí. Níl aon difríocht shoiléir idir am léite, am tiomsaithe agus am rite. Is féidir leat cód a thiomsú nó a rith agus tú ag léamh, nó ag léamh nó ag rith cód agus tú ag tiomsú, nó ag léamh nó ag tiomsú cód le linn dó a bheith ar siúl.

Trí chód a rith agus é á léamh is féidir le húsáideoirí comhréir Lisp a athchlárú; is é an cód reatha ag am tiomsaithe an bonn le haghaidh macraí; is é tiomsú ama rite an bonn chun Lisp a úsáid mar theanga shínte i gcláir ar nós Emacs; agus ar deireadh, ligeann léamh ama rite do chláir cumarsáid a dhéanamh trí úsáid a bhaint as s-léirithe, smaoineamh a athchruthaíodh le déanaí in XML.

Conclúid

Nuair a ceapadh Lisp den chéad uair, ní raibh na smaointe seo i bhfad ó ghnáthchleachtais ríomhchlárúcháin a bhí de réir na crua-earraí a bhí ar fáil go déanach sna 1950idí.

Le himeacht ama, tháinig an teanga réamhshocraithe, arna chorprú ag rath na dteangacha coitianta, chun cinn de réir a chéile i dtreo Lisp. Glactar go forleathan anois le pointí 1-5. Tá pointe 6 ag tosú le feiceáil sa phríomhshruth. I Python, tá clásal 7 i bhfoirm éigin, cé nach bhfuil aon chomhréir oiriúnach. Mír 8, a dhéanann (le mír 9) macraí indéanta i Lisp, tá sé fós i Lisp amháin, is dócha toisc (a) éilíonn sé na lúibíní sin nó rud éigin chomh dona, agus (b) má chuireann tú an méadú is déanaí ar chumhacht, is féidir leat gan éileamh a thuilleadh gur chum siad teanga nua, ach go bhfuil canúint nua Lisp forbartha acu; -)

Cé go bhfuil sé seo úsáideach do ríomhchláraitheoirí nua-aimseartha, is aisteach an rud é cur síos a dhéanamh ar Lisp i dtéarmaí a difríochta ó na teicnící randamacha a ghlactar i dteangacha eile. B’fhéidir nach é sin a bhí ag smaoineamh ar McCarthy. Níor ceapadh Lisp chun earráidí Fortran a cheartú; bhí an chuma air gur seachtháirge iarracht é ríomhaireachtaí aximatize.

Foinse: will.com

Add a comment