Aspectes tècnics

El Cargol Golafre és un exemple de programació avançada en Scratch v1.4. Scratch v1.4 és especialitzat per ensenyament i no pels videojocs però es poden fer programes com aquest; orientats a ser entesos. Scratch v1.4, a més a més, ens permet adonar-no de que el que més ens costa és organitzar les nostres idees i que programar és una traducció que pot arribar a ser quasi automàtica. Scratch v1.4 és adequat per aprendre a totes les edats i falten molts formadors d'Scratch i entorns similars a les escoles pel que és també és una important font de feina perquè no hi ha manera de que la majoria dels nens n'aprenguin sols. Passa com amb la música o les matemàtiques. Amb Scratch v1.4, a diferència de versions més modernes, com Scratch 2.0, es promou de forma explícita (per la no existència de blocs) el concepte de missatges entre processos i la programació paralela mentre que versions més modernes solament ho fan implícitament, ja que existeixen opcionalment blocs, no resultant Scratch 2.0 tant didàctic com Scratch v1.4 per aquesta raó. Scratch v1.4, també a diferència de versions més modernes, és un entorn procedent de Squeak que alhora és procedent d'Smalltalk. De fet Scratch v1.4 és Smalltalk des d'un entorn visual. Smalltalk és el competidor del omnipresent llenguatge C i en moltes coses, com simplicitat, que és una cosa molt important en informàtica, el supera per les seves especificacions. Smalltalt també és una porta d'entrada a altres llenguatges molt prestigiosos com Scheme, de la Universitat de Berkeley a Californa, i al Calcul Lambda d'Alonzo Church que és una evolució de l'àlgebra i les matemàtiques fonamentals adaptades a la informàtica i els temps moderns. Smalltalk, per altra banda, és un sistema de programació que evoluciona de Logo que va ser el focus principal d'investigació a Harvard per importants investigadors com Bobrow, Feurzeig i Papert. Logo era previ als ordinadors amb pantalla i promovia la part més important de l'investigació que és facilitar l'ensenyament. Els medis han millorat i Logo ha evolucionant més de 50 anys als laboratoris del Massachussets Institute of Technology, a Boston, USA. Si volem tenir una visió una mica més realista del panorama del software actual d'ensenyament que és promogut pels Estats Units (ja que també hi ha altres iniciatives privades i d'altres mercats de l'ensenyament) també hem de tenir en conta que Scratch v1.4 té dos families de versions posteriors a la que fem servir aquí. Una és feta sota tecnologia Adobe (Scratch 2.0) i l'altre Javascript (Snap! i altres derivats). Scratch v1.4 no és solament un sol llenguatge, també té variants com BYOB i és en realitat una familia de llenguatges dins Smalltalk però aquests detalls són coneguts solament en ambient acadèmic dels EEUU i alguns altres llocs però pocs.

Scratch v1.4, a més a més, no es pot considerar de cap manera obsolet per existir Scratch 2.0 perquè Scratch 2.0 no és Smalltalk. Són coses programes molt diferents, aparentment similars i compatibles on es promou la sortida d'Smalltalk sense arribar a convèncer a molts programadors compartint el nom "Scratch". Smalltalk, sense arribar a ser Squeak i ni molt menys Scratch, ja és una familia de llenguatges no solament moderns si no que superen en molts aspectes a llenguatges que tothom considera moderns per raons de marketing com C++ però típicament a moltes escoles americanes solament es fa servir Scratch i mai farien un curs de C++ gairebé enlloc com es fa a Espanya a tot arreu per incultura informàtica simplement. Jo mateix de C n'he hagut de fer molts perquè m'els fan fer a tot arreu que trec el nas i el C s'em dona bé però m'agrada més Scratch o coses més modernes també del MIT com App Inventor 2. També he de dir que els llenguatges "per blocs" com Scratch no són substitutius d'altres d'escriure perquè resulten molt lents de programar segons el tipus de cosa que hagis de fer ja que de vegades s'avança molt més rapidament escrivint que movent blocs però Smalltalk no és un llenguatge de blocs, Smalltalk és un llenguatge d'escriure "normal i corrent". El sistema "per blocs" per altra banda, és un sistema d'entrada i no pas un paradigma. Els paradigmes que es consideren models formals de la programació són altres i no pas sistemes d'entrada. Aquests són, per exemple, l'orientació a objectes, el sistema funcional, el sistema dialèctic i d'altres o el millor de tots els models potser: ningún model. Ningún model és un model dificil de sostenir però també possible i de vegades sembla ser totalment necessari. Els models sempre arrossegen i de vegades no ens podem deixar arrossegar.

Scratch, per altra banda, es fa servir per ser senzill però segurament té molt més sentit estudiar App Inventor 2 si es vol estudiar avui en dia alguna cosa del MIT. També hi ha altres llenguatges per arrossegament de blocs similars més modernes i algunes per telèfon tàctil. No hem d'oblidar que en un dispositiu que té una pantalla en contes d'un teclat pot ser millor tocar i arrossegar que escriure amb molts dits a la vegada com fem amb un teclat i que la velocitat d'escriptura en un teclat és molt superior de moment a la de qualsevol altre sistema d'entrada popular i conegut en un ordinador. Finalment vull dir que per a mi ha estat molt gratificant poder estar amb la meva mare i presentar-li una mica alguns aspectes i dimensions de la meva feina com a programador i aquest projecte m'ha permés fer això. També l'he dedicat a una nena de la meva familia que suposo que aviat tindrà temps i oportunitat d'aprendre a programar una mica a veure si li sembla bé fer-ho.


Límits auto-imposats en aquesta publicació

Aquest projecte, per tant, serveix com exemple de programació avançada en Scratch v1.4 i excepte la robòtica crec que toca tots els seus temes. No els toca tampoc en profunditat i es podria fer un segon estudi sobre aquest entorn de programació i potser el faci un altra dia. També es poden fer videos (i alguns s'han fet) no solament del joc en si mateix, com els tres que aquí presento, si no per a ensenyar a programar però no és la meva intenció ser mestre de res i menys encara a distància, i a més a més crec que és millor aprendre tot el sol que et sigui possible aquesta mena de coses i per tant de moment no publico res.

Podeu veure que tampoc es publica el codi font i no es pot jugar. Solament veure una demostració de com funciona el joc. Molta gent no vol jugar. Solament ho vol veure i encara per curiositat. Fer que es pugui jugar per jocs en Scratch, per altra banda, suposa que teniu un teclat i moltes persones que veuen això poden estar fent servir un mòbil. Moltes són, llavors, les causes per haver-ho fet així. A més a més, per a fer un joc per mòbil millor fer servir un altra programa creador de jocs com ara App Inventor 2 però més que res la idea era fer una animació. Això de no publicar el codi ni permetre jugar també ho faig per saber qui pot ser interessat. Si no es fa la gent juga, en treu tot el profit i no diu res. Si s'em demana, a més a més, el podria donar (no el vull vendre) i fins i tot en una versió més moderna sense haver d'actualitzar aquesta web a veure si algú el vol per a què al final, en total, una vegada descarregat ningú s'el miri perquè l'ha obtingut massa facilment com fem molts continuament amb el que ens descarregem d'internet.