Escribiendo un Intérprete en .NET (Parte 10)

Anteriores posts de la serie:

Escribiendo un Intérprete en .NET (Parte 9)
Escribiendo un Intérprete en .NET (Parte 8)
Escribiendo un Intérprete en .NET (Parte 7)
Escribiendo un Intérprete en .NET (Parte 6)
Escribiendo un Intérprete en .NET (Parte 5)
Escribiendo un Intérprete en .NET (Parte 4)
Escribiendo un Intérprete en .NET (Parte 3)
Escribiendo un Intérprete en .NET (Parte 2)
Escribiendo un Intérprete en .NET (Parte 1)

Hace unos meses que no escribo en esta serie, pero es porque he directamente escrito varios intérpretes, usando TDD, y haciendo “commits” prácticamente por tests en mi cuenta de GitHub, siguiendo las ideas de esos posts.

Intérpretes que estoy escribiendo, parecidos al descripto en los posts, son:

PythonSharp (ver los commits) (lo presenté en la PyCon Argentina 2012)

RubySharp (ver los commits)

Y para un ejemplo de un lenguaje diferente, vean una implementación de Clojure que estoy escribiendo en C#:

ClojSharp

Por ejemplo, hoy escribi un nuevo verbo de ClojSharp, la que se llama “let special form”, tienen los commits por tests de hoy:

https://github.com/ajlopez/ClojSharp/commits/master

Pueden ver uno en:

https://github.com/ajlopez/ClojSharp/commit/51c678ece96d6d1cef92f36afda8d8fc711ffd8c

donde GitHub nos muestra los cambios en el código.

Otro ejemplo, lo que hice ayer, test por test, en RubySharp:

https://github.com/ajlopez/RubySharp/commits/master

Espero que estos ejemplos les sirvan para ir viendo cómo se puede usar TDD para este tipo de proyectos. Tengo más ejemplos de otros tipos de aplicaciones en mis posts de TDD.

Nos leemos!

Angel “Java” Lopez
http://www.ajlopez.com
http://twitter.com/ajlopez

This entry was posted in 11699, 1389, 15035, 5374, 8870. Bookmark the permalink.

One Response to Escribiendo un Intérprete en .NET (Parte 10)

  1. Fernando says:

    Muy bueno Angel! Al leer los test me parece como si contaran la historia de como la aplicación fue creciendo orgánicamente.

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>