«An cànan prògramaidh as motha a chaidh a chruthachadh a-riamh«
- Alan Kay, "air Lisp"
Nuair a leasaich McCarthy Lisp anmoch anns na 1950n, bha e gu tur eadar-dhealaichte bho na cànanan a bh’ ann, agus b’ e am fear as cudromaiche dhiubh sin.
Thug Lisp a-steach naoi beachdan ùra:
1. Cùmhnantan. Tha aithrisean cumhach nan togalaichean eile ma tha. A-nis bidh sinn gan gabhail gu dòigheil. Bha iad
2. Seòrsa gnìomh. Ann an Lisp, tha gnìomhan nan nithean den chiad ìre - tha iad nan seòrsa dàta, dìreach mar àireamhan, sreangan, msaa, agus tha riochdachadh litireil aca, faodar an stòradh ann an caochladairean, faodar an toirt seachad mar argamaidean, msaa.
3. Ath-chuairteachadh. Bha ath-chuairteachadh, gu dearbh, ann mar bhun-bheachd matamataigeach ro Lisp, ach b’ e Lisp a’ chiad chànan prògramaidh a thug taic dha. (Is dòcha gu bheil seo air a thuigsinn ann a bhith a’ cruthachadh ghnìomhan mar nithean den chiad ìre.)
4. Bun-bheachd ùr de chaochladairean. Ann an Lisp, tha na caochladairean uile nan comharran èifeachdach. Is e luachan na tha aig seòrsaichean, chan e caochladairean, agus tha sònrachadh no ceangaltach caochladairean a’ ciallachadh a bhith a’ dèanamh copaidh air comharran, chan e na tha iad a’ comharrachadh.
5. Cruinneachadh sgudal.
6. Prògraman air a dhèanamh suas de abairtean a. Is e craobhan de dh’ abairtean a th’ ann am prògraman lisp, agus tha gach fear dhiubh a’ tilleadh luach. (Faodaidh cuid de dh’ abairtean Lisp iomadh luach a thilleadh.) Tha seo eadar-dhealaichte bho Fortran agus mòran chànanan soirbheachail eile a tha a’ dèanamh eadar-dhealachadh eadar “aithrisean” agus “aithrisean.”
Bha e nàdarrach an t-eadar-dhealachadh seo a bhith ann an Fortran leis gu robh an cànan stèidhichte air loidhne (chan eil e na iongnadh dha cànan aig an robh cruth cur-a-steach na chairt punch). Cha b' urrainn dhut aithrisean neadachaidh a bhith agad. Agus fhad ‘s a bha feum agad air abairtean matamataigeach airson a bhith ag obair, cha robh adhbhar ann gum biodh dad sam bith eile air luach a thilleadh oir is dòcha nach biodh dad a’ feitheamh ri tilleadh.
Chaidh na cuingeadan a thogail nuair a thàinig cànanan le structar bloc, ach ron àm sin bha e ro fhadalach. Tha an t-eadar-dhealachadh eadar abairtean agus aithrisean air a dhearbhadh mar-thà. Chaidh e seachad bho Fortran gu Algol agus nas fhaide gu an sliochd.
Nuair a tha cànan air a dhèanamh gu tur de abairtean, faodaidh tu abairtean a sgrìobhadh ann an dòigh sam bith a thogras tu. Faodaidh tu an dàrna cuid sgrìobhadh (a’ cleachdadh a’ cho-chàradh
(if foo (= x 1) (= x 2))
no
(= x (if foo 1 2))
7. Seòrsa samhla. Tha caractaran eadar-dhealaichte bho shreathan, agus mar sin faodaidh tu sgrùdadh a dhèanamh airson co-ionannachd le bhith a’ dèanamh coimeas eadar comharran.
8. Teacsa airson còd a a’ cleachdadh craobhan samhla.
9. Tha an cànan gu lèir an-còmhnaidh ri fhaighinn. Chan eil eadar-dhealachadh follaiseach eadar ùine leughaidh, ùine cruinneachaidh agus ùine ruith. Faodaidh tu còd a chur ri chèile no a ruith fhad 's a tha thu a' leughadh, no a' leughadh no a' ruith còd fhad 's a tha thu a' cur ri chèile, no a' leughadh no a' cur ri chèile còd fhad 's a tha e a' ruith.
Tha còd ruith fhad ‘s a tha e a’ leughadh a’ leigeil le luchd-cleachdaidh co-chàradh Lisp ath-chlàradh; tha còd ruith aig àm cruinneachaidh na bhunait airson macros; tha cruinneachadh runtime mar bhunait airson Lisp a chleachdadh mar chànan leudachaidh ann am prògraman leithid Emacs; agus mu dheireadh, tha leughadh runtime a’ leigeil le prògraman conaltradh a’ cleachdadh s-expressions, beachd a chaidh ath-chruthachadh o chionn ghoirid ann an XML.
co-dhùnadh
Nuair a chaidh Lisp a chruthachadh an toiseach, bha na beachdan sin fada bho chleachdaidhean prògramadh gnàthach a bha air an òrdachadh leis a’ bhathar-cruaidh a bha ri fhaighinn aig deireadh na 1950n.
Thar ùine, mean air mhean thàinig an cànan bunaiteach, air a riochdachadh le soirbheachas chànanan mòr-chòrdte, gu Lisp. Thathas a-nis a’ gabhail ri puingean 1-5 gu farsaing. Tha puing 6 a’ tòiseachadh a’ nochdadh anns a’ phrìomh shruth. Ann am Python, tha clàs 7 ann an cruth air choreigin, ged nach eil co-chòrdadh iomchaidh ann. Nì 8, a tha (le nì 9) a’ dèanamh macros comasach ann an Lisp, fhathast ann an Lisp a-mhàin, is dòcha air sgàth (a) gu bheil feum air na bragan sin no rudeigin a cheart cho dona, agus (b) ma chuireas tu ris an àrdachadh cumhachd as ùire seo, faodaidh tu chan eil iad ag ràdh tuilleadh gun do chruthaich iad cànan ùr, ach a-mhàin gun do leasaich iad dualchainnt ùr Lisp; -)
Ged a tha seo feumail do luchd-prògramaidh an latha an-diugh, tha e neònach cunntas a thoirt air Lisp a thaobh an eadar-dhealachaidh eadar na dòighean air thuaiream a chaidh a chleachdadh ann an cànanan eile. Is dòcha nach e seo a bha McCarthy a’ smaoineachadh. Cha deach Lisp a dhealbhadh gus mearachdan Fortran a cheartachadh; nochd e nas motha mar fo-toradh de bhith a’ feuchainn
Source: www.habr.com