2010-02-20 41 views
10

Estoy interesado en crear un lenguaje de programación visual que pueda ayudar a los no programadores (como niños) a escribir programas simples, al igual que Labview o Simulink permite a los ingenieros conectar bloques funcionales sin el conocimiento de cómo están construidos internamente. ¿Esto se llama programación por demostración? ¿Cuáles son las aplicaciones de ejemplo? ¿Cuál sería una plataforma ideal que me puede permitir hacer esto (puede ser una aplicación de escritorio o web)Plataforma para crear un lenguaje de programación visual

+0

¿Ha oído hablar de _Logo_ (_http: //en.wikipedia.org/wiki/Logo_%28programming_language%29_)? – stakx

+1

Ya se ha hecho - vea Scratch en http://scratch.mit.edu. y ¿qué quieres decir con "plataforma"? –

+3

Hay docenas de lenguajes de programación visuales. http://en.wikipedia.org/wiki/Visual_programming_language. Por favor, no inventes otro. Solo aprende uno que ya exista. http://www.p4games.org/ –

Respuesta

0

Si desea seguir adelante con esto, la plataforma que le sugiero es la que se utiliza para poner en práctica los arañazos (que ya hace lo que quiere, en mi humilde opinión), que es Squeak Smalltalk. El entorno Squeak fue diseñado con una programación visual explícitamente en mente. Es gratis, y la sintaxis de Smalltalk puede aprenderse en media hora. Aprender la gigantesca biblioteca de clases puede tomar un poco más de tiempo.

+0

"justo?" Ya en 1980 3/4 del libro azul se dedicó a las bibliotecas de clase y 1/4 al idioma.¿Y cuánto más grande es la biblioteca Squeak? 10x? 100x? –

+0

@Norman ¿Has oído hablar del sarcasmo suave? La biblioteca de Squeak es enorme (o como dije en mi respuesta, que parece haber leído a toda prisa, "gigantesca") y tardará un tiempo en ponerse al día, particularmente cuando se compara con la sintaxis ST muy simple. –

+0

@Neil: De hecho. Tenía la intención de dejar un comentario que dijera "solo?", Pero lamentablemente esto estaba por debajo del límite de caracteres ... la brevedad es, después de todo, el alma del ingenio :( –

4

La aventura en la que está a punto de embarcarse es el diseño y la implementación de un visual programming language. No conozco ningún buen libro de texto en esta área, pero hay una conferencia de IEEE y un diario arbitrado dedicado a este campo. Margaret Burnett de la Universidad Estatal de Oregon, que es una autoridad de gran prestigio, ha reunido un bibliography on visual programming languages; I   sugiero que comiences allí.

Puede considerar escribirle al profesor Burnett para que le aconseje. Si lo hace, espero que informe los resultados aquí.

+0

Gracias por señalarlo ... estoy intentando construirlo para una aplicación de robótica donde las personas no tiene que profundizar en las API de Robótica ... Microsoft tiene una, pero entonces ... – iceman

3

una forma restringida de la programación es de flujo de datos de programación (basado en el flujo aka.), Cuando la solicitud se construye a partir componentes por conexión sus puertos. Según la plataforma y el propósito, los componentes son simples (como un selector de ruta) o complejos (como un transformador de imagen). Hay varios sistemas de flujo de datos (solo he hecho dos), algunos de ellos no tienen editor visual, algunos solo son parte de un sistema más grande, y hay algunos que ni siquiera mencionan el enfoque. (¿Creías que hacen, MS-Excel y Unix Shell tuberías son una especie de esto?)

Todos los sintetizadores digitales modernas basadas en el enfoque de flujo de datos, hay un sorprendente ejemplo visual: http://www.youtube.com/watch?v=0h-RhyopUmc

AFAIK, no hay un sistema de flujo de datos para propósitos educativos. Para obtener más información, usted debe comprobar en este sitio: http://flowbased.org/start

0

Scratch es un lenguaje horrible para enseñar programación (soy parcial, pero echa un vistazo Pipes Visual Programming Language)

Lo que parece querer hacer parece mucho Funcional Programación de bloques (como en el lenguaje de programación de bloques funcionales IEC 61499 y otros VPL para desarrollo de mecatrónica). Ya hay una gran cantidad de investigaciones sobre VPL, por lo que es posible que desee asegurarse de que A) lo que está tratando de hacer tiene una audiencia y B) lo que está tratando de hacer se puede hacer fácilmente.

que suena un poco negativo en el tono, pero es un buen lugar para empezar a probar la plausibilidad de su idea es mediante la lectura de entrada de blog corto de Davor Babic en http://blog.davor.se/blog/2012/09/09/Visual-programming/

En cuanto a qué plataforma utilizar - se puede utilizar casi cualquier cosa, sólo asegúrese de que tiene buenas librerías gráficas (se puede usar Java con swing - si te gusta el dolor - o Python con Tkinter) sólo depende de lo que usted está familiarizado. Hemos de tener en cuenta que usted quiere poner en marcha finalmente el idioma a (si sus IOS, entonces miran usando Objective-C, etc.)

3

Hay una nueva biblioteca de código abierto por ahí: TUM.CMS.VPLControl. Consíguelo here. Esta biblioteca puede servir como base para sus propósitos.

enter image description here

5

Salida Google Blockly. Blockly permite a los desarrolladores crear sus propios bloques, traducciones (generadores) a prácticamente cualquier lenguaje de programación (o incluso JSON/XML) e incluye una interfaz gráfica para permitir a los usuarios finales crear sus propios programas.

Breve resumen:

  • Blockly fue influenciado por la aplicación Inventor, que a su vez se basó fuera de Scratch
  • App Inventor utiliza ahora Blockly
  • También lo hace la Microbit BBC
  • Blockly (?!) se ejecuta en un navegador (normalmente) usando javascript
  • Centrado en desarrolladores de lenguaje (visual)
  • idioma independiente t bloques y generadores
  • incluye Block Factory, que permite la programación visual para crear nuevos bloques (?!) - No encontré esto útil para mí ... excepto para comprender
  • incluye generadores para asignar bloques a javascript/pitón

por ejemplo, Estos bloques: enter image description here

generó este código: enter image description here

Ver https://developers.google.com/blockly/about/showcase para más detalles

Recuerdos - Andy

1

Hay Snap escrito por la Universidad de Berkeley. Es otra opción para entender VPL.

Cuestiones relacionadas