¿Los mejores idiomas para enseñar a un adulto ciego los conceptos básicos de la programación? [cerrado]


Tengo un amigo que es ciego y quiere aprender a programar. También soy ciego, pero me enseñé a programar en una computadora vieja con una versión de gwbasic y un libro de audio escrito en 1980 que ya no está disponible, por lo que la forma en que aprendí no es una opción. He mirado preguntas similares, pero tengo algunos requisitos únicos:

  1. He descartado python como una opción obligatoria al menos inicialmente debido a su uso de sangría.
  2. Los programas en el idioma deben ejecutarse fácilmente como una aplicación de consola, las gui no son buenas para programadores ciegos principiantes.
  3. El lenguaje debería ser utilizable con cualquier editor de texto y una línea de comandos, los IDE son a menudo inicialmente difíciles de usar con un lector de pantalla debido a la cantidad de opciones que tienen.
  4. El idioma necesita tener buenos tutoriales electrónicos; no puedo pasar tiempo enseñando a esta persona todo lo que inicialmente necesita saber, aunque puedo ayudar si tienen problemas.
 32
Author: Brandon Wamboldt, 2009-01-10

8 answers

¿Por qué no Ruby?

  • Su línea de comandos orientada
  • Se puede escribir en cualquier editor de texto
  • Sintaxis / paradigmas muy sencillos
  • Toneladas de documentación / tutoriales en línea

Me parece una buena opción. http://www.ruby-lang.org

 16
Author: Derek P.,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-01-10 06:58:49

El Lenguaje de programación Lua también podría ser una buena opción. Spencer tuvo una buena idea señalar que la verbosidad puede ser una ventaja aquí, los idiomas que usan muchos símbolos pueden ser molestos cuando se hablan en voz alta.
Lua core es simple, la sintaxis es agradable, favorece las palabras clave sobre los símbolos ("y/o/no" vs."&&||!", funciones etiquetadas explícitamente, do ... end en lugar de brackets blandos). Como la mayoría de los buenos lenguajes, solo necesita un buen editor de texto y tiene un compilador de línea de comandos (para todo tipo de plataforma).

Hay un buen Manual de Referencia y la primera edición de un excelente libro sobre Lua (por uno de los desarrolladores) está disponible en línea, mientras que la segunda edición (dirigida a la última versión) está disponible como archivo PDF.

.

Comencé a aprender JavaFX con un tutorial bueno y progresivo ( Experimentos con JavaFX Script ) y aunque este lenguaje está principalmente orientado a efectos visuales y GUI, los pocos que he visto hasta ahora funcionan bien en la línea de comandos, y muestra mensajes detallados en caso de errores de sintaxis, que podrían ayudar a los principiantes:

Prueba.fx: 15: Lo siento, estaba tratando de entender los parámetros de un declaración de la función pero tengo confundido porque se em tener perdido') ' que es una puntuación personaje que debería estar ahí.
función Dist2(x1, y1, x2, y2
espacios para alinear flecha ------> ^ 1 error

Al igual que Lua, utiliza más palabras clave que Java ("function", and/or / not) mientras todavía se usan llaves suaves. Su inferencia de tipo (menos declaraciones de tipo) es agradable para principiantes.

 6
Author: PhiLho,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-01-10 09:59:20

Voy a empezar mi sugerencia diciendo que soy una persona ciega aprendiendo a programar, así que sé algo de la situación. Digo eso porque probablemente pensarás que mi sugerencia es un poco una bomba:

Ir con C o C++. Estoy aprendiendo c++ como mi primer idioma. Hay montones y montones de tutoriales, mucha gente lo sabe así que puede proporcionar ayuda, y es definitivamente editor de texto y línea de comandos amigable. Usted puede tomar totalmente C y c++ y escribir código recto en algo como TextPad, bloc de notas o EdSharp y luego dar la vuelta y compilarlo en una línea de comandos de inmediato. También te enseña mucho sobre cómo funciona realmente la programación porque puedes ser de alto nivel con ella o de bajo nivel con ella. Muy flexible. Para demostrar que se puede hacer, este es el camino que he recorrido con c++ durante las últimas 3 o 4 semanas mientras lo aprendo por mi cuenta en mi tiempo libre mientras mi esposa y mi niño duermen.

Empecé usando el bloc de notas con el compilador MinGW y la línea de comandos para mis primeros programas usando los tutoriales iniciales en www.cplusplus.com. Utilizo Jaws para Windows como mi lector de pantalla con el nivel de puntuación establecido en todo lo que, para aquellos de ustedes que no requieren un lector de pantalla, significa que escucho cada

Luego migré a usar EdSharp, que es un editor de texto escrito en c# por un desarrollador ciego con excelentes características de accesibilidad integradas en la aplicación. Su estudiante puede usar cualquiera de los dos con bastante facilidad y ambos son gratuitos. Ahora me estoy familiarizando con Eclipse y Visual Studio para ver cuál se adapta mejor a mis necesidades, ya que realmente , eventualmente, necesita migrar a un IDE si va a hacer algo verdaderamente sustancial. Estoy trabajando mi camino thourhg Pensando en C plus plus por Bruce Eckle, todo un honor para él por un gran libro tan generosamente ofrecido de forma gratuita.

Lo que recomiendo encarecidamente en contra es ir con cualquier cosa que sea demasiado oscura, tonta, ETC. Ve lo más convencional que puedas. De esta manera puedes soltarlo rápidamente. Suscríbalo a la lista de correo de programadores ciegos y pídale que visite el sitio web de desarrollo no personal dirigido por Jamal Mazrui en: http://testsite.blind-planet.com / . Lo hará bien.

Ho-Lamat hun-lahun Uoo

 5
Author: Ho-Lamat,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-07-18 06:52:34

Sin ninguna experiencia directa yo mismo supongo VB.Net sería un gran idioma para empezar. Primero tiene un compilador de línea de comandos, es capaz de escribir aplicaciones de consola, es muy detallado y su tecnología actual por lo que hay un montón de tutoriales electrónicos disponibles en toda la web.

Encontré un tutorial rápido sobre cómo escribir un sencillo VB.Net aplicación con un poco de búsqueda en Google: http://visualbasic.about.com/od/learnvsnet/l/blecvbnet10201.htm

 4
Author: Spencer Ruport,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-01-10 06:59:47

Es posible que tenga que mirar los proyectos que T. V. Raman está trabajando y también tal vez las herramientas que está utilizando. Aparte de eso, me había encontrado con este proyecto llamado Voicecode (Página del proyecto, Homepage), que está diseñado específicamente para programadores ciegos. Voicecode afirma que puede programar en cualquier lenguaje, python y C,C++ utilizando sus herramientas.

Si Voicecode funciona para usted, entonces python podría ser un buen lenguaje para comenzar. También si la persona es un principiante en programación, entonces sugeriría C o Python como lenguajes para iniciarlo. C es un lenguaje muy pequeño, fácil de dominar. Python no entra en tu forma de pensar.

Por cierto, por favor, háganos saber lo que encontró adecuado. Podría ser útil para alguien más también.

 4
Author: Senthil Kumaran,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-01-10 10:48:29

Creo que Vbscript / VB.NET es una buena elección. No hay tantos caracteres especiales, se pueden ejecutar y compilar desde el bloc de notas, etc. ( Vb.NET puede ser un poco complicado para la primera configuración, pero tal vez con el soporte de snippet compiler...).

Generalmente sintaxis fácil sin demasiados caracteres extraños, también VB es generalmente adecuado para principiantes. También es insensible a mayúsculas y minúsculas, que debería hacer que sea un poco más fácil jugar con (especialmente mientras se escriben funciones, etc.).

 1
Author: dr. evil,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-01-10 11:33:14

¿No hay manera de que pueda obtener un audiolibro BÁSICO y dejar que comience a hackear su camino a través de BASIC?

Creo que proporciona la sintaxis más detallada de todos los idiomas, para fomentar el uso de lectores de pantalla. Y, si se usa correctamente (sin goto y otras prácticas traviesas) es un lenguaje maravilloso para aprender como un primer temporizador (como Python y C están descartados).

 0
Author: Manuel Ferreria,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-01-10 11:39:09

En función de sus requisitos iniciales, recomendaría un idioma con una consola interactiva. Esto tiene la ventaja de escuchar la respuesta del ordenador tan pronto como pulse intro. Ruby podría ser una de esas opciones. Si tu amigo está usando Windows, aprender PowerShell podría ser una buena ruta.

Finalmente, podría considerar HTML/Javascript. Mi razón para sugerir esto es que muchas personas se motivan a aprender compartiendo su trabajo inicial. Es mucho más interesante compartir un sitio web dinámico básico que una aplicación de consola que requiere que el otro usuario tenga un interpretador.

 0
Author: Saqib,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-01-17 19:00:24