211service.com
El nuevo lenguaje de programación facilita la codificación de aplicaciones sociales
Si bien solo se necesitan algunas pulsaciones de teclas y clics del mouse para publicar un tweet en Twitter o ser amigo de alguien en Facebook, es posible que se requieran miles de líneas de código para realizar la tarea.
Perro , un nuevo lenguaje de programación, podría hacer más fácil e intuitivo escribir todo tipo de aplicaciones sociales, desde sitios de preguntas y respuestas de igual a igual hasta citas en línea. Y debido a que Dog incorpora lenguaje natural, esto puede facilitar que los novatos también aprendan a codificar.
MIT Media Lab professor Sep Kamvar , que desarrolló Dog con la ayuda de algunos estudiantes graduados, espera lanzar el idioma en una versión beta privada en los próximos meses y ofrecer un lanzamiento público en la primavera.
Dog surgió de la frustración de Kamvar con los lenguajes de programación existentes, como Java, que consideró que eran innecesariamente difíciles de usar para escribir códigos que rigen las interacciones sociales. Las cosas que eran fáciles de describir en inglés, como un comando para notificar a una persona de algo, tenían que pensarse en términos de almacenamiento de datos y protocolos de comunicación cuando se sentaba a escribirlo en código.
Tuve que escribir código en un nivel de abstracción más bajo del que tenía que pensar sobre las interacciones, dice. Entonces pensé que sería interesante comenzar a escribir un lenguaje de programación que me permitiera escribir al mismo nivel de abstracción que creo.
Kamvar comenzó a trabajar en Dog definiendo los desafíos específicos que tiene con los lenguajes de programación tradicionales al crear aplicaciones sociales, que incluyen identificar a las personas, hablar y escucharlas. Se le ocurrieron algunas ideas para resolver estos problemas con un nuevo lenguaje de programación; por ejemplo, para facilitar la identificación de personas, convirtió a las personas en un tipo de datos básico que el lenguaje podría reconocer, al igual que otros lenguajes reconocen cadenas de texto o números enteros. .
Luego, creó una sintaxis simple en torno a estas ideas que usa lenguaje natural (ya que el lenguaje se ocupa de la coordinación y la comunicación con las personas) y se centró en un pequeño conjunto de comandos muy claros: preguntar, escuchar, notificar y calcular. Una línea de código de muestra en una aplicación de noticias sociales simple dice, ESCUCHAR PERSONAS DESDE mit VIA http PARA publicaciones, lo que haría que la aplicación monitoreara la Web en busca de actualizaciones de un grupo de personas afiliadas al MIT.
Si bien todas estas cosas se pueden hacer en otros lenguajes de programación, Kamvar sostiene que, en general, no es muy fácil. Y los usuarios pueden importar funciones de otros lenguajes de programación, dice Kamvar, por lo que el diseño de interacción y los procesos sociales se pueden escribir en Dog mientras que otras funciones se pueden escribir en otro lenguaje.
Durante el año pasado, Kamvar y los estudiantes desarrollaron el compilador Dog, el software que convierte el código en una tarea que ejecutará una computadora, y escribieron programas de demostración en el idioma para probarlo, como un servicio de noticias similar a Twitter. Uno es una plataforma de enseñanza y aprendizaje entre pares llamada Karma que funciona dentro de la red social extendida de un usuario; Se espera que esté disponible públicamente el próximo verano.
Dog será gratuito y de código abierto, por lo que los usuarios podrán agregarlo y modificarlo como lo deseen. Y aunque Dog es un lenguaje del lado del servidor, lo que significa que se basa en enviar datos a un servidor para ejecutar tareas, el grupo también está creando una versión del lado del cliente.
Es probable que Kamvar se enfrente a algunos escépticos de los perros, como Robert Harper , profesor de informática en la Universidad Carnegie Mellon que estudia la teoría del lenguaje de programación. Si bien Harper dice que tiene sentido crear lenguajes que sean más fáciles de entender para los que no codifican, no ve la programación para la informática social como un nicho que deba llenarse. Y aunque un lenguaje como Dog puede comenzar orientado hacia un tipo especial de codificación, invariablemente te involucras en problemas más complejos, y si estás usando un lenguaje que está codificado para escenarios estereotipados, rápidamente se rompe, dice. .
Si bien Kamvar enfatiza que no ve a Dog como una programación en lenguaje natural en la línea de, por ejemplo, Wolfram Alpha o Inform 7, la inclusión de frases en lenguaje natural debería hacer que Dog sea más fácil de entender por los no programadores, como los diseñadores de interacción o gerentes de producto en las nuevas empresas, que a menudo tienen ideas sobre lo que se debe hacer, pero luego deben esperar a que un ingeniero de software realice esos cambios en el código de la empresa.
De manera más general, Dog podría simplificar la programación o al menos comprender lo que sucede entre bastidores en un sitio web. A pesar de la atención prestada a las nuevas empresas de aprendizaje de códigos en línea como Codecademy, no se ha prestado mucha atención al hecho de que la programación puede ser más difícil de lo que debe ser, dice Kamvar.
Tal vez esa atención debería dirigirse hacia el diseño de lenguajes de programación que sean inherentemente más fáciles de aprender, pero que aún tengan fuerza industrial, dice.