Re: Algunas preguntas de un recién llegao
José "L. Redrejo" Rodríguez <jredrejo-a4J06JfGjT/[email protected]> Wed, 17 Aug 2005 21:40:29 +0200
| Newsgroups | gmane.education.small-land |
|---|---|
| Organization | Junta de Extremadura |
| Message-ID | <1124307629.7606.51.camel@localhost> |
El lun, 15-08-2005 a las 23:12 +0000, supercorreode escribió: > Hola, ya sé que está mal no leerse los mensajes antiguos y lo > más > seguro es que me repita, pero es que no me puedo resistir a preguntar > sobre el aprendizaje de squeak ;-D > > No tengo mucha idea sobre lenguajes de programación, pero lo > primero > que me he preguntado al instalar squeak y al leer algunos tutoriales > básicos es ¿dónde están las variables, bucles, > constantes, funciones, > etc...? Como ya ha dicho Dario, Diego está escribiendo un tutorial muy bueno en su bitácora, te resuelve muchas de tus dudas. Como el tutorial es largo y te puede asustar, intentaré contestarte brevemente, a ver si eso te anima a ir a por el tutorial. Con squeak tienes, fundamentalmente, dos niveles de programación: e-Toys y smalltalk . E-toys es programación gráfica muy sencilla, tienes variables pulsando en la V que aparece al generar un script. Los bucles los tienes que hacer tu. Es una programación limitada a realizar, principalmente, simulaciones y cálculos. Smalltalk es un lenguaje de programación en toda regla. Realmente es el primer lenguaje de programación orientada a objetos y tiene un a potencia extraordinaria. Para ver el código pulsa Alt-B en el mundo de Squeak. Ahí verás las variables. Bucles, constantes y otras funciones no son realmente parte del lenguaje, sino clases que se le han añadido para implementarlas. Realmente el lenguaje tiene muy, muy pocas palabras claves (te caben en los dedos de las manos. Un resumen de lo que estás buscando lo tienes en http://www.angelfire.com/tx4/cus/notes/smalltalk.html > > ¿Es difícil aprender smalltalk? (Mi experiencia se limita a la > lectura > de algún tutorial sobre python) > Tiene una curva de aprendizaje muy empinada al principio, pero una vez pasado el punto crítico, el aprendizaje es muy rápido. Que te sea más o menos difícil dependerá del profesor que tengas, de tu habilidad y de que conozcas algo de programación orientada a objetos. > Con vuestra experiencia, para empezar con buen pie ¿cuál que es > el > mejor camino? ¿Qué manuales, tutoriales o libros > recomendaríais? > Lo mejor sería empezar con, al menos, un par de horas con alguien que te enseñe a manejarte en el entorno de programación, que es uno de los puntos principales de este lenguaje, ya que entorno, objetos y código forman parte de una misma cosa. A partir de ese punto hay muchos tutoriales gratuitos y libros que te podrían servir. Está muy bien este: http://www.jmcsweeney.co.uk/computing/m206/object.php o alguno de los libros gratuitos que puedes bajar de aquí http://www.iam.unibe.ch/~ducasse/FreeBooks.html , o este tutorial http://www.cs.pdx.edu/~harry/musings/SmalltalkOverview.html . Pero yo me iría al tutorial "La magia del Smalltalk" que está poniendo Diego en http://diegogomezdeck.blogspot.com/ y que encima lo tienes en español. Eso sí, las dos horas primeras con alguien que te guíe son casi indispensables: no he visto ningún tutorial que te enseñe bien a moverte por el código, modificarlo, etc. > ¿Sirve squeak para otras cosas que no sean presentaciones o > animaciones? Es decir, ¿podría servirme para hacer, por > ejemplo, un > programa para cortar fotos o para construir una interface de usuario > para un programa de consola? > Por supuesto, para cortar fotos tienes un morph que se llama CropMorph directamente, para interface de usuario, puedes hacer lo que quieras con smalltalk, algunos ejemplos en http://minnow.cc.gatech.edu/squeak/1794 > Hay algo en lo que estoy un poco liao. Que yo sepa hay tres cosas que > he tenío que instalar: una imagen, una máquina virtual y un > archivo de > fuentes. ¿Hay algo más? Bueno, realmente son solo dos: la máquina virtual y el archivo de imagen, lo que pasa es que si quieres escribir código necesitarás el archivo de fuentes, y otro llamado .changes que tiene los cambios en el código que han construido tu imagen a partir del archivo de fuentes original. Es decir -vm - archivo.image y archivo.changes - SqueakV3.source Si no vas a tocar el fuente solo necesitas vm y archivo.image > La máquina virtual sólo vale para cargar imágenes, pero los > proyectos > son otros archivos distintos. Los proyectos son lo que la palabra indica, un proyecto que has hecho dentro de una imagen y q ue puedes exportar para que se use en otra imagen. Las ventajas de los proyectos son dos: te permiten organizarte dentro de la imagen y puedes exportar lo que has hecho en un archivo pequeño, sin necesidad de enviarle a alguien la imagen entera. > ¿Qué hay en las imágenes? Todos los objetos que has creado para construirla. > ¿Para qué vale > el archivo de fuentes? Para ver el código fuente de todo y poder modificarlo > ¿Para cargar un proyecto siempre es > necesaria > una imagen? Sí > ¿Vale cualquiera o un proyecto siempre está ligado > a la > imagen desde la que se creó? Si no has creado nuevas clases vale cualquiera que tenga las mismas clases que el tuyo. En el proyecto irían solo los objetos que hayas creado y/o modificado. Es decir, si haces un proyecto en la imagen de small-land y no modificas el código fuente, solo añades videos, sonidos, creas objetos, etc. ese proyecto se puede cargar en cualquier otra imagen de small-land. Si modificas el código fuente hay un truco que permite incluir el código modificado en el proyecto (en forma de archivo de cambios o changeset), pero no es lo usual. > Bueno, como os he dicho, un poco liao ;) > Pues igual te he liado más. He dado por hecho que sabías algo de programación orientada a objetos, al menos lo que es una clase y un objeto instanciado de esa clase, como dijiste que habías mirado algo de Python... Un saludo.
signature.asc
(application/pgp-signature, 189 B)
-----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.4 (GNU/Linux) iD8DBQBDA5KtmqVR2WapDeIRAowoAJ0Z5ZgiQ9JQglp05Z044SFLgEmh7gCdFThp xbPofcA429gLB5quJ7Dg7qA= =jDx0 -----END PGP SIGNATURE-----