Python and .NET - An Ongoing Saga
Written by Nikos Vaggalis   
Tuesday, 15 November 2022
Article Index
Python and .NET - An Ongoing Saga
Microsoft Embraces Open Source and Python

 

Microsoft released the Iron languages to the open source community as we found in October 2010 when we reported Microsoft Lets Go Of Iron Languages:

Having reported Microsoft's dynamic languages are dying in August we can now follow up with the news that Microsoft has bowed out of the project and handed it over to "the broader community", a move that might give Iron Ruby and Iron Python a second chance.

Lack of commitment to the Iron languages was was the reason that Jimmy Schementi left Microsoft in August and now Jim Huginin has announced his departure. Huginin joined Microsoft six years ago to work on IronPython. Although he hasn't been directly involved in the project for some time Microsoft's decision to abandon its investment in Iron Python has acted as a catalyst to his move to Google.So what of the future?

According to Jeremy Hardy, the future of IronPython and IronRuby is entirely in the hands of those who use it, which is a new experience for those used to Microsoft calling all the shots. ... From this point on, IronPython and IronRuby will live or die by their communities.

It was only a few years down the line that Microsoft started loving open source, forming the .NET Foundation in April 2014 as a home for 24 .NET open source projects and putting manpower behind it. The mindshift towards open source is well laid out in Scott Hunter's Starting the .NET Open Source Revolution:

Today building open source software at Microsoft is normal — but when I started at Microsoft in 2007, it sure wasn’t. It took a few years to figure out the right thing to do and to get the big ship that is Microsoft turned into the wind of open source. But we’re there now and I look back on those early challenges with a smile. This is my story of the first successful open source project at Microsoft and how it paved the way to where we are today.

It’s no secret that ASP.NET MVC was a response by the ASP.NET team to the huge surge in popularity of Ruby on Rails — started back in 2004 by the inimitable David Heinemeier Hansson as part of Basecamp. By 2007, Ruby on Rails had been included with the latest version of Mac OS X! The combination of the Model-View-Controller pattern with the scaffolding that was Rails dramatically cut down the amount of plumbing code that a web developer needed to write. It made making forms-over-data web pages delightful, and web developers loved it.

It was a statement that prompted me to ask :

Why did the DLR based languages such as IronPython and IronRuby go defunct? Were they victims of their success in that they were competent competitors to the .NET languages like C#?

Scott Hunter replied :

There were points in time where with .NET we just tried to do too many things at the same time. The DLR languages were more victims of us just trying to focus the basics of .NET again. During that time frame we were building new web frameworks based on competition and starting our open source journey. Back then we gave customers so many options that it made the platform appear more complicated.

This is further corroborated by Steve Dower who in Python at Microsoft: flying under the radar states :

Python was a language that belonged to other people, and so Microsoft was not interested.Over the last years, the change has been dramatic. Many Microsoft products now include Python support, and some of the newest only support Python. Some of our critical tools are written in Python, and we are actively investing in the language and community.

In 2011, Python at Microsoft was literally trying to fly under the radar. In 2018, we are out and proud about Python, supporting it in our developer tools such as Visual Studio and Visual Studio Code, hosting it in Azure Notebooks, and using it to build end-user experiences like the Azure CLI. We employ five core CPython developers and many other contributors, are strong supporters of open-source data science through NumFOCUS and PyData, and regularly sponsor, host, and attend Python events around the world.

Microsoft's commitment to open source was seen in the migration of more and more projects to GitHub, shutting down CodePlux in 2017 and then announcing its acquisition of GitHub in 2018, something that has proved a boost to open source development, see GitHub Grows As Business and Open Source Establish Firm Ties.

Thus, since open source is not anymore seen as the arch enemy, we witness Microsoft's attempts to reinstate Python on the .NET platform through PythonNET. Release 3.0.0 as it currently stands, is the culmination of over 2 years of work from many contributors to modernize the code base and support modern .NET and Python versions.

At the same time, IronPython's community while slow to pick up has been expanding, currently being at IronPython v3.4.0-beta1, targeting .NET Framework 4.6, .NET Core 3.1 and .NET 6. The baseline for this release is Python 3.4. While compatibility with CPython has been one of the main goals of IronPython 3, there are still some differences that may cause issues.Most importantly there's still no support for packages which are C extension modules, such as pandas or numpy.

There's plenty of of other evidence that Microsoft, which already loves Linux and loves Open Source, now loves Python too. One  is that it lured the creator of Python, Guido van Rossum, out of retirement and he is now a Distinguished Engineer in the Developer Division with an ongoing mission to make Python better, and in particular exploring performance improvements to CPython. Python is not only supported in Visual Studio and VS Code it is also in 10 and if you want to discover what Python can offer then Microsoft has educational material in the shape of 44-part YouTube video based course,  "Python for Beginners". It also offers financial support as a Visionary Sponsor of the Python Software Foundation.

 

 microsoft loves python

More Information

pythonnet - Python.NET

IronPython 3

Related Articles

IronPython

Microsoft's Dynamic Languages Are Dying

Microsoft Lets Go Of Iron Languages

Homes Found For Iron Languages

IronJS - In Conversation with Fredrik Holmström

GitHub Grows As Business and Open Source Establish Firm Ties

Guido van Rossum Joins Microsoft

Microsoft Now Visionary Sponsor Of Python

Programmer’s Python: Async (I/O Press)

To be informed about new articles on I Programmer, sign up for our weekly newsletter, subscribe to the RSS feed and follow us on Twitter, Facebook or Linkedin.

Banner


Sequin - Open Source Message Stream Built On Postgres
31/10/2024

Sequin is a tool for capturing changes and streaming data out of your Postgres database, guaranteeing exactly once processing. What does that mean?



Raspberry Pi CM5 - Expensive And Undocumented
27/11/2024

So the unexpected has happened - the Compute Module 5 has been launched. But it simply emphasises some problems with adopting the Pi as an IoT device.


More News

espbook

 

Comments




or email your comment to: comments@i-programmer.info

<ASIN:1871962765>
<ASIN: B0BHDWZY62>

 



Last Updated ( Tuesday, 15 November 2022 )