Miranda (lenguaje de programación) para niños
Miranda es un lenguaje de programación especial que fue creado para ayudar a las personas a escribir programas de computadora de una manera diferente y más sencilla. Fue uno de los primeros lenguajes de su tipo en ser vendido para que las empresas lo usaran, no solo para estudiar en universidades.
Datos para niños Miranda (lenguaje de programación) |
||
---|---|---|
? | ||
Información general | ||
Apareció en | 1985 | |
Diseñado por | David Turner | |
Influido por | ML | |
Licencia | 2-clause BSD License | |
Contenido
Miranda: Un Lenguaje de Programación Especial
Miranda es un lenguaje de programación funcional, lo que significa que se basa en el uso de funciones matemáticas para resolver problemas. Fue creado como una mejora de otros lenguajes similares llamados SASL y KRC.
¿Qué es Miranda y Quién lo Creó?
Miranda fue desarrollado entre los años 1985 y 1986 por un experto en computación llamado David Turner. Su idea principal era crear un lenguaje funcional que pudiera ser vendido y usado por empresas, no solo en el ámbito académico o de investigación.
Miranda fue el primer lenguaje de programación puramente funcional que se diseñó para el uso comercial. Fue vendido por una empresa llamada Research Software Ltd. en Inglaterra, que incluso registró la palabra 'Miranda' como su marca.
¿Por Qué Miranda es Diferente?
Miranda tiene algunas características especiales que lo hacen único:
- Es un lenguaje no estricto: Esto significa que no evalúa todos los datos de inmediato, sino solo cuando son necesarios.
- Es puramente funcional: Esto quiere decir que las funciones siempre producen el mismo resultado si se les dan los mismos datos, y no cambian nada fuera de ellas.
¿Cómo Ayuda Miranda a los Programadores?
Muchos programadores encontraron que escribir programas en Miranda era más sencillo que en otros lenguajes. Además, quienes lo usaron decían que les permitía crear programas confiables en menos tiempo. Esto se debe a que los lenguajes funcionales, como Miranda, a menudo facilitan la escritura de código más claro y con menos errores.
¿Cómo se Escriben Programas en Miranda?
Un programa en Miranda se llama script y es como un conjunto de instrucciones o "ecuaciones" que le dicen a la computadora qué hacer. El orden en que escribes estas ecuaciones no suele importar mucho, lo que lo hace más flexible.
Comentarios y Estructura del Código
En Miranda, no necesitas usar muchos símbolos como paréntesis o puntos y comas al final de cada instrucción. Esto hace que el código se vea más limpio.
Para añadir notas o explicaciones en tu código (llamados comentarios), puedes usar los caracteres `||`. Todo lo que escribas después de `||` en una línea será un comentario y la computadora lo ignorará. También existe una forma especial de escribir comentarios que afecta a todo el archivo, donde cada línea es un comentario a menos que empiece con el signo `>`.
Tipos de Datos Básicos
Miranda maneja diferentes tipos de información:
- char: Para letras o símbolos individuales.
- num: Para números, ya sean enteros (como 1, 2, 3) o números con decimales (como 3.14). No necesitas hacer conversiones especiales entre ellos.
- bool: Para valores de verdadero o falso.
Una cadena de caracteres (como una palabra o frase) es simplemente una lista de caracteres.
Las tuplas son como listas de elementos que pueden ser de diferentes tipos. Por ejemplo, podrías tener una tupla con un nombre (texto), una edad (número) y si está activo (verdadero/falso). Se escriben entre paréntesis: this_employee = ("García, Paco", 10560, False, 35)
Listas: Una Herramienta Poderosa
Las listas son muy importantes en Miranda. Son secuencias de elementos que deben ser del mismo tipo y se escriben entre corchetes, separando cada elemento con comas: week_days = ["Mon","Tue","Wed","Thur","Fri"]
Puedes hacer muchas cosas con las listas:
- Unir listas: `++`
- Quitar elementos: `--`
- Añadir un elemento al principio: `:`
- Saber cuántos elementos tiene una lista: `#`
- Obtener un elemento específico por su posición: `!`
Aquí tienes algunos ejemplos: days = week_days ++ ["Sat","Sun"] (Une dos listas) days = "Nil":days (Añade "Nil" al principio) days!0 (Obtiene el primer elemento, que es "Nil") days = days -- ["Nil"] (Quita "Nil" de la lista) #days (Dice cuántos elementos quedan, que son 7)
También hay atajos para crear listas, como `..` para series de números: fac n = product [1..n] (Crea una lista de números del 1 al n) odd_sum = sum [1,3..100] (Crea una lista de números impares del 1 al 100)
Miranda también permite crear listas con un número infinito de elementos, como la lista de todos los números positivos: `[1..]`.
Funciones y su Uso Especial
En Miranda, las funciones son muy flexibles. Puedes pasarlas como datos a otras funciones, o incluso una función puede devolver otra función como resultado.
Una característica interesante es que si una función necesita varios datos, puedes darle solo algunos y obtendrás una nueva función que espera los datos restantes. Por ejemplo: add a b = a + b increment = add 1 Aquí, `increment` es una nueva función que siempre suma 1 a cualquier número que le des.
También puedes usar operadores matemáticos (como `+`, `-`, `*`, `/`) como si fueran funciones. Por ejemplo, `(+) 1` es otra forma de crear una función que suma 1.
¿Qué es la Evaluación Perezosa?
Una característica clave de Miranda y de otros lenguajes de su familia es la "evaluación perezosa" (lazy evaluation). Esto significa que los datos que se le dan a una función no se calculan de inmediato. En cambio, se evalúan solo en el momento en que la función realmente los necesita para hacer su trabajo. Esto puede hacer que los programas sean más eficientes y permitan trabajar con listas infinitas.
¿Qué Otros Lenguajes son Similares a Miranda?
Miranda influyó en el desarrollo de otros lenguajes de programación. El lenguaje Haskell, que es muy popular hoy en día en el mundo de la programación funcional, es similar a Miranda en muchos aspectos.
Aunque Miranda es un lenguaje con "tipado fuerte" (lo que significa que el tipo de datos importa mucho), no siempre tienes que decir explícitamente qué tipo de datos estás usando. El programa puede adivinarlo por sí mismo.
Miranda también tiene una forma de organizar el código en "módulos", que son como paquetes de funciones que pueden usarse en diferentes partes de un programa.