Peter Seale's weblog

I write about programming and don't take myself too seriously. Read my standard disclaimer. Follow me on Twitter at @pseale and be inspired.
Wednesday, May 21, 2008 8:00:52 PM UTC #

Update: I used the word 'connection' in the title of this post for a reason

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

Original Introduction

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

Know your history

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.


Let's talk to Greg Stein

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: Wow!

Randal: Wonderful!

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.

SharePoint! Python! Scandal!

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.

Depressing footnote: learning investments

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!

Wednesday, May 21, 2008 8:00:52 PM UTC  #     |  Comments [5]
Friday, May 23, 2008 7:23:09 AM UTC
The Visio effort was created by a miss, not a sir ;-)

...and thanks for teaching me something - Site Server and Python, who would have known...

p.s. best way to get more than a sneak peak will likely be to go to the PDC in October.
Saturday, May 24, 2008 8:12:56 PM UTC
Oops! My bad on the whole "gender assumption" thing, my bad :)
Peter Seale
Monday, May 26, 2008 2:43:26 PM UTC
"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?"

Well, I've been churning out Perl code since 1989 or so. That's nearly 20 years. And I first started using GNU Emacs to read news (using Gnews, not GNUS) when my sysadmin started "nice"-ing "rn", and I think that was in the 1983 timeframe, so that'd be 25 years of GNU Emacs.

Thanks for linking to FLOSS "Weekly"!
Tuesday, May 27, 2008 4:46:22 PM UTC
Your comment did not make me feel any better :)
Peter Seale
Thursday, November 06, 2008 4:30:37 PM UTC
(deleted subtle comment spam--it looked like a well-written question, but wasn't. Spammer included a link to their website. If that wasn't a spammer, sorry, but it sure looked like linkbait attempting to boost their googlejuice)
Peter Seale
(will show your gravatar icon)
Home page

Comment (Some html is allowed: b, blockquote@cite, strong) where the @ means "attribute." For example, you can use <a href="" title=""> or <blockquote cite="Scott">.  

[Captcha]Enter the code shown (prevents robots):

Live Comment Preview

© Copyright 2015, Peter Seale