Tag: IronPython
A night of firsts: VS2010, Dynamics, Python
by bhartsock on Jul.19, 2009, under Uncategorized
Tonight, I installed Visual Studio 2010 beta 1 for the first time. I know I am late to the game, but I had to give it a whirl since I found some free time this afternoon. One feature of .NET 4.0 I wanted to try out was the dynamic keyword with Python scripting. So, here is my first hello world program using dynamic, with the help of this walk-through.
class HelloWorldDemo: def run(self): return "hello world"
Here is the C# code needed to run it. Yes, I used WPF as my driver, but don’t worry about that.
... using IronPython.Hosting; using Microsoft.Scripting.Hosting; namespace WpfWithPython { public partial class Window1 : Window { ScriptRuntime py; public Window1() { InitializeComponent(); py = Python.CreateRuntime(); } private void MyBtn_Click(object sender, RoutedEventArgs e) { //Instantiate an instance of this file?! Yes, it is weird at first. // All the methods and classes in the file will be members. dynamic demo = py.UseFile("HelloWorldDemo.py"); //This is the tricky step. To create a new object, call it like a member... // I think dynamic instance = demo.HelloWorldDemo(); MyText.Text = instance.run(); } } }
It took me a while to get this little bit of code working unfortunately. If you read the comments, you can see where some of my confusion was found. Overall, it is pretty awesome. I loved LINQ and I am already loving dynamic. There is something new to learn everyday. Maybe F# next…
Unfortunately, I have to say that VS2010, while pretty, is slower than 2008. And, IronPython took nearly 2 or 3 minutes to run some sample code it provided, which is crazy. If the performance problems can be overcome, then I see myself learning more Python and Ruby.