Computación y programación funcional
eBook - ePub

Computación y programación funcional

  1. 318 páginas
  2. Spanish
  3. ePUB (apto para móviles)
  4. Disponible en iOS y Android
eBook - ePub

Computación y programación funcional

Descripción del libro

La programación funcional ofrece diversas ventajas a la hora de construir software: reducción de errores, manejo eficiente de datos en entornos concurrentes y paralelos, y un gran respaldo teórico. No obstante, muchos programadores fracasan en su intento de adentrarse en ella por ir directamente a aprenderla usando un lenguaje de programación (tecnología), con lo que omiten la teoría y el contexto histórico que le dio origen. Este libro incluye una introducción sobre qué son la computación y la programación en pos de delimitar su campo de acción. En segundo lugar, presenta el cálculo lambda, el modelo de computación que influenció a la programación funcional en los años cuando ni siquiera existían los lenguajes de programación, ni mucho menos los ordenadores digitales. Para concluir, el libro emplea los lenguajes de programación Racket y Python para enseñar las diversas características de la programación funcional, sus fortalezas y debilidades, y cómo ellas pueden combinarse con otros paradigmas. Con todo ello, aprenderá: La visión general de la computación, la programación y los lenguajes de programación. Los fundamentos que subyacen a la programación funcional, como el cálculo lambda. Las diferencias entre el cálculo lambda libre de tipos y tipado.La aplicación de estos conceptos en un lenguaje de programación de estirpe funcional, como lo es Racket, y en otro de uso masivo, como Python.El diseño y la construcción de un pequeño lenguaje de programación usando el enfoque funcional.Si tiene un mínimo conocimiento en programación y desea adentrarse en otra forma de pensar y construir sistemas computacionales, donde viven conceptos como reducción, funciones puras, transparencia referencial, búsqueda de patrones, entre otros, no espere más para hacerse con este libro. Gracias a él no descubrirá tan solo la programación funcional, sino que ampliará su perspectiva con respecto a la computación desde una óptica sistémica y libre de dogmas.Camilo Chacón Sartori fue elegido escritor destacado por Quora en español durante tres años seguidos (2018, 2019 y 2020) por sus más de 700 respuestas sobre ciencias de la computación. Actualmente tiene un podcast llamado Había una vez un algoritmo, donde trata temas filosóficos, prácticos y teóricos sobre la computación. Obtuvo su licenciatura y máster en Ingeniería Informática, ambos, con distinción máxima."El libro nos presenta un sólido análisis teórico y conceptual de los tópicos vertidos aquí […]. La lectura y el estudio detallado de su contenido proveerán al lector de conocimientos necesarios que le permitirán comprender, resolver y extender los problemas asociados al desarrollo de programas computacionales, conforme a las tendencias actuales".

Preguntas frecuentes

Sí, puedes cancelar tu suscripción en cualquier momento desde la pestaña Suscripción en los ajustes de tu cuenta en el sitio web de Perlego. La suscripción seguirá activa hasta que finalice el periodo de facturación actual. Descubre cómo cancelar tu suscripción.
No, los libros no se pueden descargar como archivos externos, como los PDF, para usarlos fuera de Perlego. Sin embargo, puedes descargarlos en la aplicación de Perlego para leerlos sin conexión en el móvil o en una tableta. Obtén más información aquí.
Perlego ofrece dos planes: Essential y Complete
  • El plan Essential es ideal para los estudiantes y los profesionales a los que les gusta explorar una amplia gama de temas. Accede a la biblioteca Essential, con más de 800 000 títulos de confianza y superventas sobre negocios, crecimiento personal y humanidades. Incluye un tiempo de lectura ilimitado y la voz estándar de «Lectura en voz alta».
  • Complete: perfecto para los estudiantes avanzados y los investigadores que necesitan un acceso completo sin ningún tipo de restricciones. Accede a más de 1,4 millones de libros sobre cientos de temas, incluidos títulos académicos y especializados. El plan Complete también incluye funciones avanzadas como la lectura en voz alta prémium y el asistente de investigación.
Ambos planes están disponibles con un ciclo de facturación mensual, semestral o anual.
Somos un servicio de suscripción de libros de texto en línea que te permite acceder a toda una biblioteca en línea por menos de lo que cuesta un libro al mes. Con más de un millón de libros sobre más de 1000 categorías, ¡tenemos todo lo que necesitas! Obtén más información aquí.
Busca el símbolo de lectura en voz alta en tu próximo libro para ver si puedes escucharlo. La herramienta de lectura en voz alta lee el texto en voz alta por ti, resaltando el texto a medida que se lee. Puedes pausarla, acelerarla y ralentizarla. Obtén más información aquí.
¡Sí! Puedes usar la aplicación de Perlego en dispositivos iOS o Android para leer cuando y donde quieras, incluso sin conexión. Es ideal para cuando vas de un lado a otro o quieres acceder al contenido sobre la marcha.
Ten en cuenta que no será compatible con los dispositivos que se ejecuten en iOS 13 y Android 7 o en versiones anteriores. Obtén más información sobre cómo usar la aplicación.
Sí, puedes acceder a Computación y programación funcional de Camilo Chacón Sartori en formato PDF o ePUB, así como a otros libros populares de Business y IT Industry. Tenemos más de un millón de libros disponibles en nuestro catálogo para que explores.

Información

Editorial
Marcombo
Año
2021
ISBN del libro electrónico
9788426732842
Edición
1
Categoría
Business
Categoría
IT Industry

PARTE II

CÁLCULO LAMBDA

4. ¿Qué es el cálculo lambda?
5. Operadores y variables
6. Reducción
7. Aritmética
8. Condicionales
9. Tuplas y listas
10. Tipos
11. Cálculo lambda como base de un lenguaje de programación real
Presentaremos las características del cálculo lambda, y explicaremos, por qué y cómo puede ser útil para desarrollar algoritmos. Es, sin duda, el modelo de computación nuclear para entender la programación funcional.

Capítulo 4

¿QUÉ ES EL CÁLCULO LAMBDA?

Los escritores de libros de texto sobre computación revelan precisamente su adhesión incondicional al progreso y su concepto falso del pasado […] El hecho de que se trate, supuestamente, de expertos en computación induce con facilidad al lector a considerarlos expertos en historia, olvidando que no disponen del tiempo para estudiarla con apropiada exactitud. No es que estos científicos y técnicos sean estúpidos; son, sencillamente, ignorantes: ignorantes del pasado e ignorantes de su propia ignorancia.
Thomas M. Smith
El cálculo lambda (lambda calculus en inglés) es una notación formal que representa un modelo de computación. En términos más simples podemos decir que es un pequeño lenguaje de programación que nos permite crear algoritmos a través de funciones matemáticas. Como dice Ralf Lämmel en su libro Software Languages: Syntax, Semantics, and Metaprogramming («Lenguajes de software: sintaxis, semántica y metaprogramación»):
El cálculo lambda es un lenguaje de programación idealizado que capta el núcleo de la programación funcional y sirve como noción de computabilidad. (Lämmel, 2018)
Así bien, el cálculo lambda tiene una historia que nace antes de la era de los ordenadores digitales. Al ser una abstracción matemática, sus principios fueron aprovechados por la ciencia de la computación y, en particular, en el diseño de lenguajes de programación varias décadas después.
Ha forjado los fundamentos teóricos del paradigma de programación funcional. Muchos de sus conceptos han sido llevados a la práctica mediante diferentes lenguajes de programación (y no solo de origen funcional). Por otro lado, y en contraste con el cálculo lambda, tenemos a la máquina de Turing (otro modelo de computación) que influenció en todos los ámbitos de la computación. Por ejemplo, el paradigma de programación imperativo fue influenciado por la máquina de Turing porque tiene como propiedad la secuencialidad de asignaciones, donde una variable puede ir actualizando su valor, ya no en una cinta infinita como propuso Turing, sino más bien en la misma memoria disponible del ordenador.
El cálculo-λ (escrito de forma abreviada usando la letra griega λ) no realiza la computación de manera secuencial como el paradigma de programación imperativo (también conocido como procedural), que se basa en asignaciones de variables. (Cabe señalar que existen múltiples categorías de problemas computacionales. Cada uno de ellos puede ser tratado de una mejor manera según el paradigma escogido.) En cambio, la hace usando la reducción de funciones.
¿Por qué debería aprender el cálculo lambda? Existen dos beneficios: (1) comprender cómo funciona la computación desde un aspecto teórico y (2) en términos prácticos obliga a pensar de una forma diferente la solución a ciertos problemas cuya implementación, al usar otro paradigma, podría resultar más complicada y menos natural de hacer.
Este modelo ha aportado bastante a otras áreas del conocimiento, como: teoría de los lenguajes de programación, lógica computacional, teoría de la computación, entre otros. Esto se debe a que posee una sintaxis simple que lo hace muy flexible y expresivo.
Además, su influencia se ha expandido a toda la gama de lenguajes de programación funcionales, por dar el ejemplo de algunos: Lisp, ML, Clojure, Agda y Haskell. También sus características han llegado en las últimas versiones a otros lenguajes de programación mainstream fuera de la esfera funcional (en su origen), como es el caso de C++, Python, Java y C#, entre otros.
Objetivos de este capítulo:
Que usted entienda la relevancia histórica del cálculo-λ y sus implicaciones, que subyacen a la computación.
Presentar la notación que se utiliza p...

Índice

  1. Cubierta
  2. Título
  3. Créditos
  4. Índice
  5. Prólogo
  6. Acerca del libro
  7. Parte I Introducción a La Computación y La Programación
  8. Parte II Cálculo Lambda
  9. Parte III Programación Funcional
  10. Epílogo - Lecturas recomendadas
  11. Agradecimientos
  12. Apéndice A - Notación Big O
  13. Apéndice B – Introducción a TLA+ (PlusCal)
  14. Bibliografía
  15. Glosario