{"id":26051,"date":"2022-12-16T18:30:55","date_gmt":"2022-12-16T18:30:55","guid":{"rendered":"https:\/\/building.nubank.com\/what-is-functional-programming-and-how-do-we-use-that-technology-at-nubank\/"},"modified":"2024-02-23T16:43:21","modified_gmt":"2024-02-23T16:43:21","slug":"que-es-la-programacion-funcional-y-como-utilizamos-esa-tecnologia-en-nubank","status":"publish","type":"post","link":"https:\/\/building.nubank.com\/es\/que-es-la-programacion-funcional-y-como-utilizamos-esa-tecnologia-en-nubank\/","title":{"rendered":"\u00bfQu\u00e9 es la programaci\u00f3n funcional y c\u00f3mo utilizamos esa tecnolog\u00eda en Nubank?"},"content":{"rendered":"\n<p>Si trabajas con tecnolog\u00eda o tiene curiosidad sobre ella, probablemente ya hayas o\u00eddo hablar de la programaci\u00f3n funcional. No es nada nuevo, pero cada vez est\u00e1 recibiendo m\u00e1s atenci\u00f3n debido a los cambios tecnol\u00f3gicos que estamos atravesando.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u00bfQu\u00e9 es la programaci\u00f3n funcional?<\/h2>\n\n\n\n<p>La programaci\u00f3n funcional es un paradigma de programaci\u00f3n, es decir, la forma de hacer algo. En programaci\u00f3n, es la metodolog\u00eda utilizada para escribir c\u00f3digos.<\/p>\n\n\n\n<p>El paradigma funcional se basa en un modelo de c\u00e1lculo muy antiguo llamado c\u00e1lculo lambda. El c\u00e1lculo lambda fue creado en 1930 por Alonzo Church (quien fue profesor del famoso matem\u00e1tico Allan Turing) y fue la base para la creaci\u00f3n de LISP, una familia de lenguajes de programaci\u00f3n desarrollada por John McCarthy en 1958.<\/p>\n\n\n\n<p>Sin embargo, para saber qu\u00e9 es la programaci\u00f3n funcional, es importante comprender otros paradigmas de programaci\u00f3n famosos: la programaci\u00f3n imperativa y la programaci\u00f3n orientada a objetos (OOP).<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Programaci\u00f3n Imperativa<\/h2>\n\n\n\n<p>El paradigma de programaci\u00f3n m\u00e1s famoso. En lenguajes imperativos, como C y PHP, los c\u00f3digos se escriben como una lista de acciones o comandos que ejecuta una computadora. Son como \u00f3rdenes dadas a la m\u00e1quina, por eso se llama programaci\u00f3n imperativa.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Programaci\u00f3n Orientada a Objetos<\/h2>\n\n\n\n<p>En cuanto a la programaci\u00f3n orientada a objetos, un programador crea datos en forma de campos, conocidos como atributos, y c\u00f3digos en forma de procedimientos, conocidos como m\u00e9todos. Una de sus caracter\u00edsticas es que el procedimiento de un objeto puede acceder o incluso cambiar los campos de datos del objeto al que est\u00e1 asociado.<\/p>\n\n\n\n<p>Como ejemplo sencillo, imagina que un auto es un objeto y sus atributos son sus puertas, color, etc. Podr\u00edas tener un m\u00e9todo en el que el procedimiento ser\u00eda abrir la puerta del auto y otro cerrar la puerta del auto.<\/p>\n\n\n\n<p>Algunos ejemplos de lenguajes de programaci\u00f3n orientados a objetos son Java, Python y Ruby. Otros lenguajes, como JavaScript y PHP, admiten la orientaci\u00f3n a objetos.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Programaci\u00f3n Funcional<\/h2>\n\n\n\n<p>Cuando comprendemos otros tipos de paradigmas, resulta m\u00e1s f\u00e1cil comprender el paradigma funcional.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p><em>A diferencia de la programaci\u00f3n imperativa y orientada a objetos, la programaci\u00f3n funcional considera todo como una funci\u00f3n. No hay una lista de instrucciones u objetos que debe ejecutar la computadora, sino m\u00e1s bien una secuencia de funciones matem\u00e1ticas que juntas resolver\u00e1n un problema.<\/em><\/p>\n<\/blockquote>\n\n\n\n<p>Eso significa que en el paradigma funcional las funciones son puras, no cambian el estado del objeto y dan \u00e9nfasis a expresiones y declaraciones, en lugar de seguir instrucciones.<\/p>\n\n\n\n<p>En el ejemplo del auto, si creamos una funci\u00f3n pura para abrir la puerta del auto, esa funci\u00f3n no cambiar\u00e1 el auto, que es la entrada inicial. Debes utilizar expl\u00edcitamente el resultado de la funci\u00f3n, que ser\u00eda el coche con la puerta abierta, en lugar de acceder a la entrada inicial, que es el coche con la puerta cerrada.<\/p>\n\n\n\n<p>Adem\u00e1s de eso, no hay variables en el paradigma funcional, s\u00f3lo constantes. Esto se traduce en c\u00f3digos m\u00e1s objetivos con constantes que, en general, no cambian. Algunos ejemplos de lenguajes funcionales son Clojure, Haskell y Elixir.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u00bfCu\u00e1les son los beneficios de la programaci\u00f3n funcional?<\/h2>\n\n\n\n<p>Como se dijo antes, el c\u00f3digo en programaci\u00f3n funcional tiende a ser m\u00e1s objetivo y m\u00e1s corto que en otros tipos de paradigmas porque puedes aislar las funciones puras que obtendr\u00e1n la l\u00f3gica de tu negocio de las funciones que se llaman mutables, que son operaciones que realmente cambian el objeto, como modificar datos en una base de datos, por ejemplo.&nbsp;<\/p>\n\n\n\n<p>Otro beneficio es que, al basarse en funciones matem\u00e1ticas, el paradigma funcional impulsa el uso del concepto de inmutabilidad. Un ejemplo de esto ser\u00eda una funci\u00f3n matem\u00e1tica simple, como f(x) = x + 2. Siempre que usemos el mismo valor para esa funci\u00f3n, proporcionar\u00e1 un resultado igual e inmutable.<\/p>\n\n\n\n<p>Por eso, el mantenimiento del c\u00f3digo y los posibles cambios son m\u00e1s f\u00e1ciles de aplicar. Es m\u00e1s sencillo agregar pruebas y aislar una funci\u00f3n para realizar an\u00e1lisis y corregir fallas.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p><em>Puede parecer un peque\u00f1o detalle, pero al tener un c\u00f3digo inmutable, estamos seguros de que cuando lo probemos, el c\u00f3digo no actuar\u00e1 de forma inesperada en un entorno de producci\u00f3n.<\/em><\/p>\n<\/blockquote>\n\n\n\n<p>Adem\u00e1s de eso, los lenguajes funcionales son m\u00e1s amigables para la implementaci\u00f3n de la computaci\u00f3n paralela, lo que significa que diferentes procesadores ejecutan sin problemas diferentes partes del sistema. Esto se puede explicar por el hecho de que los c\u00f3digos son predecibles e inmutables, sin efectos secundarios.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u00bfC\u00f3mo utilizamos la programaci\u00f3n funcional en Nubank?<\/h2>\n\n\n\n<p>Cuando se fund\u00f3 Nubank en 2013, buscamos tecnolog\u00eda que pudiera ayudarnos a alcanzar nuestros objetivos comerciales, mantener la eficiencia y crecer de manera segura y sostenible.&nbsp;<\/p>\n\n\n\n<p>En ese momento, el paradigma funcional parec\u00eda ser la mejor opci\u00f3n para los desaf\u00edos que ten\u00edamos que afrontar. Por eso, terminamos adoptando Clojure como lenguaje principal para nuestros servicios y Datomic como nuestra base de datos.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p><em>El principio de inmutabilidad del paradigma funcional alineado con Datomic es crucial para una instituci\u00f3n financiera porque, como base de datos de solo anexo, Datomic mantiene un historial de operaciones. Con eso podemos, por ejemplo, reprocesar todos los datos de Nubank desde el primer d\u00eda, si es necesario, o recalcular las operaciones de un d\u00eda concreto.<\/em><\/p>\n<\/blockquote>\n\n\n\n<p>El paradigma funcional tambi\u00e9n ayuda en el proceso de internacionalizaci\u00f3n de Nubank. La l\u00f3gica del sistema financiero de un pa\u00eds puede ser diferente de la l\u00f3gica de otro, pero no es necesario construirlo desde cero. Basta con reescribir la l\u00f3gica del sistema financiero y reutilizar las otras partes del sistema.&nbsp;<\/p>\n\n\n\n<p>Es importante decir que utilizar un lenguaje funcional facilita las cosas, pero no es lo \u00fanico necesario para alcanzar ese objetivo. En ello tambi\u00e9n influye el concepto de plataforma que utilizamos y el modelo C4.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p><em>Pero al fin y al cabo, es como jugar con Legos: Si una pieza no encaja, es f\u00e1cil cambiarla por otra sin perder todo lo que ya estaba construido. \u2013 Concepto de arquitectura de software modular<\/em><\/p>\n<\/blockquote>\n\n\n\n<p>De esa manera, podemos utilizar todos los beneficios de la programaci\u00f3n funcional para crear soluciones que devuelvan a las personas el control sobre su propio dinero, independientemente del pa\u00eds en el que se encuentren.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Descubre qu\u00e9 es un paradigma funcional, en qu\u00e9 se diferencia de otros paradigmas y c\u00f3mo utilizamos esa tecnolog\u00eda en Nubank.<\/p>\n","protected":false},"author":178110163,"featured_media":24695,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_post_was_ever_published":false},"categories":[2499,2589],"tags":[2719,2637,2718],"ppma_author":[2388],"class_list":["post-26051","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-engineering-es","category-software-engineering-es","tag-functional-paradigm-es","tag-functional-programming-es","tag-technology-es"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.6 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>\u00bfQu\u00e9 es la programaci\u00f3n funcional y c\u00f3mo utilizamos esa tecnolog\u00eda en Nubank? - Building Nubank<\/title>\n<meta name=\"description\" content=\"Descubre qu\u00e9 es un paradigma funcional, en qu\u00e9 se diferencia de otros paradigmas y c\u00f3mo utilizamos esa tecnolog\u00eda en Nubank.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/building.nubank.com\/es\/que-es-la-programacion-funcional-y-como-utilizamos-esa-tecnologia-en-nubank\/\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"\u00bfQu\u00e9 es la programaci\u00f3n funcional y c\u00f3mo utilizamos esa tecnolog\u00eda en Nubank? - Building Nubank\" \/>\n<meta property=\"og:description\" content=\"Descubre qu\u00e9 es un paradigma funcional, en qu\u00e9 se diferencia de otros paradigmas y c\u00f3mo utilizamos esa tecnolog\u00eda en Nubank.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/building.nubank.com\/es\/que-es-la-programacion-funcional-y-como-utilizamos-esa-tecnologia-en-nubank\/\" \/>\n<meta property=\"og:site_name\" content=\"Building Nubank\" \/>\n<meta property=\"article:published_time\" content=\"2022-12-16T18:30:55+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-02-23T16:43:21+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2022\/11\/functional-programming-at-nubank-Feature_1200x675.jpg?fit=1200%2C675&ssl=1\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"675\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Bruno Rodrigues - Senior Engineering Manager at Nubank\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"Bruno Rodrigues - Senior Engineering Manager at Nubank\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tiempo de lectura\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/building.nubank.com\\\/es\\\/que-es-la-programacion-funcional-y-como-utilizamos-esa-tecnologia-en-nubank\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/building.nubank.com\\\/es\\\/que-es-la-programacion-funcional-y-como-utilizamos-esa-tecnologia-en-nubank\\\/\"},\"author\":{\"name\":\"Bruno Rodrigues - Senior Engineering Manager at Nubank\",\"@id\":\"https:\\\/\\\/building.nubank.com\\\/es\\\/#\\\/schema\\\/person\\\/38da41b5a2bfbf7cbb04d463306cbdee\"},\"headline\":\"\u00bfQu\u00e9 es la programaci\u00f3n funcional y c\u00f3mo utilizamos esa tecnolog\u00eda en Nubank?\",\"datePublished\":\"2022-12-16T18:30:55+00:00\",\"dateModified\":\"2024-02-23T16:43:21+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/building.nubank.com\\\/es\\\/que-es-la-programacion-funcional-y-como-utilizamos-esa-tecnologia-en-nubank\\\/\"},\"wordCount\":1117,\"commentCount\":0,\"image\":{\"@id\":\"https:\\\/\\\/building.nubank.com\\\/es\\\/que-es-la-programacion-funcional-y-como-utilizamos-esa-tecnologia-en-nubank\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/i0.wp.com\\\/building.nubank.com\\\/wp-content\\\/uploads\\\/2022\\\/11\\\/functional-programming-at-nubank-Feature_1200x675.jpg?fit=1200%2C675&ssl=1\",\"keywords\":[\"functional paradigm\",\"functional programming\",\"Technology\"],\"articleSection\":[\"Engineering\",\"Software Engineering\"],\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/building.nubank.com\\\/es\\\/que-es-la-programacion-funcional-y-como-utilizamos-esa-tecnologia-en-nubank\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/building.nubank.com\\\/es\\\/que-es-la-programacion-funcional-y-como-utilizamos-esa-tecnologia-en-nubank\\\/\",\"url\":\"https:\\\/\\\/building.nubank.com\\\/es\\\/que-es-la-programacion-funcional-y-como-utilizamos-esa-tecnologia-en-nubank\\\/\",\"name\":\"\u00bfQu\u00e9 es la programaci\u00f3n funcional y c\u00f3mo utilizamos esa tecnolog\u00eda en Nubank? - Building Nubank\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/building.nubank.com\\\/es\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/building.nubank.com\\\/es\\\/que-es-la-programacion-funcional-y-como-utilizamos-esa-tecnologia-en-nubank\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/building.nubank.com\\\/es\\\/que-es-la-programacion-funcional-y-como-utilizamos-esa-tecnologia-en-nubank\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/i0.wp.com\\\/building.nubank.com\\\/wp-content\\\/uploads\\\/2022\\\/11\\\/functional-programming-at-nubank-Feature_1200x675.jpg?fit=1200%2C675&ssl=1\",\"datePublished\":\"2022-12-16T18:30:55+00:00\",\"dateModified\":\"2024-02-23T16:43:21+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/building.nubank.com\\\/es\\\/#\\\/schema\\\/person\\\/38da41b5a2bfbf7cbb04d463306cbdee\"},\"description\":\"Descubre qu\u00e9 es un paradigma funcional, en qu\u00e9 se diferencia de otros paradigmas y c\u00f3mo utilizamos esa tecnolog\u00eda en Nubank.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/building.nubank.com\\\/es\\\/que-es-la-programacion-funcional-y-como-utilizamos-esa-tecnologia-en-nubank\\\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/building.nubank.com\\\/es\\\/que-es-la-programacion-funcional-y-como-utilizamos-esa-tecnologia-en-nubank\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/building.nubank.com\\\/es\\\/que-es-la-programacion-funcional-y-como-utilizamos-esa-tecnologia-en-nubank\\\/#primaryimage\",\"url\":\"https:\\\/\\\/i0.wp.com\\\/building.nubank.com\\\/wp-content\\\/uploads\\\/2022\\\/11\\\/functional-programming-at-nubank-Feature_1200x675.jpg?fit=1200%2C675&ssl=1\",\"contentUrl\":\"https:\\\/\\\/i0.wp.com\\\/building.nubank.com\\\/wp-content\\\/uploads\\\/2022\\\/11\\\/functional-programming-at-nubank-Feature_1200x675.jpg?fit=1200%2C675&ssl=1\",\"width\":1200,\"height\":675},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/building.nubank.com\\\/es\\\/que-es-la-programacion-funcional-y-como-utilizamos-esa-tecnologia-en-nubank\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/building.nubank.com\\\/es\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"\u00bfQu\u00e9 es la programaci\u00f3n funcional y c\u00f3mo utilizamos esa tecnolog\u00eda en Nubank?\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/building.nubank.com\\\/es\\\/#website\",\"url\":\"https:\\\/\\\/building.nubank.com\\\/es\\\/\",\"name\":\"Building Nubank\",\"description\":\"We make the extraordinary happen\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/building.nubank.com\\\/es\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/building.nubank.com\\\/es\\\/#\\\/schema\\\/person\\\/38da41b5a2bfbf7cbb04d463306cbdee\",\"name\":\"Bruno Rodrigues - Senior Engineering Manager at Nubank\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/building.nubank.com.br\\\/wp-content\\\/uploads\\\/2022\\\/10\\\/avatar_user_178110163_1666700769-96x96.jpgb59605a07d2fb82fa118a3bb89d728f3\",\"url\":\"https:\\\/\\\/building.nubank.com.br\\\/wp-content\\\/uploads\\\/2022\\\/10\\\/avatar_user_178110163_1666700769-96x96.jpg\",\"contentUrl\":\"https:\\\/\\\/building.nubank.com.br\\\/wp-content\\\/uploads\\\/2022\\\/10\\\/avatar_user_178110163_1666700769-96x96.jpg\",\"caption\":\"Bruno Rodrigues - Senior Engineering Manager at Nubank\"},\"description\":\"Bruno Rodrigues is responsible for Data Governance helping Nubank to rock at data stewardship. He has a degree in Computer Engineering from Federal University of Pernambuco (UFPE). Bruno has extensive experience working on Data Infrastructure Platform. Before joining Nubank, in 2018, he worked in companies such as EduK and B2W. He also is a Pokemon fan.\",\"url\":\"https:\\\/\\\/building.nubank.com\\\/es\\\/author\\\/bruno-rodrigues\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"\u00bfQu\u00e9 es la programaci\u00f3n funcional y c\u00f3mo utilizamos esa tecnolog\u00eda en Nubank? - Building Nubank","description":"Descubre qu\u00e9 es un paradigma funcional, en qu\u00e9 se diferencia de otros paradigmas y c\u00f3mo utilizamos esa tecnolog\u00eda en Nubank.","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:\/\/building.nubank.com\/es\/que-es-la-programacion-funcional-y-como-utilizamos-esa-tecnologia-en-nubank\/","og_locale":"es_ES","og_type":"article","og_title":"\u00bfQu\u00e9 es la programaci\u00f3n funcional y c\u00f3mo utilizamos esa tecnolog\u00eda en Nubank? - Building Nubank","og_description":"Descubre qu\u00e9 es un paradigma funcional, en qu\u00e9 se diferencia de otros paradigmas y c\u00f3mo utilizamos esa tecnolog\u00eda en Nubank.","og_url":"https:\/\/building.nubank.com\/es\/que-es-la-programacion-funcional-y-como-utilizamos-esa-tecnologia-en-nubank\/","og_site_name":"Building Nubank","article_published_time":"2022-12-16T18:30:55+00:00","article_modified_time":"2024-02-23T16:43:21+00:00","og_image":[{"width":1200,"height":675,"url":"https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2022\/11\/functional-programming-at-nubank-Feature_1200x675.jpg?fit=1200%2C675&ssl=1","type":"image\/jpeg"}],"author":"Bruno Rodrigues - Senior Engineering Manager at Nubank","twitter_card":"summary_large_image","twitter_misc":{"Escrito por":"Bruno Rodrigues - Senior Engineering Manager at Nubank","Tiempo de lectura":"5 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/building.nubank.com\/es\/que-es-la-programacion-funcional-y-como-utilizamos-esa-tecnologia-en-nubank\/#article","isPartOf":{"@id":"https:\/\/building.nubank.com\/es\/que-es-la-programacion-funcional-y-como-utilizamos-esa-tecnologia-en-nubank\/"},"author":{"name":"Bruno Rodrigues - Senior Engineering Manager at Nubank","@id":"https:\/\/building.nubank.com\/es\/#\/schema\/person\/38da41b5a2bfbf7cbb04d463306cbdee"},"headline":"\u00bfQu\u00e9 es la programaci\u00f3n funcional y c\u00f3mo utilizamos esa tecnolog\u00eda en Nubank?","datePublished":"2022-12-16T18:30:55+00:00","dateModified":"2024-02-23T16:43:21+00:00","mainEntityOfPage":{"@id":"https:\/\/building.nubank.com\/es\/que-es-la-programacion-funcional-y-como-utilizamos-esa-tecnologia-en-nubank\/"},"wordCount":1117,"commentCount":0,"image":{"@id":"https:\/\/building.nubank.com\/es\/que-es-la-programacion-funcional-y-como-utilizamos-esa-tecnologia-en-nubank\/#primaryimage"},"thumbnailUrl":"https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2022\/11\/functional-programming-at-nubank-Feature_1200x675.jpg?fit=1200%2C675&ssl=1","keywords":["functional paradigm","functional programming","Technology"],"articleSection":["Engineering","Software Engineering"],"inLanguage":"es","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/building.nubank.com\/es\/que-es-la-programacion-funcional-y-como-utilizamos-esa-tecnologia-en-nubank\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/building.nubank.com\/es\/que-es-la-programacion-funcional-y-como-utilizamos-esa-tecnologia-en-nubank\/","url":"https:\/\/building.nubank.com\/es\/que-es-la-programacion-funcional-y-como-utilizamos-esa-tecnologia-en-nubank\/","name":"\u00bfQu\u00e9 es la programaci\u00f3n funcional y c\u00f3mo utilizamos esa tecnolog\u00eda en Nubank? - Building Nubank","isPartOf":{"@id":"https:\/\/building.nubank.com\/es\/#website"},"primaryImageOfPage":{"@id":"https:\/\/building.nubank.com\/es\/que-es-la-programacion-funcional-y-como-utilizamos-esa-tecnologia-en-nubank\/#primaryimage"},"image":{"@id":"https:\/\/building.nubank.com\/es\/que-es-la-programacion-funcional-y-como-utilizamos-esa-tecnologia-en-nubank\/#primaryimage"},"thumbnailUrl":"https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2022\/11\/functional-programming-at-nubank-Feature_1200x675.jpg?fit=1200%2C675&ssl=1","datePublished":"2022-12-16T18:30:55+00:00","dateModified":"2024-02-23T16:43:21+00:00","author":{"@id":"https:\/\/building.nubank.com\/es\/#\/schema\/person\/38da41b5a2bfbf7cbb04d463306cbdee"},"description":"Descubre qu\u00e9 es un paradigma funcional, en qu\u00e9 se diferencia de otros paradigmas y c\u00f3mo utilizamos esa tecnolog\u00eda en Nubank.","breadcrumb":{"@id":"https:\/\/building.nubank.com\/es\/que-es-la-programacion-funcional-y-como-utilizamos-esa-tecnologia-en-nubank\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/building.nubank.com\/es\/que-es-la-programacion-funcional-y-como-utilizamos-esa-tecnologia-en-nubank\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/building.nubank.com\/es\/que-es-la-programacion-funcional-y-como-utilizamos-esa-tecnologia-en-nubank\/#primaryimage","url":"https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2022\/11\/functional-programming-at-nubank-Feature_1200x675.jpg?fit=1200%2C675&ssl=1","contentUrl":"https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2022\/11\/functional-programming-at-nubank-Feature_1200x675.jpg?fit=1200%2C675&ssl=1","width":1200,"height":675},{"@type":"BreadcrumbList","@id":"https:\/\/building.nubank.com\/es\/que-es-la-programacion-funcional-y-como-utilizamos-esa-tecnologia-en-nubank\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/building.nubank.com\/es\/"},{"@type":"ListItem","position":2,"name":"\u00bfQu\u00e9 es la programaci\u00f3n funcional y c\u00f3mo utilizamos esa tecnolog\u00eda en Nubank?"}]},{"@type":"WebSite","@id":"https:\/\/building.nubank.com\/es\/#website","url":"https:\/\/building.nubank.com\/es\/","name":"Building Nubank","description":"We make the extraordinary happen","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/building.nubank.com\/es\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"},{"@type":"Person","@id":"https:\/\/building.nubank.com\/es\/#\/schema\/person\/38da41b5a2bfbf7cbb04d463306cbdee","name":"Bruno Rodrigues - Senior Engineering Manager at Nubank","image":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/building.nubank.com.br\/wp-content\/uploads\/2022\/10\/avatar_user_178110163_1666700769-96x96.jpgb59605a07d2fb82fa118a3bb89d728f3","url":"https:\/\/building.nubank.com.br\/wp-content\/uploads\/2022\/10\/avatar_user_178110163_1666700769-96x96.jpg","contentUrl":"https:\/\/building.nubank.com.br\/wp-content\/uploads\/2022\/10\/avatar_user_178110163_1666700769-96x96.jpg","caption":"Bruno Rodrigues - Senior Engineering Manager at Nubank"},"description":"Bruno Rodrigues is responsible for Data Governance helping Nubank to rock at data stewardship. He has a degree in Computer Engineering from Federal University of Pernambuco (UFPE). Bruno has extensive experience working on Data Infrastructure Platform. Before joining Nubank, in 2018, he worked in companies such as EduK and B2W. He also is a Pokemon fan.","url":"https:\/\/building.nubank.com\/es\/author\/bruno-rodrigues\/"}]}},"jetpack_featured_media_url":"https:\/\/i0.wp.com\/building.nubank.com\/wp-content\/uploads\/2022\/11\/functional-programming-at-nubank-Feature_1200x675.jpg?fit=1200%2C675&ssl=1","jetpack_shortlink":"https:\/\/wp.me\/pbKBB5-6Mb","jetpack_sharing_enabled":true,"authors":[{"term_id":2388,"user_id":178110163,"is_guest":0,"slug":"bruno-rodrigues","display_name":"Bruno Rodrigues - Senior Engineering Manager at Nubank","avatar_url":"https:\/\/building.nubank.com.br\/wp-content\/uploads\/2022\/10\/avatar_user_178110163_1666700769-96x96.jpg","0":null,"1":"","2":"","3":"","4":"","5":"","6":"","7":"","8":""}],"_links":{"self":[{"href":"https:\/\/building.nubank.com\/es\/wp-json\/wp\/v2\/posts\/26051","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/building.nubank.com\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/building.nubank.com\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/building.nubank.com\/es\/wp-json\/wp\/v2\/users\/178110163"}],"replies":[{"embeddable":true,"href":"https:\/\/building.nubank.com\/es\/wp-json\/wp\/v2\/comments?post=26051"}],"version-history":[{"count":3,"href":"https:\/\/building.nubank.com\/es\/wp-json\/wp\/v2\/posts\/26051\/revisions"}],"predecessor-version":[{"id":28282,"href":"https:\/\/building.nubank.com\/es\/wp-json\/wp\/v2\/posts\/26051\/revisions\/28282"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/building.nubank.com\/es\/wp-json\/wp\/v2\/media\/24695"}],"wp:attachment":[{"href":"https:\/\/building.nubank.com\/es\/wp-json\/wp\/v2\/media?parent=26051"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/building.nubank.com\/es\/wp-json\/wp\/v2\/categories?post=26051"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/building.nubank.com\/es\/wp-json\/wp\/v2\/tags?post=26051"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/building.nubank.com\/es\/wp-json\/wp\/v2\/ppma_author?post=26051"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}