On software design

From the OOPSLA Podcast page

Download this episode's MP3 file or subscribe to the set on iTunes

Object-Oriented Design techniques have gone from being at the center stage of OOPSLA and the programming community at large, to being somewhat dismissed during the peak days of the agile movement, to now again seeing something of a resurgence.

No one questions the general value of good software design, however, there are lots of debates over how much you should do, when you should do it, and certainly how to do and come up with good design. In many ways it reflects the fact that as a meta concept, design encompasses all aspects of what we do as software architects, engineers, and managers.

Good design requires insights into the domain in question, good knowledge of the target platform and language, careful selection of frameworks and associated supporting software, and the ability to communicate succinctly with your stake holders as well as capture and incorporate their requirements and feedback before the system is completed. This is true whether your philosophy is to do design as you go, none at all, or completely up front before one line of code is written.

Additionally, any prior experiences (yours, from books, colleagues, or consultants) can also help you in this quest for coming up with the best designs for the task in question. This can especially be true to help inform you on how and when to reuse well know patterns and approaches. And if you ever wanted one person to help you with your design issues, not only from a philosophical point of view but from a very pragmatic sense then it should be Rebecca Wirfs-Brock.

While Rebecca is well known for popularizing the CRC design technique and for being an authority on software design in general, what makes her unique may be her ability to communicate without bias the trade offs for your designs as well as her intuition in understanding how to help you improve. Her keynote this year will be on the design subject and promises to help us untangle the various x-driven designs movements that we are experiencing nowadays and help us conceptually as well as practically frame them so we can refer to them intelligently when the right situation arises.

Software archaeology!

The Spanish philosopher George Santayana once famously said that:

Those who cannot remember the past, are condemned to repeat it [...]

Is this our case in the software engineering field? Well it seems to be the path we have created for ourselves... to repeat history with the glories and many mistakes and failures of the past.

This nihilistic realization is apparent since we have no recent and up to date account of the important software that have helped us create the information age we now live in...

Do you think any of the big companies or individual engineers have descriptions, architectures, requirements, or code for the important software that have marked our industry? Ask IBM's Lotus division if they have the sources for the various 123 releases... same for Microsoft and Windows, Word, or even Linus with Linux and Marc Andreessen with Mosaic, to list a few. I have not asked them these questions directly, but I doubt the answers would be 'yes, find all info here'.

So what do we do about this sad state of affair?

Well some amongst us are thinking about such important issues. And it's none other than IBM's Grady Booch. The man needs no introduction really, but what you may not know is that Grady has embarked in a very ambitious and important quest to document software architectures so that 20, 100, and 1000 years from now, our descendants will have detail accounts of this thing we call software and readily have important exemplars from our fields.

Grady talks about his ongoing quest and efforts in a new OOPSLA 2008 podcast episode and relates it with one of this year's keynote at the conference. And to show his full commitment to this important effort, Grady is also now on the board of the Computer History Museum in Montain View, CA, where there are efforts to preserve classic software for future generations.

Subscribe to the OOPSLA 2008 podcast series and listen to Grady's episode to change your outlook on software development (past and future) and help us prove improve our field's outlook...

Wiki page for students

To help the many students and student volunteers (SVs) attending OOPSLA connect, share rides, share accommodations, and generally communicate and network, we have created a wiki page on the OOPSLA wiki dedicated for that purpose.

The OOPSLA Facebook group is also another great place to have these discussions and connect with other students attending OOPSLA.

Podcast episodes 4, 5, and 6

In episodes 4 and 6, Dick Gabriel (last year's chair) and Dave Thomas (long time attendee and pioneer of objects in industry) talk about why OOPLSA matters and how industry participants get to take advantage of the conference. Lots of great tidbits and inside scoop on the conference. Episode 5 is from one of the up coming keynotes. Professor Janos Sztipanovits (Vanderbilt University) discusses Cyber-Physical Systems and how to think meta about design. An exciting intro to his up coming keynote.

Special Registration Notice

The reduced rate registration deadline has been extended to September 15, 2008 in order to accommodate people inconvenienced by our recent server outages.

Podcast episodes 2 and 3

For your listening pleasure, we have two new podcast episodes posted on iTunes.

In episode 2 we have Juha-Pekka Tolvasen of Metacase on the up and coming, 8th Workshop on Domain-Specific Modeling at OOPSLA 2008. JP also discusses the increasing impact of DSM and DSLs as they shift from research to applications in real-world industry settings.

In episode 3, Gregor Kiczales, Research Program Chair for OOPSLA 2008, discusses the all important research program this year. One of the long lasting value of OOPSLA is that it allows leading edge researchers to mind melt with industry engineers and managers. Gregor realizes this important aspect :-) and has led the selection of a fantastic research program that will surely continue this tradition. Listen to Gregor's overview and mark your calendar to make sure to attend some of these excellent papers. I know I am.

More episodes to come...

Podcast galore

To help you get an advance idea and scoop on the different cool things going on at OOPLSA this year, with the help of the good folks at Dim Sum Thinking and SE Radio, we have recorded a series of podcast episodes for this year's conference.

We plan to feature them weekly starting this week (Sept. 1st) on the OOPSLA Web site Podcast page.

The first episode is by the Conference's Chair Gail E. Harris of Instantiated Software, Inc.

Lot's more are in the queue, including from this year's keynoters, tutorial presenters, workshops organizers, and industry luminaries such as Grady Booch and Dave Thomas.

LISP 50th anniversary

As if one needed more reasons to attend OOPLSA, well this one if of such historical significance for the field that it maybe worth a conference pass by itself...

To celebrate the venerable LISP language 50th anniversary (McCarthy's original LISP paper was published in Communications of the ACM in 1958) the OOPSLA organizers have arranged to have a series of events and a workshop around the language and it's influence on Object-Oriented Languages and computer science.

Not only will you be treated with lots of discussions and reminisce and anecdotes on the influences of LISP on the community, by experts who have spearheaded the efforts (e.g., Guy Steele and Richard Gabriel to name a few), rumors have it that Turing Award winner and one of the main creators of Smalltalk Alan Kay will also be present and he will be interviewing Turing Award winner John McCarthy, the father of LISP himself.

(see you there :)

2008 tutorials program

While OOPSLA is well known for advancing the fields of computer science, software engineering, and their practical applications---after all, Java, Eclipse, Aspect-Oriented Programming, Design Patterns, Agile Methods, just to name a few, got their start at past OOPSLAs---another important aspect of the conference is the wide-range of tutorials available to novices and experts alike. Continuing this tradition, OOPSLA 2008 boasts a tutorial program unlike any I have seen. There are more than 40 tutorials covering advance, new, novel, and mainstream topics such as Agile, Test-Driven Development, Domain-Specific Languages/Modeling, Microsoft's F#, advanced C++, Google's Guice, SOA, Apple's iPhone SDK, and Ruby on Rails, to name a few. Tutorials are offered daily throughout the conference and are given many times by the creators of the technologies in question or by worldwide experts in the fields. Don't miss learning some new skills, sharpening old ones, or get a head start on tomorrow's next big thing. Register today for OOPLSA and add a tutorial or two to your OOPSLA conference experience.

More blogosphere buzz...

Nadyne Mielke of Microsoft and member of the OOPSLA 2008 committee found more interesting buzz on OOPSLA from the blogosphere. Here is a summary of her findings:

Schedule now online!

The complete OOPSLA 2008 program and schedule is now available online. You can find detail information about the various aspects of OOPSLA including: technical sessions, tutorials, workshops, keynotes, panels, and other sessions.

Blogosphere buzz about OOPSLA

As you know, OOPSLA is the premier conference for all things Object-Oriented. However, OOPSLA is a lot more than just objects. As you may know, lots of cool and important technologies have been featured at OOPLSA over the years, e.g., Design Patterns, Eclipse, and UML, just to name a few. However, instead of honing our own horns, I did a quick search in the blogosphere for things related to OOPLSA. Here is a partial list (includes some links from yours truly):

Awards @ OOPSLA

Continuing our long tradition of recognizing excellent scholarships, this year's OOPSLA will feature three prestigious awards.

First the Most Influential OOPSLA Paper Award which highlights the OOPSLA paper with the most impact over the past 10 years. Presented by SIGPLAN.

Second, The Best Student Paper Award encourages student participation at the conference by noting the best paper at this year's conference whose primary author is currently a student.

Finally, a special award is given to recognize the late John Vlissides' laborious and productive career. This award is presented by SIGPLAN.

Scholarships @ OOPSLA

Like every year OOPSLA features various scholarships tailored to encourage diversified participation at the conference as well as to attract the best and brightest to join our community. Please encourage your students, peers, and colleagues to take part and apply. See the OOPSLA Scholarships page for details.

OOPSLA blog widget

To make it easy to see the content of the OOPSLA blog, I created a widget and added to main page. This should give quick access and easy browsing of the current content of the blog. Please let me know your thoughts... Of course, we need more content in the blog to make that feature useful. Watch this space. Things are about to change :-)

rss feedLet Me Feed You..