The Birth of Pseudo.Net
Back in my Java days, when .Net was just out in beta, I played with the idea of a GUI tool that would allow you to quickly design the structure of a class heirarchy that could then be written to code in any language.
The idea was somewhat inspired by the UML editors. Though with most UML tools, building a model is at least as tedious as typing out the structure in code. So the GUI approach was doomed from the start.
Then I got the idea, why not make a short-hand code, where you can specify any types like you would an interface, just structure no implementation details... And the first version of "Pseudo code" was born.
Since then, it's grown to encompass almost all structural design types and features supported by .Net. The Pseudo.Net language evolved into a language that is very similar to C#, with the most notable exceptions that all type memebers are defined as they are in interfaces, and Pseudo.Net property declarations look like C# field declarations. In fact, Pseudo.Net supports C# keywords to ease the learning curve (which is not significant), though there are many single character keywords to further speed the use of the language once you are familiar with it. For instance, you could define a class like the following:
The short-hand characters for access modifiers was inspired by UML, though UML doesn't represent all the modifiers that are possible in .Net. So with access modifiers, public = '+', private = '-', protected = '#' and internal = '*'. There are also short-hand characters for inheritance modifiers, member scope modifiers, operation modifiers and operator modifiers.
The whole purpose for Pseudo.Net, is so that when you know what your model will be, or have a good idea what it will be, you can get it down as quickly and easily as possible without typing lengthy constructs in a specific language or building complex diagrams that may or may not translate to code. The only downside to developing your model with Pseudo.Net is that it's not visual like UML. But with it's concise structure, it's much easy to visualize than full code in another language.
The benefits include speed of development and the fact that tools that use Pseudo.Net can render your model in almost any language. Skeleton Crew already supports several renderers including C#, VB.Net, Java, SQL & XSD. Plus, by serializing the model to XML, Skeleton Crew's XSLT renderer can render your model with your own custom XSLT XML Style Sheet to produce output in any language you choose.
For more information on the Pseudo.Net modeling language, please visit our language reference page.
Tools that use Pseudo.Net