George Bosworth is one of our keynote speakers - he's spent the last few years at MS (as part of the CLR design team). He had previously been one of the leads at Digitalk, for the Smalltalk/V VM. He's doing some consulting now under the name "Ephemeral Consultants". Here's George:
And here's the audience:
The title of the talk is indicative of the content: "Small things matter a lot". George makes the point that as he transitioned from Pascal to Smalltalk (this is way back, before Digitalk was founded), he noticed how much easier it was to read Smalltalk code and understand what was going on.
"Too many details can make it harder to understand"
Here's a nice point: "programming in the small", as opposed to "programming in the large". To wit: Programming in the Small means that you have white box usage and text level reuse, you rewrite/refactor often. Programming the Large means that you have black box usage, object level reuse, and you standardize and attempt to fit things into your framework.
Here's another great quote, that George took from one of the early customers of Digitalk (and still one of Cincom's Smalltalk customers:
"Risk should be managed, not eliminated"
Risks are indicative of upsides and downsides; you can't win if you don't play. Another good one:
"When nothing is working, failure is not to be feared"
This one came out of an IBM lab where they decided to throw caution to the wind, since they figured that they would all be fired if they couldn't deliver their demo app within the (shrinking) time frame they were looking at. Often, we do our best work when there's no other choice :)
Another good insight:
"The critical innovation may not be the software"
Unless the software is actively getting in your way, the real innovation usually needs to happen on the business side, not the development side. Another great point:
"Usage is better than analysis"
"dogfooding" will teach you more about your product than anything else. He gives a great example from Microsoft - they started using SQL Server internally, so that they could learn first hand what did and didn't work. Here's where George sees things going:
- Large Systems
- Huge multi-cores
- Software always on
- old tradeoffs are no longer appropriate
On the multi-core issue, there's been some discussion of that on the blogs here recently - see Runar's post, and Bruce Badger's thoughts on the same subject. His final thoughts here:
- Requiring perfection leads to disaster
- Mistakes are to be encouraged and learned from (if you don't play, you can't win)
Smalltalk encourages the latter. Having fun is important too!
Technorati Tags:
smalltalk, users conference, cincom smalltalk