Hacker News new | past | comments | ask | show | jobs | submit login
Scheme Is Love (microsoft.com)
34 points by prakash on Oct 16, 2008 | hide | past | favorite | 15 comments



I think 1960 called, and asked for its programming revelations back. Code as data is cool? Lambda is powerful? Well... indeed.


You have to understand how godawful of a rat's nest COM was, and the reams of technical gobbledygook that Don Box churned out while pushing it (and then the same thing all over again with XML and SOAP), to fully appreciate the irony of his discovering the first thing about Lisp in 2005.

Edit: Also, a telltale question: do you think he ever actually built anything with Lisp or Scheme? I'll bet he went straight to "improving" on it.

Edit 2: moved irrelevant bit to a different comment.


Microsoft has always been a little slow on the uptake


Your comment got me thinking. I think the issue is not that MS are slow - they used to be pretty quick at some things. Rather, it's that they've always been willfully ignorant of the larger computing culture. They never had any interest in connecting with or learning from the richest programming traditions or the best ideas or the hacker communities. They just created their own technological anti-utopia, a sort of Greenspunland in which myriads of half-baked, wildly complicated things conflict with each other. Entire armies of programmers grow up there and never leave.

I know this sounds cranky. It's because I started my professional programming life in this dark forest and it took years to find my way out. And I think it's a shame that they dominated the industry for as long as they did, because they wrought such damage on the level of ideas.

There's a certain type of smart-but-ignorant programmer who is infatuated with his own IQ, doesn't want to learn from anybody who knows more, and just cranks out reams of code (often filled with pseudo-abstractions that make it a lot worse than plain old bad code). I think of MS as the corporate equivalent of this type.

Edit: I should add that not everybody at MS is like this, of course. But the exceptions are people who grew up outside that culture.


Things got improved recently...I tend to like the new Visual Studio 2008 + .NET + C# combo.

Despite the numerous critique I partially agree with, Microsoft showed the continuous commitment to improve their software, and I personally still think that staying with them, as a profesional developer, is not a bad choice.


Microsoft has always been a little slow on the uptake

No, our industry is slow on the uptake.

Microsoft makes products. They don't make languages to be cool or expressive or powerful, but as products to sell.


Note the date: October 2005. Especially interesting is the last sentence:

This melding of code and data is central to all dialects of Lisp, and is fundamental to the way Microsoft is integrating multiple expression languages (most notably SQL) in future versions of the Microsoft .NET Framework.


That is how you can write lambdas in linq that can operate on a variety of different data sources.


Nice I didn't notice the date. A notable change since then is the DLR.


Wow! I never thought I'd see Don Box posting about his love of Scheme. This is surprising and interesting change for someone that designed SOAP and WCF. It'll be interesting to see what comes of it. He is a well known figure in the .NET community and even pre .NET. Remember "COM is love"?


This was posted in 2005. We know what CAME of it: C# 3.0 and Linq.

http://en.wikipedia.org/wiki/C_Sharp_(programming_language)#Features_of_C.23_3.0 http://en.wikipedia.org/wiki/Language_Integrated_Query


I'm skeptical of how much credit Box and the ex-COM crowd deserve for the good things (the functional programming things) in C# 3.0. These people's hallmark for 15 years has been their gift for taking simple things and making them complicated. The functional extensions to C# aren't like that. I suspect that the FP people that MS hired (Erik Meijer et.al.) had more to do with it - and most importantly, the leadership of Heijlsberg, who matured intellectually long before he entered MS and who has little in common with MS culture.


Although I have never met Heijlsberg myself, I have a good friend on the C# team and have met many people who work on programming languages at Microsoft. My understanding is that Heijlsberg and team are very much in line with the MS culture. Well, the DevDiv culture at least.

The fundamental thing to understand here is that Microsoft is a very large company which has has evolved into many subcultures over time. DevDiv, or the Developer Division, is by far the most progressive of these. It's the old "Raymond Chen vs MSDN Magazine" thing (Google it). C#, however, is just so great because of people like Heijlsberg, Erik Meijer, Mads Torgersen, Eric Lippert, and many many others who are brilliant, bring outside ideas, but still operate within the very successful mindset of DevDiv which birthed Visual Basic and Visual Studio.

Side note: I've noticed that I've become a little bit of a Microsoft apologist on HN lately. Receiving a paycheck from them has a little bit to do with it, but the truth of the matter is that I am trying to understand why they are so successful and where they fail. If you keep your eyes open and ears tuned, you can learn a lot about software and business at Microsoft. I'm also trying to share this knowledge a bit, because HN is a place where the knowledge is appreciated. Slashdot? Not so much.


For example, Scheme defines only one conditional in its base: the if special form.

Hmm? cond appears to exist in R5RS also.

Also, these two forms are not equivalent:

   (define s (lambda (y) (+ y 1)))

   Converter<int,int> s = delegate(int y){ return y + 1; };
Notice that Scheme doesn't require y to be an integer.


I find one thing really, really interesting:

If you introduce several different people to the same ingenious and perfect thing, only very few of them are really able to see the perfection (and to open/change their mind accordingly).

And -- on the other side -- many of them will stay the same, or change their opinion only marginally...

So, it's not enough to expose someone to something perfect -- one has also to be so gifted to actually recognize it (and to have the courage to actually change the mind -- and this is work).




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: