{"id":163,"date":"2008-11-13T23:29:59","date_gmt":"2008-11-14T02:29:59","guid":{"rendered":"https:\/\/devkico.itexto.com.br\/?p=163"},"modified":"2008-11-13T23:29:59","modified_gmt":"2008-11-14T02:29:59","slug":"alguns-fatos-bem-interessantes-sobre-lisp","status":"publish","type":"post","link":"https:\/\/devkico.itexto.com.br\/?p=163","title":{"rendered":"Alguns fatos bem interessantes sobre LISP"},"content":{"rendered":"<p>\u00a0<\/p>\n<figure id=\"attachment_164\" aria-describedby=\"caption-attachment-164\" style=\"width: 206px\" class=\"wp-caption alignleft\"><a href=\"https:\/\/devkico.itexto.com.br\/wp-content\/uploads\/2008\/11\/mccarthy-youre-doing-it-wrong-s.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"size-medium wp-image-164 \" title=\"mccarthy-youre-doing-it-wrong-s\" src=\"https:\/\/devkico.itexto.com.br\/wp-content\/uploads\/2008\/11\/mccarthy-youre-doing-it-wrong-s-294x300.jpg\" alt=\"John McCarthy: o papai do Lisp\" width=\"206\" height=\"210\" srcset=\"https:\/\/devkico.itexto.com.br\/wp-content\/uploads\/2008\/11\/mccarthy-youre-doing-it-wrong-s-294x300.jpg 294w, https:\/\/devkico.itexto.com.br\/wp-content\/uploads\/2008\/11\/mccarthy-youre-doing-it-wrong-s.jpg 550w\" sizes=\"(max-width: 206px) 100vw, 206px\" \/><\/a><figcaption id=\"caption-attachment-164\" class=\"wp-caption-text\">John McCarthy: o &quot;papi&quot; do Lisp<\/figcaption><\/figure>\n<p>LISP sempre me impressionou. Como algo como\u00a0<strong>(defun fatorial (n) (if (&lt;= n 1) 1 (* n (fatorial (- n 1)))))<\/strong>\u00a0pode ser compreendido e, al\u00e9m de ser escrito por humanos, gerar programas de computador que realmente fa\u00e7am alguma coisa? Como algu\u00e9m consegue entender isto? Quem programa em LISP \u00e9 feliz? A resposta \u00e9: sim, e <strong>MUITO<\/strong>.<\/p>\n<p>LISP sempre me fascinou por seu aspecto intelectual. Voc\u00ea realmente pensa mais (ou melhor, pensa de um modo radicalmente diferente) quando est\u00e1 programando nesta linguagem. Acha Ruby, Python e Groovy linguagens divertidas de se programar? Acredite: LISP \u00e9 MUITO mais. Comecei a aprender LISP no curso de matem\u00e1tica discreta. Naquela \u00e9poca, enquanto aprendia recursividade, LISP se mostrou um laborat\u00f3rio extremamente \u00fatil para meu aprendizado. Por\u00e9m, desde ent\u00e3o, nunca fiz algo realmente \u00fatil com a linguagem. At\u00e9 agora (mais sobre minhas experi\u00eancias com Lisp em posts futuros)&#8230;<\/p>\n<p>Este &#8220;n\u00e3o fazer nada de \u00fatil&#8221; com Lisp acabou aumentando a minha curiosidade a respeito de suas aplica\u00e7\u00f5es. Que bicho de fato \u00e9 este tal de Lisp e em que \u00e9 usado? No que ele \u00e9 melhor do que outras linguagens e por que deveria me interessar por ele? E \u00e9 aqui que entra minha lista de &#8220;fatos bem interessantes sobre Lisp&#8221;.<\/p>\n<p>Para come\u00e7ar, Lisp n\u00e3o \u00e9 mais apenas uma linguagem. Atualmente consiste em uma fam\u00edlia de linguagens, todas inspiradas no Lisp original desenvolvido por John McCarthy em 1958. A prop\u00f3sito, Lisp foi a segunda linguagem de alto n\u00edvel desenvolvida (a primeira foi FORTRAN), o que nos leva a ver o poder desta criatura: 50 anos depois ainda \u00e9 usada (claro, sofreu diversas altera\u00e7\u00f5es neste per\u00edodo) em projetos de grande porte e, n\u00e3o satisfeita, \u00a0possui recursos que s\u00f3 recenemente come\u00e7amos a ver aparecer em outras linguagens de programa\u00e7\u00e3o.<\/p>\n<p>Lisp nos trouxe algumas novidades bem interessantes:<\/p>\n<p>\u00a0<\/p>\n<ul>\n<li>Uso de condicionais: choque-se. Condicionais do tipo if-then-else s\u00f3 aparecem pela primeira vez no Lisp. Em FORTRAN este tipo de construtor ainda n\u00e3o existia. At\u00e9 ent\u00e3o, podia-se contar apenas com o abomin\u00e1vel <strong>goto<\/strong>.<\/li>\n<li>Garbage Colector. Achou que foi o Smalltalk que introduziu este recurso? Java? Nada&#8230; Lisp!<\/li>\n<li>Recursividade. Lisp foi a primeira linguagem a implementar este conceito com sucesso.<\/li>\n<li>O tipo de dados fun\u00e7\u00e3o. Em Lisp, fun\u00e7\u00f5es s\u00e3o um tipo de dados assim como inteiros, booleanos ou strings. Voc\u00ea pode passar fun\u00e7\u00f5es como par\u00e2metros para outras fun\u00e7\u00f5es ou mesmo armazen\u00e1-las como vari\u00e1veis. Incr\u00edvel pensar que s\u00f3 recentemente, com o advento das closures \u00e9 que este conceito come\u00e7ou a se tornar popular.\u00a0<\/li>\n<li>Todas as vari\u00e1veis s\u00e3o ponteiros. N\u00e3o, n\u00e3o foi o Java que introduziu este conceito.<\/li>\n<li>Uma sintaxe que at\u00e9 hoje \u00e9 sem precedentes. Apesar de parecer complexa, a sintaxe do Lisp \u00e9 a mais simples e eficaz que conhe\u00e7o: apenas par\u00eanteses representando listas e fun\u00e7\u00f5es.<br \/>\nExemplo de lista em Lisp: (a b c d)<br \/>\nExemplo de fun\u00e7\u00e3o em lisp (+ a b)<br \/>\nOu ent\u00e3o algo mais complexo: (+ (- b a) (* c d))<br \/>\nIncr\u00edvel pensar que s\u00f3 com isto sistemas inteiros s\u00e3o constru\u00eddos.<\/li>\n<li>A id\u00e9ia de que \u00e9 poss\u00edvel escrever programas de computador inteiramente compostos por fun\u00e7\u00f5es.<\/li>\n<\/ul>\n<p>\u00a0<\/p>\n<p>E, acredito, n\u00e3o listei todas as novidades que o Lisp trouxe. Saindo das novidades, vamos pra os fatos:<\/p>\n<p><a href=\"https:\/\/devkico.itexto.com.br\/wp-content\/uploads\/2008\/11\/lisp.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignright size-medium wp-image-165\" title=\"lisp\" src=\"https:\/\/devkico.itexto.com.br\/wp-content\/uploads\/2008\/11\/lisp-214x300.jpg\" alt=\"\" width=\"214\" height=\"300\" srcset=\"https:\/\/devkico.itexto.com.br\/wp-content\/uploads\/2008\/11\/lisp-214x300.jpg 214w, https:\/\/devkico.itexto.com.br\/wp-content\/uploads\/2008\/11\/lisp.jpg 343w\" sizes=\"(max-width: 214px) 100vw, 214px\" \/><\/a><\/p>\n<ul>\n<li>O nome Lisp v\u00eam de List Processor. Listas s\u00e3o a estrutura b\u00e1sica por tr\u00e1s da linguagem.<\/li>\n<li>N\u00e3o se trata de uma linguagem que adota apenas o paradigma funcional. Na realidade, os paradigmas orientado a objetos e procedural tamb\u00e9m est\u00e3o presentes.<\/li>\n<li>A primeira plataforma popular para desenvolvimento de lojas virtuais, a Viaweb (hoje Yahoo! Store), foi desenvolvida inteiramente em Lisp e, segundo um de seus criadores, Paul Graham (fan\u00e1tico por Lisp, diga-se de passagem), foi o principal fator para seu sucesso.<\/li>\n<li>Por ser funcional, se adapta muito bem ao grande desafio dos programadores atuais: a programa\u00e7\u00e3o paralela.<\/li>\n<li>Usa cart\u00e3o de cr\u00e9dito? Saiba que Lisp \u00e9 uma das tecnologias mais utilizadas na detec\u00e7\u00e3o de fraudes.<\/li>\n<li>Lisp \u00e9 a principal linguagem usada em estudos de intelig\u00eancia artificial (isto todo mundo sabe)<\/li>\n<li>Desenvolvimento de aplica\u00e7\u00f5es em Lisp \u00e9 r\u00e1pido. Quer criar um prot\u00f3tipo r\u00e1pido de sua aplica\u00e7\u00e3o? Em Lisp \u00e9 poss\u00edvel. Isto porque, como \u00e9 interpretada (pode ser compilada tamb\u00e9m), todas as altera\u00e7\u00f5es feitas por voc\u00ea automaticamente estar\u00e3o dispon\u00edveis em seu ambiente de desenvolvimento. Consequentemente, o ciclo escreve-compila-testa vira apensa escreve-testa.<\/li>\n<li>\u00c9 considerada por muitos linguagem <a href=\"http:\/\/www.paulgraham.com\/avg.html\" target=\"_blank\">mais poderosa do mundo<\/a>. Uma linha de c\u00f3digo Lisp equivale em alguns casos a dezenas de linhas de c\u00f3digo escrito em C\/C++ ou Java. Quando voc\u00ea desenvolve algo em Lisp, ap\u00f3s concluir seu trabalho, percebe-se que, mais do que um sistema, uma nova linguagem de programa\u00e7\u00e3o foi criada.<br \/>\n(a prop\u00f3sito, um fato escondido: \u00e9 uma linguagem excelente para a cria\u00e7\u00e3o de DSLs)\u00a0<\/li>\n<li>Lisp n\u00e3o \u00e9 um ermit\u00e3o. Voc\u00ea pode usar <a href=\"http:\/\/cl-sdl.sourceforge.net\/screenshots\/index.html\" target=\"_blank\">OpenGL<\/a>, <a href=\"http:\/\/franz.com\/support\/documentation\/8.1\/doc\/aodbc.htm\" target=\"_blank\">ODBC<\/a>, bibliotecas nativas, enfim, o que quiser<\/li>\n<li><a href=\"http:\/\/www.pchristensen.com\/blog\/lisp-companies\/\">Muita gente usa Lisp<\/a>.<\/li>\n<\/ul>\n<p>Agora uma pergunta pode aparecer: &#8220;se Lisp \u00a0brilha no escuro como voc\u00ea est\u00e1 dizendo, por que ent\u00e3o n\u00e3o est\u00e1 todo mundo programando em Lisp?&#8221;. Acredito que a popularidade s\u00f3 n\u00e3o \u00e9 maior devido aos seguintes fatores:<\/p>\n<ul>\n<li>As pessoas acham que Lisp \u00e9 dif\u00edcil sem nem ao menos tentar. Ao se depararem com um mundarel de par\u00eanteses, desesperam-se e correm desesperadas para algo com uma sintaxe pr\u00f3xima do C. Este mito cai por terra ao vermos qu\u00e3o simples \u00e9 sua <a href=\"http:\/\/www.csci.csusb.edu\/dick\/samples\/lisp.syntax.html\" target=\"_blank\">sintaxe<\/a>.<\/li>\n<li>A exist\u00eancia de v\u00e1rios dialetos que apresentam pequenas diferen\u00e7as entre si: Alegro, Common Lisp, Arc, Mac Lisp, Scheme, etc.<\/li>\n<li>Apesar de existirem bindings para pr\u00e1ticamente todas as tecnologias em uso atualmente, n\u00e3o h\u00e1 um n\u00famero grande de bibliotecas para, por exemplo, desenvolver aplica\u00e7\u00f5es web.<\/li>\n<li>A falta de uma IDE realmente produtiva para a linguagem.<\/li>\n<\/ul>\n<p>No entanto, se levarmos em considera\u00e7\u00e3o o n\u00famero de linguagens inspiradas por Lisp (Java, Python, C#, Ruby, Perl, Smalltalk e muitas outras), percebemos que, na realidade, voc\u00ea pode at\u00e9 n\u00e3o conhecer Lisp, mas com certeza aqueles que criaram sua linguagem favorita quase que com certeza se inspiraram ao menos em parte nela.<\/p>\n<p>A pergunta que se deve fazer no frigir dos ovos \u00e9: &#8220;vale a pena aprender Lisp?&#8221;. Minha resposta \u00e9: <span style=\"color: #ff0000;\"><strong>sim, e MUITO<\/strong><\/span>, mesmo que voc\u00ea jamais a use. Isto porqu\u00ea trata-se de uma daquelas linguagens que realmente abre a nossa mente para outras possibilidades de programa\u00e7\u00e3o. A partir do momento em que voc\u00ea toma conhecimento dos conceitos b\u00e1sicos por tr\u00e1s do Lisp, fica mais f\u00e1cil entender de onde surgem estas &#8220;novidades&#8221; que vemos surgir recentemente, como closures, coletor de lixo, programa\u00e7\u00e3o funcional e paralela, etc. Isto sem mencionar o <strong>determinismo lingu\u00edstico,<\/strong> que \u00e9 a maior trag\u00e9dia que pode ocorrer a um programador (mas isto \u00e9 assunto para um outro post).<\/p>\n<p>O \u00fanico problema em aprender Lisp \u00e9: uma vez aprendido, voc\u00ea sempre sentir\u00e1 sua falta ao programar em qualquer outra linguagem.<\/p>\n<p>\u00a0<\/p>\n<p>Quer experimentar Lisp?\u00a0<br \/>\nSe quiser, \u00e9 poss\u00edvel experiment\u00e1-lo <a href=\"http:\/\/www.franz.com\/products\/allegrocl\/prompt\/javatelnet.html\" target=\"_blank\">online<\/a>.<br \/>\nOu ent\u00e3o, melhor ainda: baixe o <a href=\"http:\/\/sourceforge.net\/projects\/clisp\/\" target=\"_blank\">Common Lisp<\/a> e experimente em seu computador.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u00a0 LISP sempre me impressionou. Como algo como\u00a0(defun fatorial (n) (if (&lt;= n 1) 1 (* n (fatorial (- n 1)))))\u00a0pode ser compreendido e, al\u00e9m de ser escrito por humanos, gerar programas de computador que realmente fa\u00e7am alguma coisa? Como algu\u00e9m consegue entender isto? Quem programa em LISP \u00e9 feliz? A resposta \u00e9: sim, e [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_coblocks_attr":"","_coblocks_dimensions":"","_coblocks_responsive_height":"","_coblocks_accordion_ie_support":"","site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-gradient":""}},"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[9,22],"tags":[],"class_list":["post-163","post","type-post","status-publish","format-standard","hentry","category-historia","category-lisp"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v22.8 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Alguns fatos bem interessantes sobre LISP - \/dev\/Kico<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/devkico.itexto.com.br\/?p=163\" \/>\n<meta property=\"og:locale\" content=\"pt_BR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Alguns fatos bem interessantes sobre LISP - \/dev\/Kico\" \/>\n<meta property=\"og:description\" content=\"\u00a0 LISP sempre me impressionou. Como algo como\u00a0(defun fatorial (n) (if (&lt;= n 1) 1 (* n (fatorial (- n 1)))))\u00a0pode ser compreendido e, al\u00e9m de ser escrito por humanos, gerar programas de computador que realmente fa\u00e7am alguma coisa? Como algu\u00e9m consegue entender isto? Quem programa em LISP \u00e9 feliz? A resposta \u00e9: sim, e [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/devkico.itexto.com.br\/?p=163\" \/>\n<meta property=\"og:site_name\" content=\"\/dev\/Kico\" \/>\n<meta property=\"article:published_time\" content=\"2008-11-14T02:29:59+00:00\" \/>\n<meta property=\"og:image\" content=\"http:\/\/www.itexto.net\/devkico\/wp-content\/uploads\/2008\/11\/mccarthy-youre-doing-it-wrong-s-294x300.jpg\" \/>\n<meta name=\"author\" content=\"Kico (Henrique Lobo Weissmann)\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@loboweissmann\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"Kico (Henrique Lobo Weissmann)\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. tempo de leitura\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/devkico.itexto.com.br\/?p=163\",\"url\":\"https:\/\/devkico.itexto.com.br\/?p=163\",\"name\":\"Alguns fatos bem interessantes sobre LISP - \/dev\/Kico\",\"isPartOf\":{\"@id\":\"https:\/\/devkico.itexto.com.br\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/devkico.itexto.com.br\/?p=163#primaryimage\"},\"image\":{\"@id\":\"https:\/\/devkico.itexto.com.br\/?p=163#primaryimage\"},\"thumbnailUrl\":\"https:\/\/devkico.itexto.com.br\/wp-content\/uploads\/2008\/11\/mccarthy-youre-doing-it-wrong-s-294x300.jpg\",\"datePublished\":\"2008-11-14T02:29:59+00:00\",\"dateModified\":\"2008-11-14T02:29:59+00:00\",\"author\":{\"@id\":\"https:\/\/devkico.itexto.com.br\/#\/schema\/person\/502ab8892631bb005d6da2269fe5a3a7\"},\"breadcrumb\":{\"@id\":\"https:\/\/devkico.itexto.com.br\/?p=163#breadcrumb\"},\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/devkico.itexto.com.br\/?p=163\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/devkico.itexto.com.br\/?p=163#primaryimage\",\"url\":\"https:\/\/devkico.itexto.com.br\/wp-content\/uploads\/2008\/11\/mccarthy-youre-doing-it-wrong-s-294x300.jpg\",\"contentUrl\":\"https:\/\/devkico.itexto.com.br\/wp-content\/uploads\/2008\/11\/mccarthy-youre-doing-it-wrong-s-294x300.jpg\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/devkico.itexto.com.br\/?p=163#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/devkico.itexto.com.br\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Alguns fatos bem interessantes sobre LISP\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/devkico.itexto.com.br\/#website\",\"url\":\"https:\/\/devkico.itexto.com.br\/\",\"name\":\"\/dev\/Kico\",\"description\":\"Desenvolvendo software\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/devkico.itexto.com.br\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"pt-BR\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/devkico.itexto.com.br\/#\/schema\/person\/502ab8892631bb005d6da2269fe5a3a7\",\"name\":\"Kico (Henrique Lobo Weissmann)\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/devkico.itexto.com.br\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/dd6973d86a689bc63122b2e603f25be3?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/dd6973d86a689bc63122b2e603f25be3?s=96&d=mm&r=g\",\"caption\":\"Kico (Henrique Lobo Weissmann)\"},\"sameAs\":[\"https:\/\/x.com\/loboweissmann\"],\"url\":\"https:\/\/devkico.itexto.com.br\/?author=1\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Alguns fatos bem interessantes sobre LISP - \/dev\/Kico","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/devkico.itexto.com.br\/?p=163","og_locale":"pt_BR","og_type":"article","og_title":"Alguns fatos bem interessantes sobre LISP - \/dev\/Kico","og_description":"\u00a0 LISP sempre me impressionou. Como algo como\u00a0(defun fatorial (n) (if (&lt;= n 1) 1 (* n (fatorial (- n 1)))))\u00a0pode ser compreendido e, al\u00e9m de ser escrito por humanos, gerar programas de computador que realmente fa\u00e7am alguma coisa? Como algu\u00e9m consegue entender isto? Quem programa em LISP \u00e9 feliz? A resposta \u00e9: sim, e [&hellip;]","og_url":"https:\/\/devkico.itexto.com.br\/?p=163","og_site_name":"\/dev\/Kico","article_published_time":"2008-11-14T02:29:59+00:00","og_image":[{"url":"http:\/\/www.itexto.net\/devkico\/wp-content\/uploads\/2008\/11\/mccarthy-youre-doing-it-wrong-s-294x300.jpg"}],"author":"Kico (Henrique Lobo Weissmann)","twitter_card":"summary_large_image","twitter_creator":"@loboweissmann","twitter_misc":{"Escrito por":"Kico (Henrique Lobo Weissmann)","Est. tempo de leitura":"6 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/devkico.itexto.com.br\/?p=163","url":"https:\/\/devkico.itexto.com.br\/?p=163","name":"Alguns fatos bem interessantes sobre LISP - \/dev\/Kico","isPartOf":{"@id":"https:\/\/devkico.itexto.com.br\/#website"},"primaryImageOfPage":{"@id":"https:\/\/devkico.itexto.com.br\/?p=163#primaryimage"},"image":{"@id":"https:\/\/devkico.itexto.com.br\/?p=163#primaryimage"},"thumbnailUrl":"https:\/\/devkico.itexto.com.br\/wp-content\/uploads\/2008\/11\/mccarthy-youre-doing-it-wrong-s-294x300.jpg","datePublished":"2008-11-14T02:29:59+00:00","dateModified":"2008-11-14T02:29:59+00:00","author":{"@id":"https:\/\/devkico.itexto.com.br\/#\/schema\/person\/502ab8892631bb005d6da2269fe5a3a7"},"breadcrumb":{"@id":"https:\/\/devkico.itexto.com.br\/?p=163#breadcrumb"},"inLanguage":"pt-BR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/devkico.itexto.com.br\/?p=163"]}]},{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/devkico.itexto.com.br\/?p=163#primaryimage","url":"https:\/\/devkico.itexto.com.br\/wp-content\/uploads\/2008\/11\/mccarthy-youre-doing-it-wrong-s-294x300.jpg","contentUrl":"https:\/\/devkico.itexto.com.br\/wp-content\/uploads\/2008\/11\/mccarthy-youre-doing-it-wrong-s-294x300.jpg"},{"@type":"BreadcrumbList","@id":"https:\/\/devkico.itexto.com.br\/?p=163#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/devkico.itexto.com.br\/"},{"@type":"ListItem","position":2,"name":"Alguns fatos bem interessantes sobre LISP"}]},{"@type":"WebSite","@id":"https:\/\/devkico.itexto.com.br\/#website","url":"https:\/\/devkico.itexto.com.br\/","name":"\/dev\/Kico","description":"Desenvolvendo software","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/devkico.itexto.com.br\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"pt-BR"},{"@type":"Person","@id":"https:\/\/devkico.itexto.com.br\/#\/schema\/person\/502ab8892631bb005d6da2269fe5a3a7","name":"Kico (Henrique Lobo Weissmann)","image":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/devkico.itexto.com.br\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/dd6973d86a689bc63122b2e603f25be3?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/dd6973d86a689bc63122b2e603f25be3?s=96&d=mm&r=g","caption":"Kico (Henrique Lobo Weissmann)"},"sameAs":["https:\/\/x.com\/loboweissmann"],"url":"https:\/\/devkico.itexto.com.br\/?author=1"}]}},"jetpack_featured_media_url":"","jetpack-related-posts":[],"jetpack_sharing_enabled":true,"jetpack_likes_enabled":true,"_links":{"self":[{"href":"https:\/\/devkico.itexto.com.br\/index.php?rest_route=\/wp\/v2\/posts\/163"}],"collection":[{"href":"https:\/\/devkico.itexto.com.br\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devkico.itexto.com.br\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devkico.itexto.com.br\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/devkico.itexto.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=163"}],"version-history":[{"count":1,"href":"https:\/\/devkico.itexto.com.br\/index.php?rest_route=\/wp\/v2\/posts\/163\/revisions"}],"predecessor-version":[{"id":166,"href":"https:\/\/devkico.itexto.com.br\/index.php?rest_route=\/wp\/v2\/posts\/163\/revisions\/166"}],"wp:attachment":[{"href":"https:\/\/devkico.itexto.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=163"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devkico.itexto.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=163"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devkico.itexto.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=163"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}