Notes from ApacheCon
Last week I attended ApacheCon US. Now I have a little time to write about that experience. Earlier this week I found myself describing to a friend over lunch what I thought were the main points of Jaron Lanier's closing talk. I didn't agree with everything that Jaron said, but I do think he made some interesting points.
- Game developers are not getting the performance they expected from multi-core processors. This is largely seen as a result of poor advancement in compiler technology. Jaron thinks this will only be an issue for people doing gaming work and working on realtime systems (he gave robotics as an example). That is where I disagree, as will probably anyone who has edited home movies on their PC. There is definately room for improvement in video and image editing software.
Back in the mid-1990's when I was in graduate school I kept thinking that parallel processing and compilers to support it would be the next big thing in Computer Science. By that I mean parallel systems moving into the main stream of computer use, instead of being for specialized scientific computing systems. Ten years later I think my prediction is about to come true. (So I was a decade early.)
Now I think we might need a new programming language that makes more parallel optimizations by the compiler possible. C and C++ don't allow compilers much room to perform optimizations because they are so low level you can't make assumptions about what the programmer intended.
- Jaron thinks hard set protocols are limiting the advancement of software. He seems to prefer what I would call, for lack of a better term, fuzzy logic protocols. He indicated that fuzzy protocols are what is needed when computer systems interact with real world processes.
- The other point that I thought was very interesting was that he believed open source software might be where the next break through happens, if there were to develop an open source gaming community. His thoughts are that open source game development would bring a wildly creative group of people into contact with the problems pushing the envelope of hardware performance. That creativity could lead to radically new ideas in how to develop complex high performance software projects.
After all serving up web pages is a function we would call trivially parallel. Projects like apache therefore in his eyes will not lead to news ways of developing software.
Here I agree with Jaron. I think open source software (OSS) projects free the developers to do what is right with out political management problems causing compromises that shouldn't be made. One of the keys of successful OSS projects is that they be cool enough to attract good developers. A hot game is probably about as cool or sexy as software can get. So who can start the killer OSS game?