{"id":117828,"date":"2022-05-16T09:32:58","date_gmt":"2022-05-16T12:32:58","guid":{"rendered":"https:\/\/fluency.io\/br\/blog\/?p=6745"},"modified":"2023-08-01T15:04:25","modified_gmt":"2023-08-01T18:04:25","slug":"guia-programacao-funcional","status":"publish","type":"post","link":"https:\/\/homolog.fluency.io\/br\/blog\/guia-programacao-funcional\/","title":{"rendered":"Guia da Programa\u00e7\u00e3o Funcional: saiba tudo sobre o conceito e como aplicar"},"content":{"rendered":"\n<p>Os paradigmas s\u00e3o utilizados para classificar linguagens de programa\u00e7\u00e3o e a forma de estruturar e executar os programas a partir delas. Nos \u00faltimos anos, al\u00e9m da <strong>programa\u00e7\u00e3o orientada a objetos<\/strong> e a <strong>programa\u00e7\u00e3o imperativa<\/strong>, que s\u00e3o bastante comuns entre os programadores, vem ganhando espa\u00e7o a <strong>programa\u00e7\u00e3o funcional<\/strong>.<\/p>\n\n\n\n<p>Esse paradigma se difere muito dos demais por ser baseado em fun\u00e7\u00f5es matem\u00e1ticas puras. Mesmo sendo muito diferentes, ele pode ser uma excelente ferramenta para a diminui\u00e7\u00e3o de problemas no c\u00f3digo, al\u00e9m de muitos outros benef\u00edcios.<\/p>\n\n\n\n<p>Quer saber mais sobre esse assunto? Prossiga com a leitura at\u00e9 o fim e descubra o que \u00e9 programa\u00e7\u00e3o funcional, quais seus fundamentos, benef\u00edcios, e como aplic\u00e1-los no dia a dia!<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>O que \u00e9 programa\u00e7\u00e3o funcional?<\/strong><\/h2>\n\n\n\n<p>Em linhas gerais, programa\u00e7\u00e3o funcional \u00e9 um <a href=\"https:\/\/fluency.io\/br\/blog\/programacao-web\/\" target=\"_blank\" rel=\"noreferrer noopener\">paradigma de programa\u00e7\u00e3o<\/a> em que s\u00e3o utilizadas fun\u00e7\u00f5es para criar blocos de constru\u00e7\u00e3o de c\u00f3digos, e assim, resolver problemas. Mas o que isso significa, afinal? Vamos explicar por partes.<\/p>\n\n\n\n<p>Ao contr\u00e1rio de outros paradigmas, essa tem como caracter\u00edstica principal a utiliza\u00e7\u00e3o de m\u00faltiplas fun\u00e7\u00f5es independentes, pensando no sentido matem\u00e1tico do termo. Por isso, o valor da sa\u00edda depender\u00e1 apenas da entrada, e nunca de outra parte remota do c\u00f3digo.<\/p>\n\n\n\n<p>No artigo<strong><em> <\/em><\/strong><a href=\"https:\/\/www4.di.uminho.pt\/~mjf\/pub\/PF-Haskell.pdf\" target=\"_blank\" rel=\"noreferrer noopener\"><strong><em>Programa\u00e7\u00e3o Funcional CC<\/em><\/strong><\/a>, de Maria Jo\u00e3o Fraude, ela usa o seguinte exemplo para comparar de maneira bastante simples uma linguagem orientada a objetos e outra funcional:<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter is-resized\"><img decoding=\"async\" src=\"https:\/\/lh3.googleusercontent.com\/yeIsFpFiUgRd26HLp2A_yw0zWG-LkhxjppmgHn1c3lX0V00WoyXddNd3JF7fq64Tk_mcOEJg99XMA6_zs05app9fKrquWIBhh0WULlHRp8ArECJfnqvqhW_p2lOaaVpUyQM9LwoBNrZUk47Rwg\" alt=\"\" width=\"642\" height=\"336\"\/><figcaption><em>Imagem: Programa\u00e7\u00e3o Funcional CC &#8211; Maria Jo\u00e3o Fraude\/Reprodu\u00e7\u00e3o<\/em><\/figcaption><\/figure><\/div>\n\n\n\n<p>No primeiro caso, por se tratar de uma linguagem imperativa (C), a instru\u00e7\u00e3o i=i+1 \u00e9 uma atribui\u00e7\u00e3o, e o valor de i \u00e9 redefinido durante a equa\u00e7\u00e3o. J\u00e1 no segundo (Haskell), o sinal de igual (=) \u00e9 usado justamente para indicar que uma parte da equa\u00e7\u00e3o \u00e9 id\u00eantica \u00e0 outra, portanto, n\u00e3o pode haver varia\u00e7\u00e3o, e elas devem ser sempre iguais.<\/p>\n\n\n\n<p>Embora a programa\u00e7\u00e3o funcional venha ganhando fama nos \u00faltimos anos entre os desenvolvedores, ela \u00e9 baseada em conceitos muito antigos, como c\u00e1lculo Lambda, proposto por Alonzo Church durante a d\u00e9cada de 1930, e at\u00e9 mesmo <a href=\"https:\/\/fluency.io\/br\/blog\/logica-de-programacao\/\" target=\"_blank\" rel=\"noreferrer noopener\">linguagens de programa\u00e7\u00e3o<\/a> como Lisp e Alp, que datam da d\u00e9cada de 1960.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Caracter\u00edsticas da Programa\u00e7\u00e3o Funcional<\/strong><\/h2>\n\n\n\n<p>Al\u00e9m da utiliza\u00e7\u00e3o de fun\u00e7\u00f5es, a programa\u00e7\u00e3o funcional tem algumas caracter\u00edsticas importantes que devem ser ressaltadas. Abaixo, elencamos cada uma delas e detalhamos mais a fundo.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Fun\u00e7\u00f5es puras&nbsp;<\/strong><\/h3>\n\n\n\n<p>A programa\u00e7\u00e3o funcional opera apenas por meio de<strong> fun\u00e7\u00f5es puras<\/strong>, ou seja, aquelas que n\u00e3o dependem de <a href=\"https:\/\/fluency.io\/br\/blog\/analise-de-dados\/\" target=\"_blank\" rel=\"noreferrer noopener\">dados globais<\/a> do programa, e que, ao passar um mesmo par\u00e2metro retornam sempre o mesmo resultado.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Imutabilidade<\/strong><\/h3>\n\n\n\n<p>Como mencionamos, nenhuma vari\u00e1vel em um c\u00f3digo utilizado na programa\u00e7\u00e3o funcional passa por mudan\u00e7as, ou seja, ao ser carregada no c\u00f3digo, ela deve manter o mesmo valor durante toda a execu\u00e7\u00e3o. Esse princ\u00edpio se chama imutabilidade.<\/p>\n\n\n\n<p>Caso necess\u00e1rio utilizar a mesma vari\u00e1vel em outro ponto do c\u00f3digo, por\u00e9m para outra fun\u00e7\u00e3o, \u00e9 necess\u00e1rio criar uma c\u00f3pia para essa finalidade.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Sem estados (Stateless)<\/strong><\/h3>\n\n\n\n<p>Todas fun\u00e7\u00f5es que devem se comportar sem estados, ou seja, ap\u00f3s executadas, elas devem retornar como fosse a primeira vez que fossem utilizadas. Tudo o que rodou antes da chamada n\u00e3o deve ter influ\u00eancia nas execu\u00e7\u00f5es posteriores, e n\u00e3o existem loops.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Quais linguagens utilizam programa\u00e7\u00e3o funcional?<\/strong><\/h2>\n\n\n\n<p>A programa\u00e7\u00e3o funcional pode ser utilizada tanto em linguagens espec\u00edficas para isso, quanto em linguagens multiparadigma, em que o pr\u00f3prio programador pode escolher o paradigma que quer utilizar.\u00a0 Confira abaixo as <a href=\"https:\/\/fluency.io\/br\/blog\/linguagens-de-programacao-front-end\/\" target=\"_blank\" rel=\"noreferrer noopener\">linguagens de programa\u00e7\u00e3o funcional<\/a>:<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Javascript<\/strong><\/h3>\n\n\n\n<p>Muito utilizado em todo o mundo, essa \u00e9 uma linguagem que aceita m\u00faltiplos paradigmas. Para aplicar a programa\u00e7\u00e3o funcional ao Javascript, voc\u00ea precisa dominar seus principais conceitos, como a composi\u00e7\u00e3o de fun\u00e7\u00f5es.&nbsp;<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Haskell<\/strong><\/h3>\n\n\n\n<p>Quando se fala em programa\u00e7\u00e3o funcional, uma das linguagens mais populares \u00e9 a Haskell, que trabalha apenas com este paradigma. Com ela, \u00e9 poss\u00edvel facilitar muito a escrita e a manuten\u00e7\u00e3o de c\u00f3digos extensos. <a href=\"https:\/\/fluency.io\/br\/blog\/aprender-a-programar\/\" target=\"_blank\" rel=\"noreferrer noopener\">Para programar<\/a>, voc\u00ea precisa apenas de um editor de texto e um compilador Haskell.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Clojure<\/strong><\/h3>\n\n\n\n<p>Para quem est\u00e1 acostumado a utilizar Java, o Clojure pode ser um bom substituto, j\u00e1 que ele \u00e9 adequado aos mesmos ambientes e funciona com bibliotecas Java, por\u00e9m de forma totalmente funcional, utilizando dados imut\u00e1veis e sistemas din\u00e2micos.&nbsp;<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Elixir<\/strong><\/h3>\n\n\n\n<p>O Elixir \u00e9 uma linguagem de programa\u00e7\u00e3o brasileira, e funciona por meio de processos isolados que se comunicam. Atualmente, h\u00e1 uma grande quantidade de adeptos que t\u00eam formado uma comunidade e popularizado sua utiliza\u00e7\u00e3o.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Quais as vantagens da programa\u00e7\u00e3o funcional?<\/strong><\/h2>\n\n\n\n<p>Voc\u00ea pode estar se perguntando: <em>\u201cMas se eu j\u00e1 programa em outro paradigma, por que estudar programa\u00e7\u00e3o funcional?\u201d<\/em> A verdade \u00e9 que h\u00e1 muitas raz\u00f5es para isso, principalmente porque esse tipo de programa\u00e7\u00e3o traz uma s\u00e9rie de diferenciais.<\/p>\n\n\n\n<p>Em primeiro lugar, mesmo sem um pouco complicado de compreender na teoria, na pr\u00e1tica, a programa\u00e7\u00e3o funcional \u00e9 capaz de criar programas completos com c\u00f3digos bem menores que em outros paradigmas.<\/p>\n\n\n\n<p>Al\u00e9m disso, ela possibilita que muitos erros sejam evitados ainda durante a compila\u00e7\u00e3o do produto, e n\u00e3o cheguem \u00e0 etapa de execu\u00e7\u00e3o. Como as fun\u00e7\u00f5es s\u00e3o imut\u00e1veis, \u00e9 mais f\u00e1cil identificar onde est\u00e1 o problema e corrigi-lo, e isso acelera o desenvolvimento de softwares e diminui os custos.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/lh3.googleusercontent.com\/NNNiVARUGLHf5YtbtGjBANkYwaUYmhJnv7TTfeMj2YlINigtLAkFRSmdAH-Xj5rBOLGWkgC-gNSgzP-1DYR2bEJEOlN35arDushPzDZHKZ4eVGXmzPYqf4aJ02eJgQv8XQlkjtA2t3D1ZRNghg\" alt=\"\"\/><figcaption><em>A programa\u00e7\u00e3o funcional pode diminuir o tamanho dos c\u00f3digos e evitar erros durante a etapa de compila\u00e7\u00e3o.<\/em><\/figcaption><\/figure><\/div>\n\n\n\n<p>Esse paradigma tamb\u00e9m tem sido utilizado por grandes empresas, como Nubank, Twitter, AT&amp;T e at\u00e9 mesmo algumas partes do Facebook e do Google, e difundidas em plataformas como GitHub e Stack Overflow. Isso tem inspirado outras companhias a buscar solu\u00e7\u00f5es com essas ferramentas, e a programa\u00e7\u00e3o funcional tem expandido sua influ\u00eancia.<\/p>\n\n\n\n<p>Por fim, vale lembrar que a Programa\u00e7\u00e3o Funcional tem uma base matem\u00e1tica, assim como os bancos de dados. Esse fator pode transmitir uma confiabilidade, j\u00e1 que a matem\u00e1tica \u00e9 um modelo de padr\u00e3o exato e imut\u00e1vel, enquanto outras linguagens s\u00e3o baseadas em quest\u00f5es que podem mudar com o decorrer do tempo.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Como aprender programa\u00e7\u00e3o funcional<\/strong><\/h2>\n\n\n\n<p>A programa\u00e7\u00e3o funcional tem ganhado espa\u00e7o entre os programadores, e por isso, vale a pena aprend\u00ea-la! Para isso, antes \u00e9 necess\u00e1rio que voc\u00ea tenha um bom entendimento sobre fun\u00e7\u00f5es matem\u00e1ticas e seu uso, pois isso ser\u00e1 a base para a escrita dos c\u00f3digos. Al\u00e9m disso, \u00e9 essencial que voc\u00ea fa\u00e7a um bom <a href=\"https:\/\/fluency.io\/br\/blog\/guia-front-end\/\" target=\"_blank\" rel=\"noreferrer noopener\">curso de Front-End<\/a>.\u00a0<br>Na <strong>Awari Code<\/strong>, voc\u00ea encontra uma <a href=\"https:\/\/fluency.io\/br\/blog\/trilha-de-programacao\/\" target=\"_blank\" rel=\"noreferrer noopener\">Trilha de Aprendizagem de Programa\u00e7\u00e3o<\/a> com os principais cursos sobre o tema, essenciais para quem quer dar o pr\u00f3ximo passo na carreira profissional. Al\u00e9m das aulas gravadas, o aluno ainda pode participar de turmas com aulas ao vivo e mentorias individuais com profissionais da \u00e1rea. <a href=\"https:\/\/fluency.io\/br\/blog\/trilha-de-programacao\/\" target=\"_blank\" rel=\"noreferrer noopener\">Clique aqui e saiba mais!<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Os paradigmas s\u00e3o utilizados para classificar linguagens de programa\u00e7\u00e3o e a forma de estruturar e executar os programas a partir delas. Nos \u00faltimos anos, al\u00e9m da programa\u00e7\u00e3o orientada a objetos e a programa\u00e7\u00e3o imperativa, que s\u00e3o bastante comuns entre os programadores, vem ganhando espa\u00e7o a programa\u00e7\u00e3o funcional. Esse paradigma se difere muito dos demais por [&hellip;]<\/p>\n","protected":false},"author":9,"featured_media":122042,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":[186],"meta":{"inline_featured_image":false,"footnotes":""},"categories":[229],"tags":[],"trilha":[],"class_list":["post-117828","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-skills","format-artigos"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.6 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Guia da Programa\u00e7\u00e3o Funcional: saiba tudo sobre o conceito e como aplicar - Fluency.io Brasil<\/title>\n<meta name=\"description\" content=\"Os paradigmas s\u00e3o utilizados para classificar linguagens de programa\u00e7\u00e3o e a forma de estruturar e executar os programas a partir delas. Nos \u00faltimos anos, a...\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/homolog.fluency.io\/br\/blog\/guia-programacao-funcional\/\" \/>\n<meta property=\"og:locale\" content=\"pt_BR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Guia da Programa\u00e7\u00e3o Funcional: saiba tudo sobre o conceito e como aplicar - Fluency.io Brasil\" \/>\n<meta property=\"og:description\" content=\"Os paradigmas s\u00e3o utilizados para classificar linguagens de programa\u00e7\u00e3o e a forma de estruturar e executar os programas a partir delas. Nos \u00faltimos anos, a...\" \/>\n<meta property=\"og:url\" content=\"https:\/\/homolog.fluency.io\/br\/blog\/guia-programacao-funcional\/\" \/>\n<meta property=\"og:site_name\" content=\"Fluency.io Brasil\" \/>\n<meta property=\"article:published_time\" content=\"2022-05-16T12:32:58+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-08-01T18:04:25+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"kaue\" \/>\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:\/\/homolog.fluency.io\/br\/blog\/guia-programacao-funcional\/\",\"url\":\"https:\/\/homolog.fluency.io\/br\/blog\/guia-programacao-funcional\/\",\"name\":\"Guia da Programa\u00e7\u00e3o Funcional: saiba tudo sobre o conceito e como aplicar - Fluency.io Brasil\",\"isPartOf\":{\"@id\":\"https:\/\/fluency.io\/br\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/homolog.fluency.io\/br\/blog\/guia-programacao-funcional\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/homolog.fluency.io\/br\/blog\/guia-programacao-funcional\/#primaryimage\"},\"thumbnailUrl\":\"\",\"datePublished\":\"2022-05-16T12:32:58+00:00\",\"dateModified\":\"2023-08-01T18:04:25+00:00\",\"author\":{\"@id\":\"https:\/\/fluency.io\/br\/#\/schema\/person\/7b3b2b50ba17b7f2ad0cce0a40bfa00a\"},\"description\":\"Os paradigmas s\u00e3o utilizados para classificar linguagens de programa\u00e7\u00e3o e a forma de estruturar e executar os programas a partir delas. Nos \u00faltimos anos, a...\",\"breadcrumb\":{\"@id\":\"https:\/\/homolog.fluency.io\/br\/blog\/guia-programacao-funcional\/#breadcrumb\"},\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/homolog.fluency.io\/br\/blog\/guia-programacao-funcional\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/homolog.fluency.io\/br\/blog\/guia-programacao-funcional\/#primaryimage\",\"url\":\"\",\"contentUrl\":\"\",\"width\":963,\"height\":690},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/homolog.fluency.io\/br\/blog\/guia-programacao-funcional\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"In\u00edcio\",\"item\":\"https:\/\/homolog.fluency.io\/br\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Guia da Programa\u00e7\u00e3o Funcional: saiba tudo sobre o conceito e como aplicar\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/fluency.io\/br\/#website\",\"url\":\"https:\/\/fluency.io\/br\/\",\"name\":\"Fluency.io Brasil\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/fluency.io\/br\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pt-BR\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/fluency.io\/br\/#\/schema\/person\/7b3b2b50ba17b7f2ad0cce0a40bfa00a\",\"name\":\"kaue\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/fluency.io\/br\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/bdd3958fa53019cfd8f789c0a49a730e7ba40a1d20cb42c9ced7646285842479?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/bdd3958fa53019cfd8f789c0a49a730e7ba40a1d20cb42c9ced7646285842479?s=96&d=mm&r=g\",\"caption\":\"kaue\"},\"url\":\"https:\/\/homolog.fluency.io\/br\/author\/kaue\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Guia da Programa\u00e7\u00e3o Funcional: saiba tudo sobre o conceito e como aplicar - Fluency.io Brasil","description":"Os paradigmas s\u00e3o utilizados para classificar linguagens de programa\u00e7\u00e3o e a forma de estruturar e executar os programas a partir delas. Nos \u00faltimos anos, a...","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:\/\/homolog.fluency.io\/br\/blog\/guia-programacao-funcional\/","og_locale":"pt_BR","og_type":"article","og_title":"Guia da Programa\u00e7\u00e3o Funcional: saiba tudo sobre o conceito e como aplicar - Fluency.io Brasil","og_description":"Os paradigmas s\u00e3o utilizados para classificar linguagens de programa\u00e7\u00e3o e a forma de estruturar e executar os programas a partir delas. Nos \u00faltimos anos, a...","og_url":"https:\/\/homolog.fluency.io\/br\/blog\/guia-programacao-funcional\/","og_site_name":"Fluency.io Brasil","article_published_time":"2022-05-16T12:32:58+00:00","article_modified_time":"2023-08-01T18:04:25+00:00","twitter_card":"summary_large_image","twitter_misc":{"Escrito por":"kaue","Est. tempo de leitura":"6 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/homolog.fluency.io\/br\/blog\/guia-programacao-funcional\/","url":"https:\/\/homolog.fluency.io\/br\/blog\/guia-programacao-funcional\/","name":"Guia da Programa\u00e7\u00e3o Funcional: saiba tudo sobre o conceito e como aplicar - Fluency.io Brasil","isPartOf":{"@id":"https:\/\/fluency.io\/br\/#website"},"primaryImageOfPage":{"@id":"https:\/\/homolog.fluency.io\/br\/blog\/guia-programacao-funcional\/#primaryimage"},"image":{"@id":"https:\/\/homolog.fluency.io\/br\/blog\/guia-programacao-funcional\/#primaryimage"},"thumbnailUrl":"","datePublished":"2022-05-16T12:32:58+00:00","dateModified":"2023-08-01T18:04:25+00:00","author":{"@id":"https:\/\/fluency.io\/br\/#\/schema\/person\/7b3b2b50ba17b7f2ad0cce0a40bfa00a"},"description":"Os paradigmas s\u00e3o utilizados para classificar linguagens de programa\u00e7\u00e3o e a forma de estruturar e executar os programas a partir delas. Nos \u00faltimos anos, a...","breadcrumb":{"@id":"https:\/\/homolog.fluency.io\/br\/blog\/guia-programacao-funcional\/#breadcrumb"},"inLanguage":"pt-BR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/homolog.fluency.io\/br\/blog\/guia-programacao-funcional\/"]}]},{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/homolog.fluency.io\/br\/blog\/guia-programacao-funcional\/#primaryimage","url":"","contentUrl":"","width":963,"height":690},{"@type":"BreadcrumbList","@id":"https:\/\/homolog.fluency.io\/br\/blog\/guia-programacao-funcional\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"In\u00edcio","item":"https:\/\/homolog.fluency.io\/br\/"},{"@type":"ListItem","position":2,"name":"Guia da Programa\u00e7\u00e3o Funcional: saiba tudo sobre o conceito e como aplicar"}]},{"@type":"WebSite","@id":"https:\/\/fluency.io\/br\/#website","url":"https:\/\/fluency.io\/br\/","name":"Fluency.io Brasil","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/fluency.io\/br\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pt-BR"},{"@type":"Person","@id":"https:\/\/fluency.io\/br\/#\/schema\/person\/7b3b2b50ba17b7f2ad0cce0a40bfa00a","name":"kaue","image":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/fluency.io\/br\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/bdd3958fa53019cfd8f789c0a49a730e7ba40a1d20cb42c9ced7646285842479?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/bdd3958fa53019cfd8f789c0a49a730e7ba40a1d20cb42c9ced7646285842479?s=96&d=mm&r=g","caption":"kaue"},"url":"https:\/\/homolog.fluency.io\/br\/author\/kaue\/"}]}},"_links":{"self":[{"href":"https:\/\/homolog.fluency.io\/br\/wp-json\/wp\/v2\/posts\/117828","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/homolog.fluency.io\/br\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/homolog.fluency.io\/br\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/homolog.fluency.io\/br\/wp-json\/wp\/v2\/users\/9"}],"replies":[{"embeddable":true,"href":"https:\/\/homolog.fluency.io\/br\/wp-json\/wp\/v2\/comments?post=117828"}],"version-history":[{"count":1,"href":"https:\/\/homolog.fluency.io\/br\/wp-json\/wp\/v2\/posts\/117828\/revisions"}],"predecessor-version":[{"id":197742,"href":"https:\/\/homolog.fluency.io\/br\/wp-json\/wp\/v2\/posts\/117828\/revisions\/197742"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/homolog.fluency.io\/br\/wp-json\/wp\/v2\/posts\/122042"}],"wp:attachment":[{"href":"https:\/\/homolog.fluency.io\/br\/wp-json\/wp\/v2\/media?parent=117828"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/homolog.fluency.io\/br\/wp-json\/wp\/v2\/categories?post=117828"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/homolog.fluency.io\/br\/wp-json\/wp\/v2\/tags?post=117828"},{"taxonomy":"format","embeddable":true,"href":"https:\/\/homolog.fluency.io\/br\/wp-json\/wp\/v2\/format?post=117828"},{"taxonomy":"trilha","embeddable":true,"href":"https:\/\/homolog.fluency.io\/br\/wp-json\/wp\/v2\/trilha?post=117828"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}