FACTOID # 173: More than half of all doctors in Finland are female.
 
 Home   Encyclopedia   Statistics   Countries A-Z   Flags   Maps   Education   Forum   FAQ   About 
 
WHAT'S NEW
RELATED ARTICLES
People who viewed "IronPython" also viewed:
RECENT ARTICLES
More Recent Articles »
 

SEARCH ALL

FACTS & STATISTICS    Advanced view

Search encyclopedia, statistics and forums:

 

 

(* = Graphable)

 

 


Encyclopedia > IronPython
IronPython
Latest release: 1.1 / April 17, 2007
Platform: .NET and Mono
Use: Python Programming Language Interpreter
Website: http://www.codeplex.com/Wiki/View.aspx?ProjectName=IronPython

IronPython is an implementation of the Python programming language, targeting .NET and Mono, created by Jim Hugunin. Version 1.0 was released on September 5, 2006 [1]. A software release refers to the creation and availability of a new version of a computer software product. ... April 17 is the 107th day of the year in the Gregorian calendar (108th in leap years). ... 2007 (MMVII) is the current year, a common year starting on Monday of the Gregorian calendar and the Anno Domini era. ... In computing, a platform describes some sort of framework, either in hardware or software, which allows software to run. ... Microsoft . ... Mono is a project led by Novell (formerly by Ximian) to create an ECMA standard compliant . ... A website (or Web site) is a collection of web pages, images, videos and other digital assets and hosted on a particular domain or subdomain on the World Wide Web. ... Python is a high-level programming language first released by Guido van Rossum in 1991. ... Microsoft . ... Mono is a project led by Novell (formerly by Ximian) to create an ECMA standard compliant . ... September 5 is the 248th day of the year (249th in leap years). ... For the Manfred Mann album, see 2006 (album). ...


IronPython is written entirely in C# and is made available as part of Microsoft's Shared Source initiative. While IronPython was originally released under the Common Public License, it retains some of its open source heritage, and its source code seems to be "more accessible" than other projects that are offered under the Shared Source initiative. Authors claim [2] that the license, while not reviewed by the Open Source Initiative, conforms to the OSI's definition of open source. The title given to this article is incorrect due to technical limitations. ... Microsoft Corporation, (NASDAQ: MSFT, HKSE: 4338) is a multinational computer technology corporation with global annual revenue of US$44. ... Shared source is a type of licensing program that allows controlled access to full or limited amounts of product source code. ... The CPL (Common Public License) is a free software / open-source software license published by IBM. Its license terms have been approved by the Open Source Initiative and Free Software Foundation. ... The Open Source Initiative is an organization dedicated to promoting open source software. ... The Open Source Definition is used by the Open Source Initiative to determine whether or not a software license can be considered open source. ... Open source refers to projects that are open to the public and which draw on other projects that are freely available to the general public. ...

Contents

Status and roadmap

The current 1.1 version targets CPython 2.4.3 for compatibility. However, there are some differences between the Python reference implementation and IronPython [1]. CPython is the default implementation of the Python programming language. ...


Release 2.0, currently in alpha state targets CPython 2.5. IronPython 2.0 is built on top of the DLR (Dynamic Language Runtime) which contains a Dynamic Type System and Dynamic Lnaguage Hosting Environment abstracted out of IronPython 1. CPython is the default implementation of the Python programming language. ...


The Dynamic Language Runtime is meant to make it easier to write dynamic languages for the CLR. Dynamic languages being developed to run on the DLR include:

  • IronPython
  • IronRuby
  • JScript
  • VBx a dynamic version of VB

The DLR runs on top of the core CLR that ships with SilverLight. This means that IronPython can be used for client-side browser scripting with SilverLight.


Interface extensibility

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. In computer science, reflection is the process by which a computer program of the appropriate type can be modified in the process of being executed, in a manner that depends on abstract features of its code and its runtime behavior. ...


Example

Wikibooks
Wikibooks Python Programming has a page on the topic of
Wikibooks
Wikibooks Python Programming has a page on the topic of
GUI Programming

The following IronPython script manipulates .NET framework objects. This script can be supplied by a third-party client-side application developer and passed into the server-side framework through an interface. Note that neither the interface, nor the server-side code is modified to support the analytics required by the client application. Image File history File links Wikibooks-logo-en. ... Wikibooks logo Wikibooks, previously called Wikimedia Free Textbook Project and Wikimedia-Textbooks, is a wiki for the creation of books. ... Image File history File links Wikibooks-logo-en. ... Wikibooks logo Wikibooks, previously called Wikimedia Free Textbook Project and Wikimedia-Textbooks, is a wiki for the creation of books. ...

 from BookService import BookDictionary booksWrittenByBookerPrizeWinners = [] for book in BookDictionary.GetAllBooks: if "Booker Prize" in book.Author.MajorAwards: booksWrittenByBookerPrizeWinners.append(book.Title) booksWrittenByBookerPrizeWinners 

In this case, assume that the .NET framework implements a class, BookDictionary, in a module called BookService, and publishes an interface into which IronPython scripts can be sent and executed.


This script, when sent to that interface, will iterate over the entire list of books maintained by the framework, and pick out those written by Booker Prize-winning authors.


What's interesting is that the responsibility for writing the actual analytics reside with the client-side developer. The demands on the server-side developer are minimal, essentially just providing access to the data maintained by the server. This design pattern greatly simplifies the deployment and maintenance of complex application frameworks.


References

  1. ^ Jim Hugunin's blog: IronPython 1.0 released today! (September 05, 2006). Retrieved on 2006-12-14.
  2. ^ Shared Source License for IronPython (April 28, 2006). Retrieved on 2006-09-07.

For the Manfred Mann album, see 2006 (album). ... December 14 is the 348th day of the year (349th in leap years) in the Gregorian Calendar. ... For the Manfred Mann album, see 2006 (album). ... September 7 is the 250th day of the year (251st in leap years). ...

See also

  • Python Programming Language
  • Boo, a language for .NET and Mono with Python-inspired syntax and features borrowed from C# and Ruby.
  • Jython - an implementation of Python for the JVM.

Python is a high-level programming language first released by Guido van Rossum in 1991. ... Boo is an object oriented, statically typed programming language developed starting in 2003, which seeks to make use of the Common Language Infrastructure support for Unicode, globalization and web style applications, while using a Python-inspired syntax and a special focus on language and compiler extensibility. ... Microsoft . ... The title given to this article is incorrect due to technical limitations. ... Ruby is a reflective, object-oriented programming language. ... Jython, formerly known as JPython, is an implementation of the Python programming language written in Java. ... Python is a high-level programming language first released by Guido van Rossum in 1991. ... A Java Virtual Machine (JVM), originally developed by Sun Microsystems, is a virtual machine that executes Java bytecode. ...

External links


  Results from FactBites:
 
IronPython - Wikipedia, the free encyclopedia (658 words)
IronPython is an implementation of the Python programming language, targeting.NET and Mono, created by Jim Hugunin.
IronPython is written entirely in C# and is made available as part of Microsoft's Shared Source initiative.
While IronPython was originally released under the Common Public License, it retains some of its open source heritage, and its source code seems to be "more accessible" than other projects that are offered under the Shared Source initiative.
IronPython: A fast Python implementation for .NET and Mono (2998 words)
IronPython is a new implementation of the Python language targeting the Common Language Runtime (CLR).
IronPython adds Python to this mix of languages allowing Python code to easily use and be used from the wide variety of other languages that support the CLR.
IronPython takes the same approach to optimization as for function calls to produce the fastest code for the common cases while continuing to support the most dynamic semantics of Python.
  More results at FactBites »


 

COMMENTARY     


Share your thoughts, questions and commentary here
Your name
Your comments
Please enter the 5-letter protection code

Want to know more?
Search encyclopedia, statistics and forums:

 


Lesson Plans | Student Area | Student FAQ | Reviews | Press Releases |  Feeds | Contact
The Wikipedia article included on this page is licensed under the GFDL.
Images may be subject to relevant owners' copyright.
All other elements are (c) copyright NationMaster.com 2003-5. All Rights Reserved.
Usage implies agreement with terms.