[IronPython] [Python.NET] Reasons to use ironpython

Howland-Rose, Kyle Kyle.Howland-Rose at aar.com.au
Fri Jun 12 01:29:15 CEST 2009


Hi Matthew,

Where I have worked in the past, the argument for Python has been
productivity.  I don't recall the numbers quoted back then but I am an
infrequent user of Python and a frequent user of VB (C# is not used
here) and Python is easily twice as fast as VB for me to develop with.

Regards,
Kyle

-----Original Message-----
From: users-bounces at lists.ironpython.com
[mailto:users-bounces at lists.ironpython.com] On Behalf Of Michael Foord
Sent: Thursday, 11 June 2009 11:42 PM
To: Discussion of IronPython
Cc: 'pythondotnet at python.org'
Subject: Re: [IronPython] [Python.NET] Reasons to use ironpython

Hello Matthew,

Why send an email about IronPython to the Python.NET mailing list? 
(Sorry for multiple replies by the way - my client went bat-crazy on
me.)

Both Python and C# are 'general purpose' programming langugages suited 
to a wide range of problem domains. Choice of programming language is 
therefore *usually* a matter of aesthetics, what you are used to, 
personal workflow, issues within a team and so on rather than a matter 
of which is more appropriate to the job. Obviously there are exceptions 
where one language is obviously more appropriate or obviously 
inappropriate but these are the exception rather than the rule.

Place where you should *obviously* use IronPython:

* For embedding as a user scripting language / plugin mechanism or are 
doing runtime code generation

Place where you should obviously use C#:

* You have already implemented in a dynamic language, profiled and 
optimised, and *need* faster performance than the dynamic language is 
capable of

Other than that the choice is yours!

Reasons why I / some people prefer IronPython:

* The interactive environment is an invaluable tool for exploration
* No need to create a whole 'object-oriented-application' for simple 
tasks where it is not needed
* Without a compile phase and with duck typing / dynamic typing 
IronPython makes it *dramatically* easier to do test driven development 
or even normal unit testing
* Python has many language capabilities missing from C# which make it a 
flexible and concise language. These include:
- Duck typing (no need for interfaces)
- Heterogeneous containers (no need for generics)
- Pain free introspection (no need for the complexity inherent in 
System.Reflection)
- Metaprogramming including good old eval, type creation at runtime, 
decorators and descriptors
- Late binding and runtime type dispatch
- 'Little features' like tuple unpacking, returning multiple values, 
everything is an object (including primitives, functions, classes and 
modules)

There are things that C# has that Python doesn't (compile time checking,

method overloading, access to .NET attributes), but choose whichever you

prefer. :-)

Michael


Harelick, Matthew wrote:
>
> Hi:
>
> My background is primarily UNIX. I have been programming in C, TCL, 
> Perl, and Python in UNIX and Linux for a long time.
>
> I recently started working in Visual Studio and C#.
>
> Visual Studio and C# make everything very easy. Python was nice when 
> you didn't have the convenience of Visual Studio and intellisense with

> a nice debugger.
>
> In the windows world I see no major reason not to use C#.
>
> Why would I want to use IronPython?
>
> Thanks
>
> Matthew Harelick
>
>
------------------------------------------------------------------------
>
> _________________________________________________
> Python.NET mailing list - PythonDotNet at python.org
> http://mail.python.org/mailman/listinfo/pythondotnet


-- 
http://www.ironpythoninaction.com/

_______________________________________________
Users mailing list
Users at lists.ironpython.com
http://lists.ironpython.com/listinfo.cgi/users-ironpython.com
************************************************************************
 
Allens Arthur Robinson online: http://www.aar.com.au
 
This email is confidential and may be subject to legal or other professional privilege. It is also subject to copyright. If you have received it in error, confidentiality and privilege are not waived and you must not disclose or use the information in it. Please notify the sender by return email and delete it from your system. Any personal information in this email must be handled in accordance with the Privacy Act 1988 (Cth).
 
*************************************************************************



More information about the Ironpython-users mailing list