views:

228

answers:

3

We all knows that C# is a static language while Python is a dynamic language. But I want to know what are the features that Python has and c# does not. Also, is it advisable/beneficial to use IronPython with c# in the same application?

Also what points I should focus to learn before I try to convince my boss to use IronPython?

+6  A: 

One of IronPython's key advantages is in its function as an extensibility layer to application frameworks written in a .NET language. It is relatively simple to integrate an IronPython interpreter into an existing .NET application framework. Once in place, downstream developers can use scripts written in IronPython that interact with .NET objects in the framework, thereby extending the functionality in the framework's interface, without having to change any of the framework's code base.

IronPython makes extensive use of reflection. When passed in a reference to a .NET object, it will automatically import the types and methods available to that object. This results in a highly intuitive experience when working with .NET objects from within an IronPython script.

Source - Wikipedia

Prav
+7  A: 

In other words, what points I can give to my boss to convince him to use IronPython?

Don't. If you don't know why you should use a new tool and for what, don't try to convice anybody to use it. At work, you should try to solve problems with the best tools for the task, not throw the fanciest tools avaiable at your problems just because they're fancy.

Learn IronPython, maybe make a small side project in it, find out what the strenghts are. Then if you think these strengths are useful for the project you're working on (e.g. for "glue code", plugins, macros etc.), convice your boss to use them.

nikie
Answers like this are so unhelpful, why so many upvotes? It simply belittles the poster and takes no account of the fact that other people read this site and might like a valuable answer to the headline question. If everyone answered "why don't you try it and work it out for yourself" this site would be utterly useless.
flesh
@flesh: I think it is helpful, that's why I wrote it. I've worked on too many projects, where someone wanted to try out a cool new technology like COM or [shudder] threads, not because they understood them well or because they solved the problem well, but simply because they thought it was a cool thing to try out. I guess I stepped into the same trap a couple of times, too. If someone would have warned me then, that would have been very helpful for everyone involved.
nikie
I agree using a tool for the sake of it is daft, but I actually want to see answers to the question: **Why should a C# developer learn IronPython?** The top answer doesn't even begin to answer the question - it's a response to an issue implied in the content of the question. Perhaps a comment might have been more appropriate. I'm not upbraiding you personally though, I'm more annoyed at way answers that hector junior devs get such attention. The answer below is a much more helpful response.
flesh
A: 

First learn Python/IronPython and what you can do with C#+IronPython. In a company bringing a new language can be problematic as every developer must now learn Python.

Personally I think C# and IronPython make a great pair and use it for all my personal projects.

  • I wrote 3 posts about implementing configuration file written in IronPython and used by a C# app.

Implementing a simple configuration file in Python for a C# application

  • You can also look at my freeware fLogViewer.net, that support plug-in written in IronPython.
Frederic Torres