Darrell Hawley: Home Page

Friday, April 25, 2008

Central Ohio Day of .NET and What I Wish I Said

First off, the Central Ohio Day of .NET last Saturday (better late than never, right) was a very well done conference as expected. Hats off to Mike Wood, Carey Payette and Jim Holmes (in reverse alphabetical order) for all the hard work they did. Events are NOT easy. For a recap - and a reason to attend/support next years event - check out this video by Andy Erickson. Nice work, Andy!

Once specific thing I'd like to point out about the sessions, was the relatively large number of talks on alternative languages (one session, Why Ruby? by Joe O'Brien, wasn't even specific to .NET). Though it's really refreshing to see sessions that aren't C# or VB.NET, I wonder what talks are going to look like in another 5 years. Will C# still be the default language for demonstrating new tools or will a DLR-based language (VB.NET, IronPython, IronRuby, etc) or F# be equally as dominant? Hmmmm...

I'm rambling.

After my introductory talk on IronPython, I started thinking about a lot of things I wish I had said or demonstrated. Of course, I don't know how I was going to cram more stuff into the allotted one hour and 10 minutes but nonetheless, here is the list of "Things I Wish I Said and Did":

    • I didn't explore an IronPython executable or library with Reflector. When you do, the first thing you notice is that there is SIGNIFICANTLY more code with an IP app than with a similar C# app. This would have made for a nice discussion on choosing the right language for a given job.
    • I didn't spend enough time on the functional portion of Python. I did gave an example using the map() function and I did a bit with reduce(), but I didn't have a lambda or filter() example prepared.
    • Did I forget to mention that IronPython 2 is targeting .NET 2.0? Yup, I did. Kind of important if you were going to try to use Linq with IP.
    • What about the standard libraries? Python is known as a "batteries included" language, but how would you understand that if I didn't show you the libraries?

I know there are a couple of more items that I'm just forgetting at the moment, but this list discusses some big ones. Hopefully, my next talk will give me some more time.

8 Comments:

  • The functional portion would have been really cool to see but I did like that you showed the map/reduce info. I had never used Python or IronPython before but I'm now looking into it a bit more after attending your talk.

    By Anonymous Ryan Lanciaux, at Fri Apr 25, 08:06:00 AM  

  • Why is it important that IP 2 targets .NET 2 for the use of LINQ? What difference does it make. .NET 3 and 3.5 are really just .NET 2 with extra libraries - right?

    By Blogger Fuzzyman, at Fri Apr 25, 08:12:00 AM  

  • fuzzyman, I stand corrected. I completely zoned on the .NET 3.x == .NET 2 + Extras. That actually would be kind of a cool demo - Linq in IronPython.

    Incidentally, Resolver got some approving nods during the demo.

    By Blogger Darrell Hawley, at Fri Apr 25, 11:03:00 AM  

  • Thanks, Ryan. This whole journey through Python has been envigorating. Can't wait to find a way to get it into my production code.

    By Blogger Darrell Hawley, at Fri Apr 25, 11:07:00 AM  

  • Unfortunately the LINQ in IronPython story isn't too good at the moment (although some like it).

    There is no language support (as there is no obvious Python syntax and LINQ over objects is really just list comprehensions that Python has had for 15 years or so anyway).

    You can obviously use LINQ - but you have to do it through the APIs rather than with a native Python syntax...

    By Blogger Fuzzyman, at Fri Apr 25, 03:19:00 PM  

  • "I didn't explore an IronPython executable or library with Reflector. When you do, the first thing you notice is that there is SIGNIFICANTLY more code with an IP app than with a similar C# app."

    However if you show the source there is SIGNIFICANTLY less. I guess that is the trade off. :-)

    By Blogger Fuzzyman, at Fri Apr 25, 03:23:00 PM  

  • Fuzzyman, in my talk I tended to focus exclusively on the reasons why you SHOULD use IronPython which can often be interpreted as why you should abandon something else (in my case C#). I hate giving talks like that.

    In the future, I expect a common .NET paradigm will be writing your code in Iron[insert language here] and using C# where performance lags - not too much different than the current relationship between C and Python.

    By Blogger Darrell Hawley, at Mon Apr 28, 06:14:00 AM  

  • After seeing your talk and this blog post, I've got a lot of ideas for my talk in Cleveland. I was going to get into COM Interop and some other fun stuff but since I'll be the only IronPython speaker, that talk will wait. Good to finally meet another IronPython person :)

    By Blogger Sarah, at Sat May 03, 11:27:00 AM  

Post a Comment

<< Home