December 2004 - Posts
Looking back at last years post on 2004 there is so much I did'nt manage to do and so much I did instead. Finding the time to do it all is near impossible. Getting married dominated my year and I am very glad for it :)
- Whidbey, Burton and Yukon: Going to rock 2005. For my part Burton and the Whidbey addtion of Rotor will rock. Can't wait.
- Testing, Build and Deploy: Loved working on this and looking foward to more in 2005. More on my own ideas on a build system later in 2005. Looking to do more with WIX and NSIS and some mad ideas around them later in 2005.
- Learn something new: I am great believer in that if you work your brain in different ways you will help improve different areas. For 2005 I would like to learn something not releated to my professional field, I have interests in Physics and Cognitive Biology. So for 2005 I am aiming to invest more in these fields.
- Patterns: Learn them, use them, extend them. My chant for 2005.
and onto my predictions for 2005, Scoble and Don have them so I thought I would have a go :)
- Functional languages have had some fun on the CLR. 2005 will be the year of the dynamic languages with Perl, Ruby and PHP all following in IronPythons footsteps. O'Reilly will hold a summit with the runtime teams from MS, Mono and the language camps and some major contributions will come from that summit.
- but not before Parrot shows them the way and takes a sizeable chunk of the dynamic language market. 2005 will see Parrot reach a high level and the PHP folks announcing a formal switch to it.
- MSBuild will run fully on 1.1 and SDC Build Tools will retire.
- The unit testing framework in burton will be made available standalone from TS and available to all versions of Whidbey.
- MbUnit will go opensource and rule the world.
- CruiseControl will reach 1.0 (gotta happen its so close :) and will add several features to better support MbUnit and the code coverage tools.
- A major online retailer will join Amazon and EBay in the WS provider space.
- RIA's will finally get deep into the .NET space and XAML will see a server product.
Ok so some of these are a wish list ;-) Lets see what happens, happy 2005.
Its no secret that Peli
is now working at MS so I find it interesting that the latest release of Burton now has data driven testing a la MbUnit
. Kudos to them, a sort after feature, the NUnit folks would be daft to exclude this.
Lurking in the TS news groups I noticed this link to a MS Research project called "The Fugue protocol checker"
. From what I can gather Fugue is a little like a static checker like FxCop in that it checks your code before runtime against a set of rules that you specify. Fugue however checks the order of your code, the example in the whitepaper is calling connect in socket code before calling send or recieve etc. This tool would be a great addition to the current crop of code tools in helping improve code and reducing defects and can be downloaded here
I hope you all had a great Christmas break (or just holiday break), as I mentioned previously I'll be back at work tommrow so today I need to get my brain warmed up :) My ol buddy John Lim has an interesting link
to a new PHP compiler for .NET
. With the IronPHP project also aiming to run PHP on the CLI it will be an interesting exercise to see how well this works, where the failures are and what the performance is like. The project seems to be a research project at the moment, it would be great to see the project go open-source so that the lessons they authors have learnt can be shared and we can further improve the CLI as a community. I would love to see this running on Mono, in theory its possible.
Before I catch some zzzz I figured I would post something on Xamlon's announcement that they have preview versions of XAML for Flash and CF. Xamlon staffer Robin Debreuil has the news
. Robin has stated that the product will allow for Flash applications to be coded in XAML and any language you choose as long as it compiles to the CLR
(a la C#, VB.NET etc etc). Been saying it for a long, long time and it will be interesting to see what this means for Flex and Laszlo. No longer will this mean that a developer will need to use scripting language such as AS when they can use the same language they have always used, day in, day out. Some notation that Xamlon may aim for Mono too, again what this means for everybody else in the space will be interesting to see. Would love to see a server product from Xamlon for XAML/Flash and XAML/Avalon delivery.
Some discussion on unit testing with XAML
, I lack the time to look into the depths of the product my self but with a trappable event model it would be a matter of hooking NUnit/MbUnit up (as seen in NUnitForms or NUnitASP). If I ever find the cycles I'll see what I can muster up.
Some great feedback on my Patterns post, keep it coming. One resource I did find from exploring the links is this resource on pattern books
. What pattern books/resources are you using? A great resource for me is the MSDN Architecture site,
lots of great resources. A good roapmap to patterns and roles
can also be found here.
Been meaning to post this for quite some time but never got around to it. Robert had a post on a new language specification
by Erine Booth,
the language is called G#
. Running under the CLR the language provides a means of doing aspects directy from the language. Its an interesting idea and what would be great to see now is an implementation of the language to see where it can go. I have my own ideas on this might be achieved. I don't favour a compiler doing this work has its not something could be done easily with IL, a better approach may be to provide some IL extensions and in turn runtime macros's. Something that could be added to Rotor or Mono with a little work. The purpose of the extended IL ops would be to allow portions of the other IL ops to be overwritten. The macros would be driven by this, altering the shape of the final opcodes before compile or JIT. Of course to take advantage of these runtime services the G# compiler would need to compile its syntax to the IL opcodes but the compilation would be a fairly stright foward one. These are just some high level ideas, would be interesting to see where it could go.
Or just a happy holiday :) Some of my fellow work devs are taking a well earned break over the holidays. Beyond the normal bank holidays I will be cutting the slab working out a few ideas and concepts ready for everbodies return.
Wayne Allen left a comment in my previous post on patterns
I wanted to cover that here. Wayne made a few interesting points.
- Patterns are moving beyond a hot topic to assumed knowedge
- Patterns are a way of communicating a design
- Pattterns are a way of thinking
All valid points. I see Patterns as all these things but I would not say that all developers think in Pattern terms nor know all the patterns to say to all other devs, I code to these patterns. I would say that a learning curve still exists and by learning devs take a view on a design and on the code the develop. By learning devs can see where a design fits and how they might refactor code to that pattern. In BPUF to Agile, patterns just let you see a way of shaping some code beyond the means normally available. It would be great to see some tool support in patterns, prehaps just some simple templates to provide a basis to code to.
Me and one of the folks I work with are as a side project looking at using Subversion. One of the things we are looking to do is create web service hooks into the subversion API using .NET. To create .NET bindings there are a few methods, use the C++ binding
or this C# binding
that uses Interop. You could use SWIG to create a C# wrapper but as stated here its not that simple
. The C++ binding approach also has draw backs
but you may not want to use Interop.
Steve Cook has a post on Language Gaps
in which in points to post by Martin Fowler on a MetaProgramming System
who in turn points to article by JetBrains Sergey Dmitriev
. As you can see its a long thread thats being picked up by some key players in the space and as with my last post you owe your self to keep up.
More Posts Next page »