Dancing Cloud Services
Modern computing systems are using increasingly complex library functionality, and as they do so, software engineers become ever more isolated from the harsh realities of time, bandwidth, memory and concurrency. As a result, code tends to become less efficient and more subject to scaling limits. Sometimes, these issues can be solved by throwing more hardware at the problem. However, sometimes more hardware doesn't provide more capacity, and sometimes you might care about the cost — or power requirements — of that hardware.
In either of these situations, you cannot ignore the inner workings of your system, even in library code. This talk looks at the sources of some of these performance issues, comparing the new approaches among themselves and with older approaches, and considers how to spot potentially unacceptable costs or constraints in your code or libraries so that you can make a thoughtful choice that avoids painful discoveries later in a project's lifecycle.
Twenty or more years ago, it could be quite difficult to explain to a potential client why you were proposing to use an object oriented development approach on his project. Today, many newer programmers don't even know that other approaches ever existed. This talk looks at why we use OO, what it is intended to address, how it addresses those issues, and — perhaps most importantly — what issues it doesn't address. The discussion also looks at how we can most effectively address the issues OO overlooks without losing the benefits of OO.
© 1997 2008 Kovsky Conference Productions Inc.; All rights reserved.