Language wars, I. Ever tried to explain the difference between dynamic and static typed languages to non-techies? There are interesting parallels and simplifications you can use to get the main points across, but what happens next is far more interesting. You see, non-techies don’t ask â€œwhat about auto-complete?â€ or start arguing about CALL performance and scalability. Instead they want to know how the split happen, and there’s a really interesting story to tell about language evolution. It’s a history lesson. In one side we have two superpowers, call them â€œthe axis of vendorsâ€, and they both share the same idealogical background. In the other bloc, we have more independent states, some bigger, some smaller. And although they’re known as â€œthe axis of open sourceâ€, their ideology is more diverse, and they generally like to keep it that way. Both camps play their political cards to spread their influence, but in the end free market economics forces the superpowers to embrace the change. Or at least, that’s how the story goes.
Designer: Make it work. I always wondered what it would look like if we had a Project Runway for software designers. 2 days to build up a prototype and impress the judges with a 30 seconds demo. If you wanted to win the challenge which language would you use? Matt at 37signals thinks Project Runway is a good analogy to 37signals. I’m much more interested in the double entendre behind â€œmake it workâ€. You got to get both parts right.
Meta-programming techniques. Thinking of meta-programming in Ruby? It’s not hard, but getting started is not easy. A one-liner that takes 5 second to write when you know what you’re doing, could take hours to figure out the first time. Ola Bini has a good summary of the different meta-programming techniques in Ruby. (Via Ruby Inside)
Get out of Jail, collect $50. Building simple projects with Maven 2.0 is simple. Building anything bigger than trivial requires pompous XML files where ten lines of code accomplish one simple task. If you’re lucky. The less fortunate have to create another project to build a plug-in they can use to build their existing project, and invent more XML grammars along the way. Then there’s the Maven Uncertainty Principle: some builds will work some of the time. So let’s trying something different. Matthieu is working on a build system for Java in Ruby, using rake and gems. Give it a try, let’s see if we can bring simplicity back to the Java world.
Google first. Comic relief via Zoli.