/// Saturday, November 12
ne paroli Esperanto
i don't speak Esperanto...
I remember chatting with ckknight in the IRC and he brought up the Esperanto language. He typed a few phrases and translated. Wow! I didn't really say that but it was interesting. The moral is I didn't know anything about the language, and with the help of a translator I was able to comprehend the sentence.
Boo has a fantastic extensible compiler. The InjectCode attribute I've been writing about has many possibilities. Yet, I doubt it will get much use outside my projects. If the C# compiler allowed something like InjectCode, there would be some interesting projects around it. C# has partial classes which functionally is what InjectCode does. It builds a partial class in memory at compile time. The important difference is by using InjectCode a source file becomes multi-lingual in the computer language sense. C# only understands C#. InjectCode has the potential to understand any language whether it be in XML, XMI (UML), SQL, etc with the appropriate translator (ICodeBuilder).
No programming language or approach has yet solved the dilemma of how to get every member of a team---DBAs, visual designers, coders, architects, analysts ...---to seamlessly work together. Some, like MDA zealots, believe that creating one visual language is the solution. A picture may be worth a thousand words but it takes a thousand pictures to explain the low-level details of an application. I may be reaching here but I think a multi-lingual language that allows each specialist to speak in their domain language may be a big stepping stone in harmonious development. For example, imagine injecting an analyst's use-case constraints directly into a class or method? Yes, some UML tools do that but it's an external, not integrated process. Good IDEs come close to being a multi-lingual language as they can draw forms, create HTML, etc but they're still well-coordinated individual pieces.
Hmm...maybe it's time to go back to college and do some graduate work.