To everyone who links to this post with the phrase "SharePoint is written in Python", please allow me to make it super clear: no it isn't. The commerce module of a spiritual ancestor of sorts of SharePoint's was written in Python. That was Site Server.
To make it more clear: SharePoint doesn't have a commerce module. Commerce Server does.
Sorry I felt I had to do this, but, so many people were linking to this post with the semi-twisted-truth ("Did you know that SharePoint was written in Python?") that I will risk ruining this fun little history lesson by spoiling the ending. Sorry; on with the show.
Fun update: Greg Stein has written an article expounding on all this: Microsoft Ships Python code…in 1996
Before you ask, no, this isn't a sneak peek into SharePoint vNext*. Instead, we are going to visit the ghost of Christmas Past:
FLOSS Weekly 28: Greg Stein for WebDAV
* However, if you can hook me up with any kind of sneak peek into SharePoint vNext, I'll pay you, cash**. Or, as good as cash anyway: old SharePoint books. Those things are timeless! Your knowledge never expires! (see depressing footnote at end of this post) ** Contrary to what has just been written, we don't endorse crime
This discussion will be meaningless if you're not aware of SharePoint's origins. This SharePoint history page has an excellent summary, and even more excellent SharePoint history diagram. Go go Visio skills, good job sirma'am!
Anyway, if you're interested, click through the diagram below.
From FLOSS Weekly 28, at the 47:30 mark:
[context: wide-ranging discussion of his programming language of choice, which is Python, and his history at Microsoft]
Greg Stein: Our commerce system was written in Python, and we had this neat little attachment thing that would go from Apache to long-running Python process which then maintained open connections to the Oracle database, and it was actually quite efficient, and you could do some serious online commerce. Well, when we got to Microsoft (this was in June '96) we switched over the … instead of Apache to the long-running process, it became IIS through named pipes to some backend long-running NT services…But that NT service was really just a thin wrapper, that had a Python interpreter running in it.
Leo Laporte: Ahh!
Randal Schwartz: That's great!
Greg: We didn't ship the dub-PY files, it was all .pyc's, and it was October '96, Microsoft Merchant Server 1.0 was delivered, and if you installed that, you could go in and find a directory with .pyc files sitting there.
Leo: If you did that today, that would hit the headlines.
Greg: Oh yeah, yeah.
Greg: And then in December '96 they came out with Active Server Pages, and there you could embed COM objects right into the server pages. And so we got rid of our custom templating system, and turned all of our things into COM objects, which were still implemented in Python by the way, and those went into Site Server 2.0. And so Site Server 2.0 also has some Python in it.
Greg: So Microsoft for a while did ship some Python.
To spell it out for you: Site Server, the product which eventually became "Tahoe", which eventually became SharePoint as we know it, was written (at least in part) in Python! Python! In 1996! In 1996, a predecessor to SharePoint was implemented partly in Python!
I didn't believe it the first time I heard it, but there it is. SharePoint's predecessor was for a brief moment in 1996, a pretty cool web application written in Python. Sounds a lot like 2008, doesn't it?
Attribution: the diagram is not mine, though the offensively obnoxious green text is mine.
Somewhere around the ~38:20 mark in the podcast, they ask him "what is your favorite programming language" and he replies that he has been programming in Python for 13 years, and using Emacs for 22 years.
I'll leave you for a while to ponder the incredible longevity of his ("the other guys") platform.
To me this news is incredibly depressing—how long have my programming language/platform choices been valid? How long will my SharePoint skills remain useful to any extent? I don't want to be on the Microsoft learning treadmill forever if I'm churning major parts of the framework every 2 years. Can you imagine evolving your ecosystem for 13 years? Can you imagine learning your IDE in-and-out, and continuing to use it for 22 years? It's almost unthinkable in our (Microsoft) ecosystem.
Argh, I'll stop. 13 years! 22 years! And counting!
b, blockquote@cite, strong
© Copyright 2013, Peter Seale