2009-07-18 19 views
18

Mi hijo está programando con entusiasmo juegos simples en Scratch. Sin embargo, Scratch es un entorno de programación muy simple (sin subrutinas, incluso), y puedo ver que pronto tendrá que pasar a otra cosa.¿Qué enseñar después de Scratch?

¿Alguien sabe de un buen lenguaje de aprendizaje que hace que los gráficos sean fáciles pero proporciona características de programación "reales" como estructuras de datos, funciones, matrices y listas?

Puntos de bonificación si se ejecuta en Linux (Ubuntu). Una respuesta de la forma "idioma Foo con biblioteca de barra" también es una opción.

+0

¿Cuántos años tiene su hijo? –

+0

8 años de edad, pero parece haber heredado el programador poco de mí. –

+9

Lamento escucharlo, pero todavía hay una gran posibilidad de que pueda llevar una vida productiva sin obsesionarse con Star Trek. – JohnFx

Respuesta

14

¿Qué tal lua?

Hay un buen "motor" gráfico llamado LOVE que es totalmente programable en lua. Tiene buena documentación y no es muy difícil.

También hay varios otros motores similares utilizando lua:

había otro motor 2D, pero puedo' lo encuentro en este momento, fue similar al AMOR, pero con un enfoque un poco diferente a las cosas.

Recomendaría LOVE para principiantes, ya que es muy fácil, tiene buenos tutoriales y lo más importante es que puede hacer cosas agradables de inmediato.

También lua se utiliza comúnmente como lenguaje de secuencias de comandos del juego. Por ejemplo, todos los complementos de World of Warcraft están escritos en lua, de hecho, toda la interfaz está escrita en lua. Significa que es muy fácil encontrar respuestas a preguntas relacionadas con juegos en lua. Además, si posee un juego que usa lua como lenguaje de scripting, puede agregar fácilmente sus propias cosas.

Escribí esto desde la perspectiva del juego, pero hay bastantes proyectos que usan lua como lenguaje de scripting.

También podría probar Python, pero no tiene tan buenas herramientas listas para usar y fáciles de aprender.


También aquí hay un enlace a LUA manual.

+0

lua + LOVE parece probable. El enfoque único para las estructuras de datos lo hará fácil de explicar, y las estructuras de control (aparte de las funciones) son similares a Scratch. Un definido posible. –

+0

Actualizada la lista. También puedes/debes proporcionarle una plantilla simple y tal vez algunas funciones de ayuda porque algunas cosas en la programación básica del juego no son tan "básicas", como estados del juego (introducción, juego, juego terminado, etc.) y animación. Lua es bastante dinámico, así que puedes personalizarlo para que sea más fácil y puedes proporcionar funciones que simplifiquen las cosas que son difíciles de entender para él. Yo mismo comencé a programar sobre su edad con Zbasic y más tarde con Qbasic. –

+0

Entonces lua + LOVE consigue el trabajo. Parece que lua es más fácil de aprender que Ruby, y puedes tomar el primer programa de demostración y utilizarlo como un esqueleto para algo más complejo (que es lo que tenemos hoy). Al hojear los documentos veo que también tiene un motor de física simple para la detección de colisiones y material relacionado, que también es genial. –

0

Bueno, hay venerable Logo - no está seguro acerca de las estructuras, pero te dan listas, funciones con parámetros, y los gráficos son muy sencillo . También hay muchas implementaciones buenas. Logo incluso se ha comparado con 'lisp sin todos los paréntesis'.

+0

¿Alguna implementación de código abierto de Linux? La última vez que miré, todo era material comercial. También los gráficos simples de tortuga ya no lo cortarán; necesita sprites y esas cosas. Me gusta la idea de presentar FP desde temprano, pero sé que la falta de gráficos fáciles como el espíritu lo matará a mi hijo. –

5

Eche un vistazo a Processing.

Su tour de force es gráficos, animación y manipulación visual. Se ejecuta bajo Linux, también.

Processing es un lenguaje de programación fuente abierta y el medio ambiente para las personas que quieren imágenes, animación, y las interacciones del programa. Es utilizado por estudiantes, artistas, diseñadores, investigadores y aficionados a aprendizaje, creación de prototipos y producción. Se ha creado para enseñar los fundamentos de la programación de computadora dentro de un contexto visual y para servir como software cuaderno de bocetos y herramienta de producción profesional .

5

Una revisión buen here sugiere Alice y zapatos después de Scratch - No tengo ninguna experiencia personal en el asunto, pero a partir de la revisión parecen vale la pena mirar.

+0

Alice solo tiene versiones de Windows y Apple, y no se ejecutará en Wine (aunque en teoría es Java, por lo que debería funcionar). Zapatos es definitivamente posible. –

1

Aquí hay un interesante proyecto de microsoft llamado Small Basic que es un entorno de programación bueno, simple y gratuito para el aprendizaje, basado en BASIC.

No hay puntos de bonificación debido a la falta de ubuntu, pero es una buena herramienta de aprendizaje.

+0

+1: ¡Interesante! Solo 5 MB de instalador. –

2

Scratch está escrito en Squeak (que se ejecuta en Linux, Windows y Mac) así que diré paso a Smalltalk! El único problema es la falta de un buen libro para principiantes sobre el idioma, lo cual es extraño si tenemos en cuenta sus orígenes. Sin embargo, los conceptos básicos son fáciles de aprender (casi sin sintaxis) y el entorno fomenta la experimentación.

+0

Intenté jugar con Squeak, pero no pude ver un punto obvio de "comenzar aquí" para hacer algo. El tutorial pasa mucho tiempo en una visita guiada por el entorno, que sin duda es necesaria para hacer cualquier cosa, pero una curva de aprendizaje muy empinada para un niño. –

+1

El fallo del tutorial, me temo. Pero, de manera realista, cualquier lenguaje de programación completo con un IDE moderadamente complejo va a tener una curva de aprendizaje. El salto desde un entorno como Scratch es grande. –

4

Podría ser un poco más grande de un salto, pero Python con PyGame le permitirá a su alumno hacer muchos de los mismos tipos de programas que él o ella ya está acostumbrado con Scratch, pero con un control muy estricto cómo funciona todo.

  • Pros: Es de Python, que es un lenguaje muy fácil de leer y escribir, y proporciona un entorno de programación muy rica, sin realmente ningún texto modelo requerido.
  • Contras: su SDL, que utiliza un bucle de evento que puede escribir usted mismo. Esto podría ser un gran obstáculo para un joven programador.
+0

Sí, creo que ir a Python después de un lenguaje infantil como Scratch es la mejor idea y la inversión de tiempo. Es mi experiencia de enseñar programación a mi sobrino. –

10

Si los arañazos está comenzando a conseguir un poco limitante, pero no está listo para las dificultades de la codificación editor de texto, echar un vistazo a los arañazos derivado "BYOB" (Build Your Own Blocks). En serio, convierte a Scratch en un entorno de programación grown-up con funciones (y, por lo tanto, recursividad), estructuras de datos, multihilo y ¡todo!

También está Panther, pero me impresionó menos (la creación de nuevos bloques en Panther parece requerir la codificación de su función directamente en Squeak, mientras que en BYOB puedes simplemente compilarlos en el estilo habitual de arrastrar y soltar Scratch) .

+0

No difiere mucho de Sratch, y también es una versión beta. No es una buena idea dejar que un niño aprenda una herramienta no estable. El entusiasmo se puede eliminar rápidamente. –

+1

BYOB ha cambiado de nombre a Snap, todavía está en versión beta, la interfaz de usuario carece de pulimento, pero aparte de eso, es realmente como Scratch ++. Vigilaría este juguete para mis hijos (y para mí también;) – Guillaume

0

Sugeriría usar CodingBat. Aunque CodingBat no proporciona gráficos, proporciona las "características de programación" y la práctica directa que implica cadenas, matriz y lógica. Creo que este sitio web ayuda a desarrollar la base básica detrás de la programación.

Enlace: http://codingbat.com/

Cuestiones relacionadas