{"id":139,"date":"2022-12-26T02:34:20","date_gmt":"2022-12-26T02:34:20","guid":{"rendered":"https:\/\/sawastudio.me\/blog\/?p=139"},"modified":"2022-12-28T22:40:01","modified_gmt":"2022-12-28T22:40:01","slug":"paradigmas-de-programacao","status":"publish","type":"post","link":"https:\/\/sawastudio.me\/blog\/index.php\/2022\/12\/26\/paradigmas-de-programacao\/","title":{"rendered":"Paradigmas de programa\u00e7\u00e3o"},"content":{"rendered":"\n<p><br>Ol\u00e1 \ud83d\ude42 \u2727!<\/p>\n\n\n\n<p>Neste post, vamos abordar um conceito te\u00f3rico imprescind\u00edvel do mundo da programa\u00e7\u00e3o: <strong>paradigmas<\/strong>. H\u00e1 muita discuss\u00e3o sobre qual linguagem ou framework \u00e9 melhor, mas pouco se fala sobre paradigmas, que \u00e9 algo crucial para o desenvolvimento. Mas, se \u00e9 t\u00e3o importante assim, por que cursos online quase n\u00e3o falam sobre? \u00c9 uma pergunta que eu tamb\u00e9m fa\u00e7o. Boa parte dos cursos, <em>bootcamps<\/em> e materiais online focam em ensinar uma tecnologia, mas raramente mencionam paradigmas. Por\u00e9m, \u00e9 uma mat\u00e9ria que \u00e9 muito comum aparecer logo nos primeiros semestres de qualquer faculdade de TI.<\/p>\n\n\n\n<p>Principalmente para iniciantes, pode ser um tanto quanto perigoso aprender a programar e ir para o mercado de trabalho sem entender a base te\u00f3rica de paradigmas. Isso pode atras\u00e1-lo em algum ponto da carreira, por exemplo, quando encontrar algum problema que exija outra forma de solu\u00e7\u00e3o. Tamb\u00e9m j\u00e1 vi casos de iniciantes que aprenderam a programar uma tecnologia do <em>hype<\/em> e tiveram dificuldade no primeiro emprego: &#8220;<em>o projeto da vida real \u00e9 muito antigo (na verdade, n\u00e3o \u00e9 que \u00e9 antigo, \u00e9 que n\u00e3o segue o padr\u00e3o que aprendi online) e \u00e9 imposs\u00edvel de dar manuten\u00e7\u00e3o<\/em>!&#8221;. Saber um \u00fanico paradigma pode nos deixar pouco adapt\u00e1veis no desenvolvimento de software.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">O que \u00e9 um paradigma?<\/h3>\n\n\n\n<p>\u00c9 um <strong>modelo<\/strong> ou um <strong>padr\u00e3o<\/strong> a ser seguido. Em programa\u00e7\u00e3o, um paradigma representa o tipo de estrutura que vai ser usada para definir <strong>como vai ser a constru\u00e7\u00e3o de um projeto<\/strong>. <\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"724\" height=\"519\" src=\"https:\/\/sawastudio.me\/blog\/wp-content\/uploads\/2022\/12\/Group-80.png\" alt=\"\" class=\"wp-image-147\" srcset=\"https:\/\/sawastudio.me\/blog\/wp-content\/uploads\/2022\/12\/Group-80.png 724w, https:\/\/sawastudio.me\/blog\/wp-content\/uploads\/2022\/12\/Group-80-300x215.png 300w\" sizes=\"auto, (max-width: 724px) 100vw, 724px\" \/><\/figure>\n\n\n\n<p>Os paradigmas de programa\u00e7\u00e3o s\u00e3o agrupados em dois principais grupos: <strong>imperativo<\/strong> e <strong>declarativo<\/strong>, como ilustrado no diagrama acima. A partir deles, os mais conhecidos e usados hoje s\u00e3o <strong>orienta\u00e7\u00e3o a objetos<\/strong>, <strong>funcional<\/strong> e <strong>procedural<\/strong>. Nesse post n\u00e3o vou ensinar sobre cada um, a inten\u00e7\u00e3o \u00e9 aqui \u00e9 relembrar a diversidade de paradigmas!<\/p>\n\n\n\n<p>Note que \u00e9 comum algumas <strong>linguagens de programa\u00e7\u00e3o terem paradigmas marcados<\/strong>, por exemplo, <strong>Java<\/strong> e <strong>C#<\/strong>, que trazem consigo recursos que favorecem a programar utilizando o paradigma imperativo, atrav\u00e9s da <strong>programa\u00e7\u00e3o<\/strong> <strong>orienta\u00e7\u00e3o a objetos<\/strong>. J\u00e1 <strong>Haskell<\/strong> \u00e9 uma linguagem nativamente da <strong>programa\u00e7\u00e3o funcional<\/strong>, do paradigma declarativo. <strong>Javascript<\/strong> \u00e9 uma linguagem <strong>multi-paradigma<\/strong>,  mas apesar da sua versatilidade, ela tem sido muito usada <strong>tamb\u00e9m para programa\u00e7\u00e3o funcional<\/strong>. H\u00e1 tamb\u00e9m linguagens que <strong>n\u00e3o possuem nenhum paradigma <\/strong>muito marcado, como \u00e9 o caso de <strong>rust<\/strong>. <strong>Fortran<\/strong> e <strong>Pascal<\/strong> s\u00e3o exemplos de linguagens bem adaptadas para a<strong> programa\u00e7\u00e3o procedural<\/strong>, tamb\u00e9m do paradigma imperativo.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Existe paradigma melhor que outro?<\/h3>\n\n\n\n<p>Nesse ponto, j\u00e1 podemos entender que favoritismos e guerrinhas entre linguagens \u00e9 pura bobeira: n\u00e3o tem como dizer que uma linguagem \u00e9 melhor quando cada uma \u00e9 de um paradigma diferente. \u00c9 a mesma coisa que comparar roupas de banho e pijamas: <strong>cada uma \u00e9 usada numa ocasi\u00e3o diferente, \u00e9 imposs\u00edvel definir qual \u00e9 a melhor sem definir o objetivo <\/strong>e onde ser\u00e3o usadas! Cada uma tem suas vantagens e depende do uso. <\/p>\n\n\n\n<p>Isso me lembrou de uma hist\u00f3ria, que vai servir de gancho para os pr\u00f3ximos sub-t\u00f3pico. Quando eu estava na faculdade, era bem fluente em Java e Programa\u00e7\u00e3o Orientada a Objetos. Fiz est\u00e1gio tamb\u00e9m como programadora Java e de repente surtei e fui para uma \u00e1rea que se utilizava outro tipo de programa\u00e7\u00e3o, a funcional. Mudar o paradigma de imperativo para declarativo fritou meu c\u00e9rebro nos primeiros meses. O pessoal nessa nova empresa tinha aquele ar de &#8220;descolado&#8221; e quase todos os dias diziam o qu\u00e3o velho Java era.  Eram resistentes a qualquer documenta\u00e7\u00e3o, &#8220;diagramas UML&#8221; era um insulto pesado que jamais deveria ser dito em voz alta. At\u00e9 meu gestor dessa \u00e9poca gostava de brincar comigo dizendo para eu me atualizar e perceber que Java s\u00f3 era usado por empresas antigas. &#8220;O mundo agora \u00e9 javascript&#8221; &#8211; diziam.<\/p>\n\n\n\n<p>\u00c9 muito delicado definir o que o mundo \u00e9, mas espero que at\u00e9 o final do post, voc\u00ea consiga entender um pouco das ra\u00edzes de tudo isso.  <\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Por que Programa\u00e7\u00e3o Funcional ficou mais popular do que POO?<\/h3>\n\n\n\n<p>Por que ser\u00e1 que Programa\u00e7\u00e3o Funcional de repente ficou mais popular que Programa\u00e7\u00e3o Orientada a Objetos? \u00c9 por que \u00e9 mais nova? N\u00e3o. Na verdade, <strong>orienta\u00e7\u00e3o a objetos \u00e9 mais recente do que o paradigma funcional<\/strong>. Na hist\u00f3ria, paradigma imperativo veio depois do paradigma declarativo. Aqui vai um pouco de cultura: a primeira linguagem funcional foi criada na d\u00e9cada de 30 e se chamava <strong>lambda calculus<\/strong>, ou <strong>c\u00e1lculo-\u03bb<\/strong>. J\u00e1 a POO ((Programa\u00e7\u00e3o Orientada a Objetos) vou escrever s\u00f3 &#8220;POO&#8221; a partir de agora para ficar mais f\u00e1cil para mim) foi criado na d\u00e9cada de 60 e a primeira linguagem fluente em POO, s\u00f3 veio l\u00e1 em 1970. <\/p>\n\n\n\n<p>Espera a\u00ed, POO \u00e9 mais novo que Funcional? Sim! O motivo disso vai te ajudar ainda mais a analisar linguagens de programa\u00e7\u00e3o: <strong>evolu\u00e7\u00e3o de hardware<\/strong>. Exatamente, <strong>programa\u00e7\u00e3o funcional consome muito mais processamento do que POO<\/strong>. Na \u00e9poca em que foi criada, os computadores ainda n\u00e3o eram t\u00e3o potentes como os de hoje e os c\u00f3digos saiam pouco perform\u00e1ticos, o que mudou com o paradigma imperativo e POO, pois \u00e9 um paradigma que traz muito o conceito de reuso de c\u00f3digo. <\/p>\n\n\n\n<p>Al\u00e9m disso, \u00e9 comum linguagens do paradigma <strong>imperativo<\/strong> serem um pouco mais &#8220;f\u00e1ceis&#8221; para a m\u00e1quina processar do que <strong>declarativo<\/strong>. Observe essa tabela que vi <a href=\"https:\/\/thenewstack.io\/which-programming-languages-use-the-least-electricity\/\">neste site<\/a>, indicando o quanto as linguagens de programa\u00e7\u00e3o consomem de energia, tempo e mem\u00f3ria. Compare Java (nativamente imperativo) com javascript (muito usado para declarativo hoje) por exemplo:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/thenewstack.io\/which-programming-languages-use-the-least-electricity\/\"><img loading=\"lazy\" decoding=\"async\" width=\"639\" height=\"715\" src=\"https:\/\/sawastudio.me\/blog\/wp-content\/uploads\/2022\/12\/0_SaeZtS-0c-nTb4sa.png\" alt=\"\" class=\"wp-image-140\" srcset=\"https:\/\/sawastudio.me\/blog\/wp-content\/uploads\/2022\/12\/0_SaeZtS-0c-nTb4sa.png 639w, https:\/\/sawastudio.me\/blog\/wp-content\/uploads\/2022\/12\/0_SaeZtS-0c-nTb4sa-268x300.png 268w\" sizes=\"auto, (max-width: 639px) 100vw, 639px\" \/><\/a><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"565\" height=\"163\" src=\"https:\/\/sawastudio.me\/blog\/wp-content\/uploads\/2022\/12\/Captura-de-Tela-2022-12-25-a\u0300s-22.09.29.png\" alt=\"\" class=\"wp-image-141\" srcset=\"https:\/\/sawastudio.me\/blog\/wp-content\/uploads\/2022\/12\/Captura-de-Tela-2022-12-25-a\u0300s-22.09.29.png 565w, https:\/\/sawastudio.me\/blog\/wp-content\/uploads\/2022\/12\/Captura-de-Tela-2022-12-25-a\u0300s-22.09.29-300x87.png 300w\" sizes=\"auto, (max-width: 565px) 100vw, 565px\" \/><\/figure>\n\n\n\n<p>A tabela acima representa uma m\u00e9dia acerca da energia consumida por paradigma. Vemos aqui que Java s\u00f3 \u00e9 pesado para voc\u00ea programador, porque para o computador, \u00e9 bem mais f\u00e1cil de executar. \ud83d\ude42<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">O que aprender primeiro?<\/h3>\n\n\n\n<p>Sabemos que linguagens podem ou n\u00e3o serem nativas de um paradigma. Mas no meio de tudo isso, por onde come\u00e7ar? Ou ainda, existe uma ordem certa a ser seguida? Um iniciante precisa come\u00e7ar aprendendo um paradigma?<\/p>\n\n\n\n<p>Antes de mais nada, a gente sempre <strong>come\u00e7a com l\u00f3gica de programa\u00e7\u00e3o<\/strong>. Esse \u00e9 o come\u00e7o universal em programa\u00e7\u00e3o. Depois vem a <strong>primeira linguagem de programa\u00e7\u00e3o &#8211; sem nenhum paradigma, apenas aplicando o que aprendeu em l\u00f3gica de programa\u00e7\u00e3o<\/strong>. Na minha \u00e9poca, na ETEC, comecei aprendendo com linguagem C. Algumas pessoas escolhem python e at\u00e9 javascript. \u00c9 interessante, nessa etapa, n\u00e3o ser uma linguagem muito verbosa, por isso alguma das tr\u00eas \u00e9 uma boa ideia.<\/p>\n\n\n\n<p>Aprender o primeiro paradigma \u00e9 adequado como terceira etapa e tanto faz qual voc\u00ea vai aprender primeiro. Aqui tenho um aviso: <strong>aprender um paradigma \u00e9 muito mais complexo do que aprender uma linguagem de programa\u00e7\u00e3o<\/strong> nova. Por\u00e9m, <strong>\u00e9 mais dif\u00edcil esquecer um paradigma<\/strong>, uma vez aprendido, <strong>do que uma linguagem de programa\u00e7\u00e3o<\/strong>. <\/p>\n\n\n\n<p>Aprender uma linguagem de programa\u00e7\u00e3o \u00e9 como aprender um idioma novo, depende da pr\u00e1tica. Se voc\u00ea fica um tempo sem praticar, acaba esquecendo algumas coisas, nisso deduzimos que a mem\u00f3ria \u00e9 um agente importante aqui. J\u00e1 aprender um paradigma, vai al\u00e9m da mem\u00f3ria, \u00e9 um aprendizado de algo estrutural. Seria como aprender a conviver em certa configura\u00e7\u00e3o social, por exemplo, um grupo familiar ou at\u00e9 uma religi\u00e3o: h\u00e1 padr\u00f5es de regras, eventos e rotinas que \u00e9 necess\u00e1rio seguir, ou seja, um paradigma. Se ficar um tempo longe disso e voltar, vai ser mais f\u00e1cil lembrar. <\/p>\n\n\n\n<p>Voltando um pouco na hist\u00f3ria da empresa que mencionei anteriormente: foi muito dif\u00edcil para eu aprender programa\u00e7\u00e3o funcional. Meu c\u00e9rebro estava a quase 5 anos s\u00f3 em orienta\u00e7\u00e3o a objetos. Demorei <em>cerca de um ano<\/em> para entender as sapecagens do javascript na programa\u00e7\u00e3o funcional. Obviamente, n\u00e3o quer dizer que voc\u00ea ter\u00e1 que demorar tudo isso para aprender um segundo paradigma! Essa demora foi culpa minha, que pode ser hist\u00f3ria para outro post. Mas \u00e9 s\u00f3 para exemplificar que pode ser um pouco complexo no come\u00e7o.<\/p>\n\n\n\n<p>\u00c9 interessante aprender o paradigma juntamente com uma linguagem nativa daquele paradigma. Qual paradigma aprender primeiro vai depender um pouco de qual \u00e1rea voc\u00ea se interessa mais. \u00c9 mais comum usar POO num back-end e Funcional no front-end. Por\u00e9m, n\u00e3o \u00e9 regra. Independente de qual paradigma comece, eu recomendo fortemente que aprenda mais de um!<\/p>\n\n\n\n<p>Depois de aprender paradigmas, normalmente a gente aprende <strong>padr\u00f5es arquiteturais<\/strong> e a partir da\u00ed, as coisas v\u00e3o ficando cada vez mais espec\u00edficas, a gente aprende <strong>padr\u00e3o de projeto<\/strong>, que vai variar muito de empresa e de projeto. \u00c9 muito assunto que n\u00e3o d\u00e1 para eu abordar num post s\u00f3, mas vou deixar um livro recomendado: Uma Linguagem de Padr\u00f5es &#8211; de Christopher Alexander.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">O melhor dos dois mundos<\/h3>\n\n\n\n<p>Algo que vale a pena refor\u00e7ar \u00e9 que paradigmas n\u00e3o s\u00e3o t\u00e3o est\u00e1ticos assim: eles sofrem pequenas mudan\u00e7as conforme a evolu\u00e7\u00e3o das coisas. <\/p>\n\n\n\n<p>Mesmo a linguagem Java, nativamente de POO, acabou adquirindo com o tempo elementos da programa\u00e7\u00e3o funcional, como algumas funcionalidades do paradigma declarativo. E mesmo o javascript, muito usado atualmente para programa\u00e7\u00e3o funcional, deu luz ao Typescript, que \u00e9 basicamente um javascript tipado. Nem as linguagens ficam fechadas para sempre num \u00fanico paradigma, ent\u00e3o n\u00e3o h\u00e1 motivo algum para fazermos isso.<\/p>\n\n\n\n<p>Diferentes paradigmas podem ser usados para construir um mesmo projeto, assim como para construir um pr\u00e9dio, \u00e9 necess\u00e1rio definir as diferentes arquiteturas: hidr\u00e1ulica, el\u00e9trica, drenagem, etc. Portanto, o ideal \u00e9 usar o melhor dos dois mundos ao construir um projeto, mesclando paradigmas. Claro que essa mescla nem sempre vai ser necess\u00e1ria, mas prepare-se para atender a essa demanda se ela surgir. Seu papel como programador \u00e9 escolher a melhor solu\u00e7\u00e3o para cada problema.<\/p>\n\n\n\n<p>Esse foi um post mais te\u00f3rico, mas muito importante. Em breve falaremos melhor e mais na pr\u00e1tica sobre cada paradigma e alguns padr\u00f5es.<\/p>\n\n\n\n<p>Obrigada por ter chegado at\u00e9 aqui! <\/p>\n","protected":false},"excerpt":{"rendered":"<p>Ol\u00e1 \ud83d\ude42 \u2727! Neste post, vamos abordar um conceito te\u00f3rico imprescind\u00edvel do mundo da programa\u00e7\u00e3o: paradigmas. H\u00e1 muita discuss\u00e3o sobre qual linguagem ou framework \u00e9 melhor, mas pouco se fala sobre paradigmas, que \u00e9 algo crucial para o desenvolvimento. Mas, se \u00e9 t\u00e3o importante assim, por que cursos online quase n\u00e3o falam sobre? \u00c9 uma&hellip;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4],"tags":[],"class_list":["post-139","post","type-post","status-publish","format-standard","hentry","category-programacao"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.9 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Paradigmas de programa\u00e7\u00e3o - Sawa Studio - Blog<\/title>\n<meta name=\"description\" content=\"Neste post, vamos abordar um conceito te\u00f3rico imprescind\u00edvel do mundo da programa\u00e7\u00e3o: paradigmas. O que s\u00e3o? Qual o melhor?\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/sawastudio.me\/blog\/index.php\/2022\/12\/26\/paradigmas-de-programacao\/\" \/>\n<meta property=\"og:locale\" content=\"pt_BR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Paradigmas de programa\u00e7\u00e3o - Sawa Studio - Blog\" \/>\n<meta property=\"og:description\" content=\"Neste post, vamos abordar um conceito te\u00f3rico imprescind\u00edvel do mundo da programa\u00e7\u00e3o: paradigmas. O que s\u00e3o? Qual o melhor?\" \/>\n<meta property=\"og:url\" content=\"https:\/\/sawastudio.me\/blog\/index.php\/2022\/12\/26\/paradigmas-de-programacao\/\" \/>\n<meta property=\"og:site_name\" content=\"Sawa Studio - Blog\" \/>\n<meta property=\"article:published_time\" content=\"2022-12-26T02:34:20+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-12-28T22:40:01+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/sawastudio.me\/blog\/wp-content\/uploads\/2022\/12\/Group-80.png\" \/>\n<meta name=\"author\" content=\"Missae Sawaguchi\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"Missae Sawaguchi\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. tempo de leitura\" \/>\n\t<meta name=\"twitter:data2\" content=\"8 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/sawastudio.me\/blog\/index.php\/2022\/12\/26\/paradigmas-de-programacao\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/sawastudio.me\/blog\/index.php\/2022\/12\/26\/paradigmas-de-programacao\/\"},\"author\":{\"name\":\"Missae Sawaguchi\",\"@id\":\"https:\/\/sawastudio.me\/blog\/#\/schema\/person\/08f49800e10eb0eccfd6b95f5837098f\"},\"headline\":\"Paradigmas de programa\u00e7\u00e3o\",\"datePublished\":\"2022-12-26T02:34:20+00:00\",\"dateModified\":\"2022-12-28T22:40:01+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/sawastudio.me\/blog\/index.php\/2022\/12\/26\/paradigmas-de-programacao\/\"},\"wordCount\":1658,\"commentCount\":1,\"image\":{\"@id\":\"https:\/\/sawastudio.me\/blog\/index.php\/2022\/12\/26\/paradigmas-de-programacao\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/sawastudio.me\/blog\/wp-content\/uploads\/2022\/12\/Group-80.png\",\"articleSection\":[\"Programa\u00e7\u00e3o\"],\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/sawastudio.me\/blog\/index.php\/2022\/12\/26\/paradigmas-de-programacao\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/sawastudio.me\/blog\/index.php\/2022\/12\/26\/paradigmas-de-programacao\/\",\"url\":\"https:\/\/sawastudio.me\/blog\/index.php\/2022\/12\/26\/paradigmas-de-programacao\/\",\"name\":\"Paradigmas de programa\u00e7\u00e3o - Sawa Studio - Blog\",\"isPartOf\":{\"@id\":\"https:\/\/sawastudio.me\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/sawastudio.me\/blog\/index.php\/2022\/12\/26\/paradigmas-de-programacao\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/sawastudio.me\/blog\/index.php\/2022\/12\/26\/paradigmas-de-programacao\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/sawastudio.me\/blog\/wp-content\/uploads\/2022\/12\/Group-80.png\",\"datePublished\":\"2022-12-26T02:34:20+00:00\",\"dateModified\":\"2022-12-28T22:40:01+00:00\",\"author\":{\"@id\":\"https:\/\/sawastudio.me\/blog\/#\/schema\/person\/08f49800e10eb0eccfd6b95f5837098f\"},\"description\":\"Neste post, vamos abordar um conceito te\u00f3rico imprescind\u00edvel do mundo da programa\u00e7\u00e3o: paradigmas. O que s\u00e3o? Qual o melhor?\",\"breadcrumb\":{\"@id\":\"https:\/\/sawastudio.me\/blog\/index.php\/2022\/12\/26\/paradigmas-de-programacao\/#breadcrumb\"},\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/sawastudio.me\/blog\/index.php\/2022\/12\/26\/paradigmas-de-programacao\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/sawastudio.me\/blog\/index.php\/2022\/12\/26\/paradigmas-de-programacao\/#primaryimage\",\"url\":\"https:\/\/sawastudio.me\/blog\/wp-content\/uploads\/2022\/12\/Group-80.png\",\"contentUrl\":\"https:\/\/sawastudio.me\/blog\/wp-content\/uploads\/2022\/12\/Group-80.png\",\"width\":724,\"height\":519},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/sawastudio.me\/blog\/index.php\/2022\/12\/26\/paradigmas-de-programacao\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/sawastudio.me\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Paradigmas de programa\u00e7\u00e3o\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/sawastudio.me\/blog\/#website\",\"url\":\"https:\/\/sawastudio.me\/blog\/\",\"name\":\"Sawa Studio - Blog\",\"description\":\"Posts sobre computa\u00e7\u00e3o, programa\u00e7\u00e3o e matem\u00e1tica, por Missae Sawaguchi\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/sawastudio.me\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pt-BR\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/sawastudio.me\/blog\/#\/schema\/person\/08f49800e10eb0eccfd6b95f5837098f\",\"name\":\"Missae Sawaguchi\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/sawastudio.me\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/4a9786ab336a1231d883051e8a7f1534c6053988f4f154408159758c008ada67?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/4a9786ab336a1231d883051e8a7f1534c6053988f4f154408159758c008ada67?s=96&d=mm&r=g\",\"caption\":\"Missae Sawaguchi\"},\"sameAs\":[\"https:\/\/sawastudio.me\/blog\"],\"url\":\"https:\/\/sawastudio.me\/blog\/index.php\/author\/sawa\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Paradigmas de programa\u00e7\u00e3o - Sawa Studio - Blog","description":"Neste post, vamos abordar um conceito te\u00f3rico imprescind\u00edvel do mundo da programa\u00e7\u00e3o: paradigmas. O que s\u00e3o? Qual o melhor?","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:\/\/sawastudio.me\/blog\/index.php\/2022\/12\/26\/paradigmas-de-programacao\/","og_locale":"pt_BR","og_type":"article","og_title":"Paradigmas de programa\u00e7\u00e3o - Sawa Studio - Blog","og_description":"Neste post, vamos abordar um conceito te\u00f3rico imprescind\u00edvel do mundo da programa\u00e7\u00e3o: paradigmas. O que s\u00e3o? Qual o melhor?","og_url":"https:\/\/sawastudio.me\/blog\/index.php\/2022\/12\/26\/paradigmas-de-programacao\/","og_site_name":"Sawa Studio - Blog","article_published_time":"2022-12-26T02:34:20+00:00","article_modified_time":"2022-12-28T22:40:01+00:00","og_image":[{"url":"https:\/\/sawastudio.me\/blog\/wp-content\/uploads\/2022\/12\/Group-80.png","type":"","width":"","height":""}],"author":"Missae Sawaguchi","twitter_card":"summary_large_image","twitter_misc":{"Escrito por":"Missae Sawaguchi","Est. tempo de leitura":"8 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/sawastudio.me\/blog\/index.php\/2022\/12\/26\/paradigmas-de-programacao\/#article","isPartOf":{"@id":"https:\/\/sawastudio.me\/blog\/index.php\/2022\/12\/26\/paradigmas-de-programacao\/"},"author":{"name":"Missae Sawaguchi","@id":"https:\/\/sawastudio.me\/blog\/#\/schema\/person\/08f49800e10eb0eccfd6b95f5837098f"},"headline":"Paradigmas de programa\u00e7\u00e3o","datePublished":"2022-12-26T02:34:20+00:00","dateModified":"2022-12-28T22:40:01+00:00","mainEntityOfPage":{"@id":"https:\/\/sawastudio.me\/blog\/index.php\/2022\/12\/26\/paradigmas-de-programacao\/"},"wordCount":1658,"commentCount":1,"image":{"@id":"https:\/\/sawastudio.me\/blog\/index.php\/2022\/12\/26\/paradigmas-de-programacao\/#primaryimage"},"thumbnailUrl":"https:\/\/sawastudio.me\/blog\/wp-content\/uploads\/2022\/12\/Group-80.png","articleSection":["Programa\u00e7\u00e3o"],"inLanguage":"pt-BR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/sawastudio.me\/blog\/index.php\/2022\/12\/26\/paradigmas-de-programacao\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/sawastudio.me\/blog\/index.php\/2022\/12\/26\/paradigmas-de-programacao\/","url":"https:\/\/sawastudio.me\/blog\/index.php\/2022\/12\/26\/paradigmas-de-programacao\/","name":"Paradigmas de programa\u00e7\u00e3o - Sawa Studio - Blog","isPartOf":{"@id":"https:\/\/sawastudio.me\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/sawastudio.me\/blog\/index.php\/2022\/12\/26\/paradigmas-de-programacao\/#primaryimage"},"image":{"@id":"https:\/\/sawastudio.me\/blog\/index.php\/2022\/12\/26\/paradigmas-de-programacao\/#primaryimage"},"thumbnailUrl":"https:\/\/sawastudio.me\/blog\/wp-content\/uploads\/2022\/12\/Group-80.png","datePublished":"2022-12-26T02:34:20+00:00","dateModified":"2022-12-28T22:40:01+00:00","author":{"@id":"https:\/\/sawastudio.me\/blog\/#\/schema\/person\/08f49800e10eb0eccfd6b95f5837098f"},"description":"Neste post, vamos abordar um conceito te\u00f3rico imprescind\u00edvel do mundo da programa\u00e7\u00e3o: paradigmas. O que s\u00e3o? Qual o melhor?","breadcrumb":{"@id":"https:\/\/sawastudio.me\/blog\/index.php\/2022\/12\/26\/paradigmas-de-programacao\/#breadcrumb"},"inLanguage":"pt-BR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/sawastudio.me\/blog\/index.php\/2022\/12\/26\/paradigmas-de-programacao\/"]}]},{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/sawastudio.me\/blog\/index.php\/2022\/12\/26\/paradigmas-de-programacao\/#primaryimage","url":"https:\/\/sawastudio.me\/blog\/wp-content\/uploads\/2022\/12\/Group-80.png","contentUrl":"https:\/\/sawastudio.me\/blog\/wp-content\/uploads\/2022\/12\/Group-80.png","width":724,"height":519},{"@type":"BreadcrumbList","@id":"https:\/\/sawastudio.me\/blog\/index.php\/2022\/12\/26\/paradigmas-de-programacao\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/sawastudio.me\/blog\/"},{"@type":"ListItem","position":2,"name":"Paradigmas de programa\u00e7\u00e3o"}]},{"@type":"WebSite","@id":"https:\/\/sawastudio.me\/blog\/#website","url":"https:\/\/sawastudio.me\/blog\/","name":"Sawa Studio - Blog","description":"Posts sobre computa\u00e7\u00e3o, programa\u00e7\u00e3o e matem\u00e1tica, por Missae Sawaguchi","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/sawastudio.me\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pt-BR"},{"@type":"Person","@id":"https:\/\/sawastudio.me\/blog\/#\/schema\/person\/08f49800e10eb0eccfd6b95f5837098f","name":"Missae Sawaguchi","image":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/sawastudio.me\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/4a9786ab336a1231d883051e8a7f1534c6053988f4f154408159758c008ada67?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/4a9786ab336a1231d883051e8a7f1534c6053988f4f154408159758c008ada67?s=96&d=mm&r=g","caption":"Missae Sawaguchi"},"sameAs":["https:\/\/sawastudio.me\/blog"],"url":"https:\/\/sawastudio.me\/blog\/index.php\/author\/sawa\/"}]}},"_links":{"self":[{"href":"https:\/\/sawastudio.me\/blog\/index.php\/wp-json\/wp\/v2\/posts\/139","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/sawastudio.me\/blog\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/sawastudio.me\/blog\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/sawastudio.me\/blog\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/sawastudio.me\/blog\/index.php\/wp-json\/wp\/v2\/comments?post=139"}],"version-history":[{"count":8,"href":"https:\/\/sawastudio.me\/blog\/index.php\/wp-json\/wp\/v2\/posts\/139\/revisions"}],"predecessor-version":[{"id":158,"href":"https:\/\/sawastudio.me\/blog\/index.php\/wp-json\/wp\/v2\/posts\/139\/revisions\/158"}],"wp:attachment":[{"href":"https:\/\/sawastudio.me\/blog\/index.php\/wp-json\/wp\/v2\/media?parent=139"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/sawastudio.me\/blog\/index.php\/wp-json\/wp\/v2\/categories?post=139"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/sawastudio.me\/blog\/index.php\/wp-json\/wp\/v2\/tags?post=139"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}