{"id":55281,"date":"2020-01-17T00:00:00","date_gmt":"2020-01-16T21:00:00","guid":{"rendered":"https:\/\/prohoster.info\/blog\/blog_prohoster\/chto-sdelalo-lisp-osobennym"},"modified":"2020-02-18T14:03:23","modified_gmt":"2020-02-18T11:03:23","slug":"chto-sdelalo-lisp-osobennym","status":"publish","type":"post","link":"https:\/\/prohoster.info\/et\/blog\/novosti-interneta\/chto-sdelalo-lisp-osobennym","title":{"rendered":"Mis tegi Lispi eriliseks","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<blockquote><p>\u00ab<i>K\u00f5ige suurem kunagi loodud programmeerimiskeel<\/i>\u00ab<br \/>\n \u2014 Alan Kay, \u00abLispist\u00bb<\/p><\/blockquote>\n<p>\n<img decoding=\"async\" alt=\"Mis tegi Lispi eriliseks\" src=\"\/wp-content\/uploads\/2020\/01\/64f1d8e27f54f8acd763bc17d0bfb57b.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nKui McCarthy l\u00f5i Lismi 1950ndate l\u00f5pus, erines see radikaalselt olemasolevatest keeltest, millest k\u00f5ige t\u00e4htsam oli <noindex><a rel=\"nofollow\" href=\"http:\/\/www.paulgraham.com\/history.html\">Fortran<\/a><\/noindex>.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\nLisp realiseeris \u00fcheksa uut ideed:<\/p>\n<p>1. <b>Tingimuslause (Conditionals)<\/b>. Tingimuslause on if-then-else konstruktsioon. T\u00e4nap\u00e4eval v\u00f5tame neid iseenesestm\u00f5istetavalt. Need olid <noindex><a rel=\"nofollow\" href=\"http:\/\/www-formal.stanford.edu\/jmc\/history\/lisp\/node2.html\">leiutatud<\/a><\/noindex> McCarthy poolt Lismi arendamise ajal. (Fortranil oli sel ajal ainult goto-lauseid, mis olid tihedalt seotud alusraadiote juhistega.) McCarthy, olles Algoli komitees, t\u00f5i tingimuslauseid Algolisse, kust need levisid teistesse keeltesse.<\/p>\n<p>2. <b>Funktsionaalne t\u00fc\u00fcp (A function type)<\/b>. Lispis on funktsioonide jaoks esimese klassi objektid \u2014 need on andmet\u00fc\u00fcbid, nagu numbrid, stringid jne, ja neil on s\u00f5nas\u00f5naline esitus, neid saab salvestada muutuja sisse, neid saab edastada argumentidena jne. <\/p>\n<p>3. <b>Rekursioon (Recursion)<\/b>. Rekursioon eksisteeris loomulikult matemaatilise kontseptsioonina enne Lispit, kuid Lisp oli esimene programmeerimiskeel, mis seda toetas. (See v\u00f5ib olla tingitud funktsioonide loomisest kui esimese klassi objektidest.)<\/p>\n<p>4. <b>Uute muutujate kontseptsioon<\/b>. Lispis on k\u00f5ik muutujad efektiivsed viitad. V\u00e4\u00e4rtused on need, mis kuuluvad t\u00fc\u00fcpidele, mitte muutujatele, ja muutujate sidumine t\u00e4hendab viidete kopeerimist, mitte seda, millele nad viitavad.<\/p>\n<p>5. <b>R\u00e4mpsu kogumine<\/b>.<\/p>\n<p>6. <b>Programmid koosnevad avaldistest<\/b>. Lispis olevad programmid on v\u00e4ljenduspuud, millest iga\u00fchel on tagastatav v\u00e4\u00e4rtus. (M\u00f5ned Lisp-v\u00e4ljendused v\u00f5ivad tagastada mitmeid v\u00e4\u00e4rtusi.) See eristab neid Fortranist ja paljusid teisi edukaid keeli, mis eristavad \u201ev\u00e4ljendusi\u201c ja \u201ev\u00e4iteid\u201c.<\/p>\n<p>Fortranis oli loomulik omada sellist eristust, kuna keel oli lineaarselt suunatud (pole \u00fcllatav, et keele sisendiks oli perforatsioonikaart). Te ei saanud omada pesastatud v\u00e4iteid. Ja kuigi teil olid matemaatilised v\u00e4ljendused t\u00f6\u00f6tamiseks vajalikud, ei olnud m\u00f5tet sundida midagi muud tagastama v\u00e4\u00e4rtust, kuna ei v\u00f5inud olla midagi, mis ootas tagastamist.<\/p>\n<p>Piirangud eemaldati plokk-struktureeritud keelte tekkimisega, kuid sel hetkel oli juba liiga hilja. Erinevus v\u00e4ljenduste ja v\u00e4idete vahel oli juba sisse seatud. See liikus Fortranist Algolisse ja sealt edasi nende j\u00e4reltulijatele.<\/p>\n<p>Kui keel koosneb t\u00e4ielikult v\u00e4ljenditest, saate koostada v\u00e4ljendeid meelep\u00e4raselt. Saate kirjutada kas (kasutades s\u00fcntaksit\u00a0<noindex><a rel=\"nofollow\" href=\"http:\/\/www.paulgraham.com\/arc.html\">Arc<\/a><\/noindex>)<\/p>\n<pre><code class=\"lisp\">(if foo (= x 1) (= x 2))<\/code><\/pre>\n<p>\nv\u00f5i<\/p>\n<pre><code class=\"lisp\">(= x (if foo 1 2))<\/code><\/pre>\n<p>\n7. <b>S\u00fcmbolit\u00fc\u00fcp (A symbol type)<\/b>. S\u00fcmbolid erinevad stringidest, sel juhul saate v\u00f5rrelda nende v\u00f5rdlust, v\u00f5rreldes osutajaid.<\/p>\n<p>8. <b>Koodinotaatsioon (A notation for code)<\/b> kasutades s\u00fcmbolite puid.<\/p>\n<p>9. <b>Kogu keel on alati saadaval (The whole language always available)<\/b>. Ei ole selget erinevust lugemise aja, kompileerimise ja t\u00e4itmise vahel. Saate koodi kompileerida v\u00f5i k\u00e4ivitada lugemise ajal, v\u00f5i lugeda v\u00f5i k\u00e4ivitada koodi, samal ajal kompileerides, v\u00f5i lugeda v\u00f5i kompileerida koodi t\u00e4itmise ajal.<\/p>\n<p>Koodi k\u00e4itamine lugemise ajal v\u00f5imaldab kasutajatel \u00fcmber programmeerida Lisp-s\u00fcntaksit; koodi k\u00e4itamine kompileerimise ajal on makrode alus; k\u00e4itamine t\u00e4itmise ajal on Lispide kasutamise alus sellistes programmides nagu Emacs; ja l\u00f5puks, lugemine t\u00e4itmise ajal v\u00f5imaldab programmide koost\u00f6\u00f6d, kasutades s-v\u00e4ljendeid, idee, mis on hiljuti XML-is uuesti leiutatud.<\/p>\n<h4>Kokkuv\u00f5te<\/h4>\n<p>\nKui Lisp ainult leiutati, olid k\u00f5ik need ideed kaugel tavalistest programmeerimistavadest, mida dikteeris 1950. aastate l\u00f5pupoolte saadaval olnud riistvara.<\/p>\n<p>Aja jooksul on vaikimisi keel, mille kehastavad populaarsed keeled, j\u00e4rk-j\u00e4rgult arenemas Lispiks. Punktid 1-5 on n\u00fc\u00fcd laialdaselt levinud. Punkt 6 hakkab ilmuma peavoolu. Pythonis on mingil kujul olemas punkt 7, kuigi sobivat s\u00fcntaksit pole. Punkt 8, mis (koos punktiga 9) muudab makrode v\u00f5imaldamise Lispis v\u00f5imalikuks, on endiselt olemas ainult Lispis, v\u00f5ib-olla seet\u00f5ttu, et (a) see vajab neid sulgusid v\u00f5i midagi sama halba, ja (b) kui lisate selle viimase v\u00f5imu suurendamise, siis ei saa enam v\u00e4ita, et olete v\u00e4lja m\u00f5elnud uue keele, vaid olete lihtsalt v\u00e4lja t\u00f6\u00f6tanud uue dialekti Lispist; -)<\/p>\n<p>Kuigi see on kaasaegsete programmeerijate jaoks kasulik, on kummaline kirjeldada Lispi selle eristatavuse kaudu juhuslikest v\u00f5tetest, mis on kasutusele v\u00f5etud teistes keeltes. V\u00f5ib-olla ei olnud see see, millest McCarthy m\u00f5tles. Lisp ei olnud projekteeritud Fortrani vigade parandamiseks; see ilmus pigem k\u00f5rvalproduktina. <noindex><a rel=\"nofollow\" href=\"http:\/\/www.paulgraham.com\/rootsoflisp.html\">aktsioomide koondamiseks<\/a><\/noindex>.<br \/>\n<br \/>Allikas: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/476994\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>&#171;\u0412\u0435\u043b\u0438\u0447\u0430\u0439\u0448\u0438\u0439 \u0438\u0437 \u043a\u043e\u0433\u0434\u0430-\u043b\u0438\u0431\u043e \u0441\u043e\u0437\u0434\u0430\u043d\u043d\u044b\u0445 \u044f\u0437\u044b\u043a\u043e\u0432 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f&#171; \u2014 Alan Kay, \u00abon Lisp\u00bb \u041a\u043e\u0433\u0434\u0430 \u041c\u0430\u043a\u043a\u0430\u0440\u0442\u0438 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0430\u043b Lisp \u0432 \u043a\u043e\u043d\u0446\u0435 1950-\u0445, \u043e\u043d \u0440\u0430\u0434\u0438\u043a\u0430\u043b\u044c\u043d\u043e \u043e\u0442\u043b\u0438\u0447\u0430\u043b\u0441\u044f \u043e\u0442 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0445 \u044f\u0437\u044b\u043a\u043e\u0432, \u0441\u0430\u043c\u044b\u043c \u0433\u043b\u0430\u0432\u043d\u044b\u043c \u0438\u0437 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0431\u044b\u043b Fortran. Lisp \u0432\u043e\u043f\u043b\u043e\u0442\u0438\u043b \u0434\u0435\u0432\u044f\u0442\u044c \u043d\u043e\u0432\u044b\u0445 \u0438\u0434\u0435\u0439: 1. \u0423\u0441\u043b\u043e\u0432\u043d\u044b\u0435 \u0432\u044b\u0441\u043a\u0430\u0437\u044b\u0432\u0430\u043d\u0438\u044f (Conditionals).\u00a0\u0423\u0441\u043b\u043e\u0432\u043d\u044b\u0435 \u0432\u044b\u0441\u043a\u0430\u0437\u044b\u0432\u0430\u043d\u0438\u044f \u044d\u0442\u043e if-then-else \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044f. \u0421\u0435\u0439\u0447\u0430\u0441 \u043c\u044b \u0432\u043e\u0441\u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0435\u043c \u0438\u0445 \u043a\u0430\u043a \u0434\u043e\u043b\u0436\u043d\u043e\u0435. \u041e\u043d\u0438 \u0431\u044b\u043b\u0438 \u0438\u0437\u043e\u0431\u0440\u0435\u0442\u0435\u043d\u044b \u041c\u0430\u043a\u043a\u0430\u0440\u0442\u0438 \u0432\u043e \u0432\u0440\u0435\u043c\u044f [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":55282,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-55281","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-novosti-interneta"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.0.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"&quot;\u0412\u0435\u043b\u0438\u0447\u0430\u0439\u0448\u0438\u0439 \u0438\u0437 \u043a\u043e\u0433\u0434\u0430-\u043b\u0438\u0431\u043e \u0441\u043e\u0437\u0434\u0430\u043d\u043d\u044b\u0445 \u044f\u0437\u044b\u043a\u043e\u0432 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f&quot; \u2014 Alan Kay, \u00abon Lisp\u00bb\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/et\/blog\/novosti-interneta\/chto-sdelalo-lisp-osobennym\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.0.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"et_EE\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0427\u0442\u043e \u0441\u0434\u0435\u043b\u0430\u043b\u043e Lisp \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u044b\u043c | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"&quot;\u0412\u0435\u043b\u0438\u0447\u0430\u0439\u0448\u0438\u0439 \u0438\u0437 \u043a\u043e\u0433\u0434\u0430-\u043b\u0438\u0431\u043e \u0441\u043e\u0437\u0434\u0430\u043d\u043d\u044b\u0445 \u044f\u0437\u044b\u043a\u043e\u0432 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f&quot; \u2014 Alan Kay, \u00abon Lisp\u00bb\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/et\/blog\/novosti-interneta\/chto-sdelalo-lisp-osobennym\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2020-01-16T21:00:00+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-02-18T11:03:23+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Mis tegi Lispi eriliseks | ProHoster","description":"\"K\u00f5ige suurem kunagi loodud programmeerimiskeel\" \u2014 Alan Kay, \u00abon Lisp\u00bb","canonical_url":"https:\/\/prohoster.info\/et\/blog\/novosti-interneta\/chto-sdelalo-lisp-osobennym","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"et_EE","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0427\u0442\u043e \u0441\u0434\u0435\u043b\u0430\u043b\u043e Lisp \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u044b\u043c | ProHoster","og:description":"&quot;\u0412\u0435\u043b\u0438\u0447\u0430\u0439\u0448\u0438\u0439 \u0438\u0437 \u043a\u043e\u0433\u0434\u0430-\u043b\u0438\u0431\u043e \u0441\u043e\u0437\u0434\u0430\u043d\u043d\u044b\u0445 \u044f\u0437\u044b\u043a\u043e\u0432 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f&quot; \u2014 Alan Kay, \u00abon Lisp\u00bb","og:url":"https:\/\/prohoster.info\/et\/blog\/novosti-interneta\/chto-sdelalo-lisp-osobennym","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2020-01-16T21:00:00+00:00","article:modified_time":"2020-02-18T11:03:23+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"55281","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 19:46:29","updated":"2022-10-01 02:03:35","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/55281","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/comments?post=55281"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/55281\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/media\/55282"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/media?parent=55281"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/categories?post=55281"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/tags?post=55281"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}