15+ years programmer, architect.
XSLT expert; C# proficient.
Dropped out of design school to work at my father’s IT startup (remember Microsoft FrontPage?). Taught myself HTML, CSS and XSLT (my first lang). Learned VBScript to do XSLT on the server (remember MSXML?). Then JScript and eventually C# (Visual Web Developer 2005). Used WebForms for a couple of years until I realized how horrible it is beneath its shiny appearance.
Because VWD only supported Web Sites, I learned how to invoke
csc.exe to create class libraries.
C# 3 was an exciting release, it made me stick with the language. Add to that MVC 1, and there was hope again.
Created DbExtensions to simplify DB programming, still using it.
After many years I decided I was done with MVC and all its inherent complexity. At the same time, MVC was full of useful features, so I created MvcPages using Razor (similar to Razor Pages in ASP.NET Core, but 5 years earlier).
Using MvcPages for a couple of years was very enjoyable and productive, but Razor started to show its limitations. Razor is great for what it was designed to do, but it wasn’t designed to do much. If I was to fully embrace the pages model I needed more than a simple template engine. Inspired by XSLT 2 and 3, I created XCST.
Packages in XCST are based on packages in XSLT 3, which was not complete at the time. Reported several bugs/suggestions to W3C, e.g. when using a package, accepted components are private by default, thanks to me :)
XCST is the culmination of a decade-long search for a sane, sensible, enjoyable and healthy language for application development, optimized for extensibility, composibility, reusability and markup.
Programming is hard because we don’t have the right tools. Even new technologies are based on old ideas. Code is not the answer, it’s the workaround. Classes is where code goes to die, where knowledge goes to waste. We spend too much time dealing with tools, writing code that gets rewritten after a couple of years. Declarative is the answer.
Get in touch
If you’d like to show your appreciation you can donate.