Computación y programación funcional
eBook - ePub

Computación y programación funcional

Camilo Chacón Sartori

Compartir libro
  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

Camilo Chacón Sartori

Detalles del libro
Vista previa del libro
Índice
Citas

Informació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

¿Cómo cancelo mi suscripción?
Simplemente, dirígete a la sección ajustes de la cuenta y haz clic en «Cancelar suscripción». Así de sencillo. Después de cancelar tu suscripción, esta permanecerá activa el tiempo restante que hayas pagado. Obtén más información aquí.
¿Cómo descargo los libros?
Por el momento, todos nuestros libros ePub adaptables a dispositivos móviles se pueden descargar a través de la aplicación. La mayor parte de nuestros PDF también se puede descargar y ya estamos trabajando para que el resto también sea descargable. Obtén más información aquí.
¿En qué se diferencian los planes de precios?
Ambos planes te permiten acceder por completo a la biblioteca y a todas las funciones de Perlego. Las únicas diferencias son el precio y el período de suscripción: con el plan anual ahorrarás en torno a un 30 % en comparación con 12 meses de un plan mensual.
¿Qué es Perlego?
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í.
¿Perlego ofrece la función de texto a voz?
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í.
¿Es Computación y programación funcional un PDF/ePUB en línea?
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 Negocios y empresa y Industria informática. 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
9788426732842
Edición
1

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