We're charged with the task of writing software that is reliable, sturdy, and trustworthy. We could all write tests and extensive preconditions for our code, and choose languages which make errors less likely, but across the industry we don't do any of these things uniformly. Michael Feathers looks at error-prevention in the short history of our discipline and considers our possible futures.
In this talk Robert C. Martin outlines the practices used by software craftsmen to maintain their professional ethics. He resolves the dilemma of speed vs. quality, and mess vs schedule. He provides a set of principles and simple Dos and Don'ts for teams who want to be counted as professional craftsmen.
In this presentation, Rebecca Wirfs-Brock presents some practical lessons she has learned from doing architectural reviews. Many times projects are not delivered in time, or have quality problems or have an incomplete set of features due to architectural flaws. The reviews are meant to highlight existing risks and strengths of the architecture, and to reveal issues initially neglected.
In this presentation filmed during JAOO 2007, Wayne Fenton, Director of Architecture at eBay Inc., talks about the ways in which software architects can design systems for much-improved efficiency and reliability from an operational perspective.
In this talk, Markus Völter illustrates how model-driven and aspect oriented software development help addressing the challenge of managing variability in product line engineering. Both the problem space and the solution space are described by models, using a model-to-model transformation to map problem space variability to solution space variability.
Neal Ford talks about Mingle, Thoughtworks Studios' project management software. Mingle is written or JRuby - Neal explains the experience with building a product on JRuby, solutions to problems, and future plans for using JRuby in Mingle.
This presentation by Hamilton Verissimo and Oren Eini show Castle Active Record - an ORM solution for .NET building on NHibernate. After an introduction, the presentation dives into various advanced topics and techniques for working with Castle Active Record.
How do you program a multicore computer? Easy - do it in Erlang. Erlang is a concurrent functional programming language designed for programming fault-tolerant systems. With share-nothing semantics and pure message passing, Erlang programs scales on multicore computers. In this talk, Joe introduces Erlang, the ideas of Concurrent Oriented Programming and commercial applications written in Erlang.
Business users doing programming? Charles Simonyi and Henk Kolk presents how Intentional Software offers a radical new software approach that separates business knowledge from software engineering knowledge, which means that business experts can be more innovative and responsive to the changes in the domain.
In DDD, the "ubiquitous language" is central, but it's richness and fluency is hard to render in the object-oriented medium. Domain-specific languages hold out the prospect of to express models and application logic in far better suited language. In this presentation, Eric Evans talks about how DDD and DSLs works together in complex business applications.
In this presentation, Lex Spoon discusses the Scala programming language. Topics covered include the origin of Scala, the philosophy behind Scala, the Scala feature set, Object-Oriented and Functional programming in Scala, examples of Scala code, writing DSLs, how Scala is converted into Java, Scala performance, Abstract Data Types, unapply, actors and partial functions.