Un lenguaje que no afecta a la manera en que piensas sobre programación, no merece conocerse.
Cuis-Smalltalk —en breve, Cuis— es un entorno portable para hacer, construir y compartir. Como cualquier otra herramienta, Cuis no necesita una actitud en particular o seguir un proceso concreto. Sin embargo, Cuis está hecho sobre una visión específica de lo que es el software y lo que significa. Como consecuencia, Cuis es especialmente efectivo si esas ideas resuenan contigo y, al menos ocasionalmente, dejas que guíen tus pensamientos y acciones.
En este libro, te acompañaremos mientras exploras, descubres y aprendes Cuis y Smalltalk.
No suponemos ningún conocimiento sobre programación de ordenadores, pero si tienes algún tipo de experiencia con un lenguaje Orientado a Objetos o Funcional, reconocerás muchos conceptos. Si no tienes ningún tipo de experiencia en programación o has codificado en uno imperativo, más cercano al lenguaje máquina, como son C o Ensamblador, muchas ideas serán nuevas.
En cualquier caso, especialmente durante los primeros capítulos, lee este libro y sigue los ejemplos con una mente abierta. Un nuevo punto de vista de lo que significa el desarrollo de software puede ser una experiencia enriquecedora. Para nosotros, programar es un proceso reflexivo.
Entendemos el desarrollo de software como la actividad de aprender y documentar conocimiento para usarlo nosotros mismos y para otros, y que también puede ejecutarse en una computadora. El hecho de que un ordenador pueda ejecutar el software y producir soluciones útiles a cualquier problema es una consecuencia de un conocimiento sensato y relevante. ¡Solamente hacerlo funcionar no es la parte importante!
Estas ideas dan forma a Cuis y a la experiencia de usarlo de manera intensa, las desarrollaremos a lo largo de este libro. Entre sus más obvias consecuencias está una pasión por reducir la complejidad innecesaria, mientras se proporciona una completa y viva experiencia del desarrollo de software.
Este libro es una introducción y una invitación a explorar Cuis. Esperamos que te unas a nosotros en este viaje de usarlo como medio de expresar ideas y pensamientos, de hacer cosas frescas y de hacer Cuis incluso mejor.
Figura 1: Cuis
Para hacer nuestro viaje con este libro más disfrutable, el proyecto de Spacewar!1 será un tema recurrente. Está destilado en el libro con ejemplos de código, ejercicios y capítulos dedicados. Al final del libro, habrás escrito una réplica de este histórico juego. El paquete final de Cuis-Smalltalk de este juego puedes descargarlo desde el repositorio del libro2.
El lector puede estudiar Cuis-Smalltalk mediante dos versiones del libro:
Los capítulos vienen con muchos ejemplos. Algunos se pueden copiar y pegar en Cuis-Smalltalk. Te animamos a hacer esto y en el proceso modificarlos para explorar por tu cuenta.
El código de los ejemplos en la versión online se puede copiar directamente y pegarlo en Cuis-Smalltalk. Esto es porque el carácter de asignación “←” como puedes ver en la ventana de desarrollo de Cuis-Smalltalk se imprime como “:=” en la versión online del libro. Lo mismo se puede aplicar al carácter de retorno “↑” impreso como “^” en la versión online.
En la versión PDF offline, el código de los ejemplos se impimen con los mismos caracteres de asignación y retorno que se pueden ver en las ventanas de Cuis-Smalltalk. Copiar y pegar también funciona como se espera.
Otros ejemplos son extractos de código que no son autosuficientes para ejecutarse tal cual. Su propósito es exponer facetas específicas del lenguaje Smalltalk.
Un ejemplo típico sin leyenda aparecerá como:
100 factorial
El mismo ejemplo con una leyenda aparecerá con un número y un título y se usará como referencia en cualquier punto del libro:
100 factorial ⇒ 9332621544394415268169923885626670049071596826438162146859 29638952175999932299156089414639761565182862536979208272237582 51185210916864000000000000000000000000
Ejemplo 1: Soy un ejemplo con cabecera y resultado
También hay muchos ejercicios. La mayoría son muy sencillos; están para proporcionarte la oportunidad de aplicar lo que acabas de aprender.
Los ejercicios se identifican fácilmente por la mascona de Cuis-Smalltalk: Cuis, ¡un roedor de Sudamérica!
Busca en internet: ¿Cuántas versiones de Smalltalk existen?
Ejercicio 1: Soy un ejemplo de ejercicio
Las soluciones a los ejercicios se presentan en Soluciones a los ejercicios.
Happy reading!
https://es.wikipedia.org/wiki/Spacewar!
https://github.com/DrCuis/TheCuisBook/blob/master/Spacewar!.pck.st