Ilya has a story he likes to tell. Every time he tells it becomes longer and more elaborate. In a few more months it might be long enough for a full length novel. But for now, it is just the right length for a blog post.
Once upon a time, some people decided to design a city. It was going to be the most modern city in the world. And the pride-and-joy of the town fathers was the garbage collection system. No longer would citizens have to worry about putting garbage bins out on the curb every Monday. Nor would the city parks be spoiled by the sight of filthy garbage cans. A dedicated group of townsmen would run around collecting all unwanted trash from their fellow citizens and bring it to the town dump.
A year later, a visitor came to the city and found all the citizens walking around with rumpled pieces of paper in their pockets and a big pile of garbage in the town park.
This story has a moral. The moral is that you should never program in Java. The garbage collector claims he will find all your unused data and dispose of it for you, but in reality, he is out taking a coffee break. And you can’t throw anything out yourself because there’s not a garbage can in sight.
Ilya wrote ChordMate in Objective C++. This worked out fine for the Mac version because Apple has a great library for creating a user interface. The Windows version has proved to be more challenging. The Harmonic Sense team tried using .NET to write ChordMate for Windows and the result just didn’t look good. Ilya decided that the standard Windows look wasn’t right for ChordMate and resolved to draw the entire interface by hand. Ilya settled on MFC, because drawing everything by hand in .NET was just like drawing it in MFC, except that it was slower and the garbage collector got in the way.
Tags: java programming