

Scheme Is Love - prakash
http://msdn.microsoft.com/hi-in/magazine/cc163729(en-us).aspx

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

~~~
kylec
Microsoft has always been a little slow on the uptake

~~~
gruseom
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.

~~~
greyman
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.

------
andreyf
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._

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

------
jmatt
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"?

~~~
snprbob86
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>

~~~
gruseom
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.

~~~
snprbob86
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.

------
jrockway
_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.

------
lst
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_ ).

