This post originated from an RSS feed registered with .NET Buzz
by Peter van Ooijen.
Original Post: Lego, Components, Denmark and Computer Languages
Feed Title: Peter's Gekko
Feed URL: /error.htm?aspxerrorpath=/blogs/peter.van.ooijen/rss.aspx
Feed Description: My weblog cotains tips tricks and opinions on ASP.NET, tablet PC's and tech in general.
This holiday my family re-visited the original LegoLand amusement park, next door to the Lego factories in Billund Denmark. It was just great. My kids, as well as their mum and dad, were Lego aficionados already and this visit further increased our addiction. The word Lego is an abbreviation of lek god (forgive my Danish) which means play good.
Building software from components is often compared to building an application from Lego bricks. There are indeed quite a number of similarities:
The number of different building blocks is limited. Over the years the number has grown, but most new parts are variations of existing bricks.
The number of interfaces to click bricks together is very limited. There is only one size of hole and knob.
The bricks have very distinct ratios. Because of the universal "click-together-interface" the number of ways you can click bricks together is gigantic
Visiting LegoLand made me aware of another similarity. The park has a high variety of themes. Central are adventures and stories you play with creations built from Lego. Sets often come with little story books which remind me of story cards in extreme software development methodologies. The essence is not about the components, it's how the components play a part in a good story.
Besides Lego Denmark is world famous for great Computer Language creators. Both Anders Hejlsberg and Bjarne Stoustrup were born and educated in Denmark. Before (amongst other things) creating C# Anders made Pascal into Object Pascal. Bjarne created C++ out of of C. So both created object oriented languages which were meant to be productive. Not about metaphors of sending messages but about interfaces and (hidden) implementations. Exactly what you need to build components. Is it coincidence that such a small country (Denmark has only 5.5 million inhabitants) "produces" several influential software creators ? I don't quite think so. A culture of great toys and a good education system makes it child's play.