Monday, June 05, 2006

Dreaming About An XML Based Pre-Processor for Dotnet

A good concept I had in my mind is developing a pre-processor for .NET compilers, to convert an XSD data structure definition in a VB or C# source code file to equivalent code. Right now, if I need to specify and use a data structure in XSD,

  • First of all, I have to create an XSD schema
  • Use xsd tool or xsdobjectgen to map it to a set of classes or the Document Object Model.
  • Use the DOM in my project

I suggest, Microsoft may soon think about allowing developers to embed XSD definitions with in the source code, so that we can create objects of the XSD schema definition with out going through the above processes. Some kind of embedded XSD?

This will allow developers to define data structures using XSD, directly in their source files, and create and use instances of the same. I dream about writing something like this in a VB.NET source file in the near future.

public class FutureClass

<xs:element name="PersonType">
<xs:complexType>
<xs:attribute name="Name" type="xs:string" use="required" />
<xs:attribute name="Address" type="xs:string" />
</xs:complexType>
</xs:element>

private person as PersonType

Sub New()

        person= new PersonType()

        person.Name="Anoop"

End Sub

End Class

Probably I am a little bit over ambitious, but I hope you got my point. But anyway, I'll consider developing a .NET pre-processor which can parse the code above, when I get some time. Err.. Who Knows? Whether something like this is already available?

Continuous Integration

These days, more and more companies are adopting continuous integration strategy for developing software applications. Continuous integration involves, putting a build server to build your projects periodically.

  • In this way, builds can be automated
  • Even clients can track the progress of the project and have a preview of the project by using the latest builds.
  • This helps the clients to track the progress of the project.

Continuous integration prevents any last minute hassles in a project. When ever some code is changed, if there is some problem, it breaks the build and a warning regarding the incompatible code can be obtained.

However, you need to put a dedicated build server for implementing Continuous Integration.

Some tools that you can use to implement Continuous integration. See more details about Continuous integration here - at Martin Fowler's site. http://www.martinfowler.com/articles/continuousIntegration.html

3D Programming In VB.NET

Interested in some 3D programming? Now you can use Open GL from VB.NET very easily, thanks to the CsGL library [CSGL Homepage]/ - which is a set of classes which wraps Open GL to use it from .NET. You may download the CsGL library binaires from here

If you need to grab some object oriented concepts in VB.NET, before you begin, have a look at my VB.NET article here.

Also, have a look at an interesting article here at OnDotNet.com, for a detailed discussion regarding using Open GL with VB.NET

An XML based programming language

I recently found an interesting 'language' from http://xplusplus.sourceforge.net/ - X Plus Plus - which is an object-oriented language that is entirely based on XML's syntactical structure. I had some thoughts about developing a language like this long back, but I felt that XML is not so powerful when it comes to expression handling and evaluation. Just think how much difficult it is, to represent an expression, purely in XML? I just had a quick look at X++. Have a look at it, and it may trigger some new concepts in you.

Articles - Design Patterns, Neural Networks, C#, Programming