My Life As A Blog

Archive for the ‘Architecture’ Category

Occasionally Connected Silverlight Applications

leave a comment »

Earlier this year, Dr Dave and I worked on a Proof of Concept with Trader Media (probably most famous for Autotrader) and Fortune Cookie.  You can read more about the project here.   The application needed to be able to cope with being disconnected some of the time.  Dr Dave and I took what we learned from this aspect of the project and wrote an article for MSDN Magazine, which you can read here.

Written by remark

June 8, 2010 at 10:01 am

Polyglot Programming at the AIC

leave a comment »

Thanks to everyone who attended my session on Polyglot Programming at AIC earlier today.  The ability to combine languages to achieve simpler solutions is worth consideration, although the potential downsides of adopting multiple languages need to be borne in mind.  In truth, many of us are already doing a form of polyglot programming – combining a programming language server side (such as C#) with Javascript on the client and SQL for data access.  However, this form of polyglot programming arises passively and is done because we have to and not because we have deliberately and actively selected a set of languages.  In order to be successful with polyglot programming, there are two crucial components: a platform and architecture.  The platform should provide language interoperability and the architecture should provide guidance on which languages to use and where in the architecture they are appropriate (taking into account that this guidance will evolve over time as you gather information and feedback about what really works for you and your team.)  In discussing the platform, I briefly touched on some of the features in .NET 4 and talked about the trends in language design.  I’ll be expanding on these platform themes and diving into a little more detail about .NET 4.0 at TechDays in April.

Here are the links and references I used in my session:

Nick Watts’ post on polyglot programming (I used his definition)

The definition of polyglot in the Compact Oxford English Dictionary

Neal Ford’s post on polyglot programming

Bertrand Meyer’s article on polyglot programming in Dr.Dobb’s

Information about the Babel Project at the Lawrence Livermore National Laboratory

Ted Neward’s MSDN article The Polyglot Programmer: Mixing and Matching Languages

History of Programming Languages

Hans Christian Fjeldberg’s thesis on Polyglot Programming

Dean Wampler’s presentation on Polyglot and Poly-Paradigm Programming

I also referred to Ola Bini’s idea of fractal programming.

I suggested that there are two practical areas where experimentation with polyglot programming could be beneficial with existing applications and systems:  extension and testing.  By extension, I mean the ability to customise and add functionality – which is a great fit for a dynamic language like IronRuby or IronPython.  Testing is also an area where dynamic languages have much to offer and I’d suggest taking a look at Ben Hall’s presentation that he gave at QCon earlier this year.

Written by remark

March 31, 2010 at 5:15 pm

Posted in .NET, Architecture, Design, Events

Tagged with

National Rail Enquiries Video

with one comment

Hot on the heels of the release of the National Rail Enquiries Outlook Add-In – which has made it from the Proof of concept to full blown release – we thought we’d make a video about the outcome of the Proof of Concept.  And here it is:


For a look behind the scenes (well, a couple of photos anyway) check out David’s blog.

Written by remark

July 6, 2009 at 3:31 pm

AIC 2009 Slides available

leave a comment »

As Matt announced, the slides from the Architect Insight Conference 2009 are all now online.  The keynote videos are there too.  As Marc notes, there’s something there for most architectural interests – including my session on Dynamic Languages and Architecture (with what could become my trademark use of translucent black.)

Written by remark

June 16, 2009 at 5:18 pm

Posted in .NET, Architecture, Events, Python, Ruby

Tagged with

Architecture Stuff on MSDN

leave a comment »

Maybe I should have spent more time on the title for this blog post.  Anyway, if you take a look at the Architecture Center on MSDN, you’ll see a new section about projects we have worked on here in DPE in the UK.  So, if you’re interested in some architecture stuff, I’d suggest you take a look.

Written by remark

June 4, 2009 at 1:31 pm

Posted in Architecture

Tagged with

I Know What You Did Last PoC

with one comment

Here’s a video that looks at the Intelligent Cities Proof of Concept I worked on recently.  Apparently, the beginning of the video is a little spooky…

Written by remark

May 19, 2009 at 12:40 pm

Posted in .NET, Architecture

Tagged with

AIC 2009 – Dynamic Languages and Architecture

leave a comment »

Thanks to all of you who attended my session at AIC earlier today.  The slides will be made available on line over the next week or so. 

I think the interesting capability made possible by the DLR is using static languages and dynamic languages together.  And there’s another benefit of learning a new language: when we only use one language we tend to think in that language – having other languages in our toolkit means that we have other approaches available to us.

So, where can you start to take advantage of dynamic languages?  The areas I discussed today were:

  • extending your application by adding scripting support to your application
  • configuring your application with a dynamic language
  • creating a DSL using a dynamic language
  • writing one or more layers of your architecture in a dynamic language
  • testing your application(s) with a dynamic language

Of all of these, extending and testing are probably the best places to start.

I also talked a bit about the DLR (and a couple of the Iron Languages – Iron Python and Iron Ruby) and the way that C# will be taking advantage of the DLR. It’s fascinating to see the evolution of programming languages and how the trends of dynamic, functional and concurrent programming are influencing this evolution.

Here are the links that I gave out in my session:

Dynamic Languages on .NET (

I also mentioned the Anders Hejlsberg session on the future of C# – you can watch that here – and a Channel 9 video of Anders Hejlsberg and Gilad Bracha discussing language design, which you can find here.

As part of the preparation for the session, I exchanged some emails with a few folks including Michael Foord.  For those of you who’d like to see Michael’s take on this subject, he’s posted about it here.

Written by remark

May 8, 2009 at 5:29 pm