The session that I was looking forward too was chatting with John Lam (RubyCLR) and Jim Hugunin (IronPython) to discuss dynamic languages on the CLR. This was the first session that reached out the crowd, so we got to shout out questions.
There was an immediate warning that they won’t be able to answer all questions. If it was the end of the month we would be in better shape. Come on Queensland. You know that Ruby – IL is coming soon.
Jim discusses his story on how he ended up at Microsoft, and how he wasn’t hired to write IronPython, but to be in the CLR team and make dynamic languages run better. Currently, he has a team that does most of the work.
These were in the order that people shouted them out, and very much not in the order that they were answered.
- Ruby or Python, which sucks less?: Jim is not a language biggot. Python happens to fit his mind best. There are lots of people who seem the same as me but get this mind meld with Ruby. “It annoys me that I can’t play around with a Rails apps without learning a new language. I want the languages to get along better together”. Hopefully that means that we will see some compelling examples of this in the future (of course both on the CLR mean that you can do some things). John finds the DSL meta model that Ruby gives you superior.
- How are you going to lock us into your platform?: Two sides to it. IronPython’s goals have been about becoming a compliant implementation of Python, and being integrated with .NET. It is a challenge to do both at once. A few examples:
s = "abc" s.strip vs. s.Trim()
What should they do? Allow non-python Trim? throw an exception? Use
import clrto allow Trim and friends.
- What is the plan for PHP?: No one in the audience thought that it was really needed.
- What is it going to take for Rails to run on top of .NET?: The audience wants this to happen. Michael Koziarski of the Rails Core team would like to see this so support questions can be answered. Others want to be able to deploy Rails into enterprise customers who deploy on Windows. Also, the CLR could take up the weakness of Rails/Ruby deployment and make it the best platform.
- When is the veil of silence going to be lifted?: Jim explained how he was stuck under the veil for 8 months, and it drove him nuts. He is happy that now he is out there. IronPython 1.1 is now out, 2.0 is being talked about. We shouldn’t be harsh on John as he has only been part of the company for a matter of months. “If 8 months go by without an announcement, something has gone wrong.”
- Why dynamic languages?: I want more freedom than I can get from these languages. Unit tests are the solution. We discussed how unit tests are great, but how many developers REALLY practice this discipline. Writing unit tests is like winning in Vegas. Everyone says that they are at least even with the house. Judging by the new $7bn complex being built on the strip, someone is lying. Jim hasn’t been able to persuade static folk over the years, but who cares? Lots of people love it, so let them program in it!
- Mono?: It’s getting better?
- Should dynamic languages be an Intro CS100 language?: They have a lower barrier to entry. The concept count is lower than in a static (classes, methods, static method calls, …. to write hello world in Java, C#). This low bar means that you may see crappier code, as “non-programmers” can write it. This is a good thing. Jim spends half of his time in Python, half in C# and he likes it.
- Phoenix?: wrong group.
- Erlang? Haskell? OCAML? F#?: …..
- What about IDE support?: They aren’t seeing the desire for IDE support in the community. John showed off his WPF Black on Black irb world. He is a super star :)
Two great guys. I wish we could have gotten in depth with what is coming up soon. Without that, it was hard to get value out of the conversation in the same way.