Archive for March, 2008

Episode 91: Kevlin Henney on C++

Filed in Episodes by on March 30, 2008 4 Comments
Episode 91: Kevlin Henney on C++

In this episode, we talk with Kevlin Henney about the C++ programming language. We look at the history and the culture of the language, and how it went through several phases in its evolution. We also take a look at some of the special language features of C++ and their overall influence.

Continue Reading »

Episode 90: Product Line Engineering, Pt. 3, with Charles Krueger

Filed in Episodes by on March 22, 2008 0 Comments
Episode 90: Product Line Engineering, Pt. 3, with Charles Krueger

In this episode Charles Krueger, a well-known member of the product line engineering community, talks about his long term experiences in the field. Charles is also the founder and CEO of a company that provides tooling for variability management and product derivation. Besides some clarifications on terms like product line architecture and reference architecture, you also learn what kind of preconditions need to exist before product line engineering can be applied successfully.

Continue Reading »

Episode 89: Joe Armstrong on Erlang

Filed in Episodes by on March 12, 2008 16 Comments
Episode 89: Joe Armstrong on Erlang

In this Episode we’re talking about Erlang with its creator Joe Armstrong. We started by looking at the history of the Erlang language and why it is so relevant today.

We then looked at Joe’s approach to Concurrency Oriented Programming and its main ingredients: share nothing, lightweight concurrency and pure message passing. We also compared this to the classic shared memory approach to concurrency. We then looked at other interesting aspects of Erlang, such as its functional nature (and why this is important to concurrency) and pattern matching. Next we discussed how to implement distribution and fault tolerance, and we took a look at OTP, the “application server” for Erlang.

We concluded the conversation with a littel discussion about how Erlang was designed, it’s current community as well as its future.

Continue Reading »

Episode 88: The Singularity Research OS with Galen Hunt

Filed in Episodes by on March 2, 2008 7 Comments
Episode 88: The Singularity Research OS with Galen Hunt

In this episode we talk to Galen Hunt about the Singularity research OS. Galen is the head of Microsoft’s OS Research Group and, together with a team of about 30 other researches, has built Singularity.

We started our discussion by covering the basics of Singularity: why it was designed, what the goals of the project are as well as some of the architectural foundations of Singularity: software isolated processes, contract-based channels and manifest-based programs. In this context we also looked at the role of the Spec# and Sing# programming languages and the role of static analysis tools to statically verify important properties of a singularity application.

We then looked a little bit more closely at the role of the kernel and how it is different from kernels in traditional OSes.

In a second part of the discussion we looked at some of the experiments the group did based on the OS. These include compile-time reflection, using hardware protection domains, heterogenerous multiprocessing as well as the typed assembly language

We closed the conversation with a look at some of the performance characteristics of Singularity, compatibility with traditional operating systems and a brief look at how the findings from Singularity influence product development at Microsoft.

Continue Reading »