programming-languages - móviles - programacion movil pdf
Crear un lenguaje de programación móvil (12)
Básico es muy fácil.
Me mantendría alejado de lisp. A menos que quiera darles a sus usuarios de dispositivos móviles un dolor de cabeza además del dolor de cabeza que tienen por las ondas de radio.
Estoy pensando en crear un lenguaje pequeño que sea muy fácil de escribir en un teléfono móvil (J2ME). ¿Cuál es el lenguaje más apropiado para implementarlo con el fin de ejecutarlo dentro de un teléfono móvil (siempre j2me)? Significado apropiado, sintaxis pequeña / fácil, fácil de escribir en un teléfono móvil.
¿Es lisp? Algún tipo de Basic / Python / Ruby (creo que no ...)? U otro nuevo (¿puedes proponer una nueva sintaxis?)?
Creo que el diseño del editor sería la consideración más importante, no el idioma. Por ejemplo, apoyar algún tipo de autocompletado tipo "intellisense" sería vital para guardar pulgares. Algún tipo de sensibilidad del lenguaje en el editor también ayudaría mucho. Por ejemplo, cuando un usuario de C escribe "para" la función de autocompletar debe mostrar una opción para completar la sintaxis de un ciclo:
for (;;) {
}
Cuando empiezo a soñar con un idioma, pienso en qué características son importantes para mí en el momento en que estoy soñando. Solo una vez que descubra qué características son importantes para usted, puede encontrar la mejor respuesta a la sintaxis. Por ejemplo, si desea parámetros con nombre, influye mucho en su elección de diseño sobre cómo se ven las llamadas a los métodos (a la Objective-C o Python).
Diseñar un idioma puede ser una tarea realmente divertida. Te animo a dar un paso atrás y preguntarte "¿Realmente me gusta cómo se hace esto en X?" (sustituyendo el nombre de un idioma). Si eso es algo que siempre ha amado, robarlo . Si no, busca en otro lado. ¡Crea tu mashup definitivo de lo que amas y deja de lado lo que odias!
Lisp sería difícil de escribir debido a todos los () s, aunque la respuesta de joel.neely demuestra una forma de evitar ese problema.
Por lo tanto, si desea utilizar un idioma existente, es posible que desee ver cuáles utilizan caracteres menos inusuales.
Luego está el problema del tamaño de la pantalla. Mientras más detallado sea el idioma, menos código podrá incluir en la pantalla de una vez. ¿A qué tipo de dispositivos estás apuntando? Los teléfonos inteligentes con pantallas grandes (una audiencia limitada) o teléfonos con características de 240x240 píxeles?
Tenga en cuenta que el intérprete / VM para su idioma tendrá que caber en una pequeña cantidad de memoria y el rendimiento puede no ser muy bueno.
Si incluye soporte de editor (estructuras de anidamiento, visualización con sangrado, balanceo, ...) entonces sería relativamente sencillo implementar y usar alguna forma de LISP. He visto capturas de pantalla (pero no las puedo encontrar ahora) de un lenguaje basado en LISP para la programación de rendimiento interactivo en vivo. Usó áreas rectangulares con sangría y muescas en la pantalla (en lugar de paréntesis) para mostrar la anidación de la estructura.
No estoy seguro de qué es fácil de escribir en un teléfono móvil, pero el idioma que conozco con más poder de cómputo por personaje es APL . Como fuente de ideas sintácticas o de diseño, puede preferir su sucesor moderno, el lenguaje de programación J.
En un teléfono móvil, también debería considerar idiomas como Scratch (smalltalk), porque la interfaz sin escritura sería fácil de usar.
También en los teléfonos inteligentes con capacidad de arrastrar y soltar, sería algo bueno.
Por otro lado, el IDE sería mucho más pesado en CPU y otros recursos.
Brainfuck tiene solo 8 caracteres, muy fácil de escribir en un teléfono móvil.
Por supuesto, entender y hacer cosas con eso ... no es tan fácil. Pero satisface el requisito ...
Forth generalmente se considera un candidato legítimo para este tipo de requisitos. Y es tan escueto como se puede imaginar. Extensible, pequeño y maleable. Editor de pantalla pequeña incorporado, también.
Es posible que desee consultar Hecl: http://www.hecl.org/
Soy el autor de tal lenguaje: Hecl, en http://www.hecl.org . Para hacer más sencillas las aplicaciones, también creé un sitio donde puedes crear aplicaciones simples a través de una interfaz web: http://www.heclbuilder.com . También escribí un artículo sobre la implementación del lenguaje:
http://www.welton.it/articles/hecl_implementation
Otros lenguajes que vale la pena considerar incluyen Lua y Javascript, que tienen implementaciones móviles.
Si quieres supercompacto, prueba nano-False http://www.aldweb.com/pages/winikoff/#false
No es muy útil, aunque más que el deliberadamente doloroso Brainfuck y Whitepace. Piénselo como Forth con la sintaxis fácil hecha más concisa ;-)
Encontré Quartus Forth razonablemente fácil de usar, siempre que pueda pensar en montones, y con más soporte Intellisense para la API hubiera sido mucho más productivo. Para prototipar pequeños algoritmos en la Palm, preferí Plua o Lispme . El entorno LispMe vale la pena estudiar de todos modos porque proporciona un buen uso de las listas para encontrar palabras clave y facilita la programación de la GUI.
La gran decisión que debe tomar es si espera que los usuarios simplemente usen un teclado numérico o que puedan escribir aproximaciones razonables para un teclado completo. Uno de los grandes beneficios de Palm fue la alta calidad de los teclados plegables de tamaño completo que lamentablemente extraño (y espero que alguien haga un accesorio de iPhone para conectarse). Si no tiene un teclado completo, utilice selectores para verbos para que puedan usar acciones de selección en lugar de tener que escribir palabras. Considere la cantidad de código escrito en el código tradicional para las clases y métodos de framework en comparación con el código de usuario.