Archive for March, 2007

Episode 51: Design By Contract

Filed in Episodes by on March 28, 2007 0 Comments
Episode 51: Design By Contract

In this episode, Arno and Michael take a look at Design by Contract, a programming technique formalized by Bertrand Meyer. The idea is that an interface is more than method signatures – it is also about specifying the expected behavior that implementations must provide. While some languages include direct support for this style of programming, it is a useful mindset when desiging interfaces even without such language features.

Continue Reading »

Episode 50: Announcements and Requests

Filed in Episodes by on March 22, 2007 0 Comments
Episode 50: Announcements and Requests

This is another episode where we mainly announce topics related to the podcast itself.

Continue Reading »

Episode 49: Dynamic Languages for Static Minds

Filed in Episodes by on March 18, 2007 1 Comment
Episode 49: Dynamic Languages for Static Minds

In this Episode we talk about dynamic languages for statically-typed minds, or in other words: which are the interesting features people should learn when they go from a langauge such as Java or C# to a language like Python or Ruby. We used Ruby as the concrete example language.

We started the discussion about important features with the concept of dynamically changing an object’s type and the idea of message passing. We then looked at the concepts of blocks and closures. Next in line is a discussion about functions that create functions as well as currying. This lead into a quick discussion about continuations. Open classes, aliasing and the relationship to AOP was next on our agenda.

We then looked considered a somewhat more engineering-oriented view and looked at the importance of testing and what are the best steps of getting from static programming to dynamic programming. Finally, we discussed a bit about the current (as of October 2006) state of dynamic languages on mainstream platforms.

Continue Reading »

Episode 48: Interview Dragos Manolescua

Filed in Episodes by on March 8, 2007 0 Comments
Episode 48: Interview Dragos Manolescua

In this Episode we discuss software architecture evaluation with Dragos Manolescu, an architect at Microsoft’s patterns & practices group.

We start off the discussion by trying to define what software architecture evaluation is and when and you want to evaluate an architecture in the system’s lifecycle. We then make sure evaluators set the expectations for the evaluation process right – it is important to understand that architecture evaluation is typically not primarily a review of the technology decisions made for the architecture.

We then discuss the kinds of notations that are useful for describing architectures, and which of these are especially helpful for the evaluator. Next we look at the core of the architecture evaluation task, namely, the integration of the various stakeholders and their views. We also discuss real reviews from reviews that are staged “for show” only.

Next in the discussion is a brief look at the tools you can use for architecture evaluation, as well as a closer look at the various methods for achitecture evalualtion proposed by the Software Engineering Institute (SEI). We conclude the discussion by outlining how architecture evaluation fits into an agile development process.

… and finally, we briefly plug the PLOPD5 book, on which Dragos, Markus and James Noble have been working recently 🙂

Continue Reading »