Microsoft embraces functional programming

From here:

This is interesting. My experience with functional languages is pretty limited, but it’s not hard to imagine how they’re useful in the fields mentioned above. I like the idea of “what not how” programming, so I’ll be interested to see where this goes.

That’s funny, I don’t know how prevalent it is used, but around these parts F-sharp is a euphemism for “fuck”.

Oh, rest assured that hasn’t gone unnoticed internally. :slight_smile:

Productize?

I’m probably the most vocal descriptivist on this board, but excuse me while I go scoop out my eyes with a spoon and then set myself on fire.

Maybe I’m overly skeptical, but if Microsoft is promoting F# then it must be that they’re selling software that requires an F# interface and is incompatible with anything that’s not also written by Microsoft’s proprietary version of F#.

This is a big change; up until now Microsoft has always specialized in non-functional programming.

You mean it it isn’t “F#.net”? Microsoft promised me 72 virgins in a future life if I referred to everything as <whatever>.net .

Be thankful it wasn’t from Apple, as “i-F#” just sounds stupid.

There are Microsoft-brand black helicopters en route to your location as we speak to mete out your punishment for not correctly capitalizing <whatever>.NET.

Are you sure about this? :rolleyes:

Great. Now get people to use it.

Of course, there is no reason whatsoever to invent a new programming language. We already have plenty of good ones in the pure functional sphere alone, and all of them have good compilers and plenty of experience behind optimizing them on unfriendly hardware.* Inventing a new programming language is way down on the list of useful things Microsoft could be doing with what it has.

*(The languages you think must be dogs are actually pretty good. People much smarter than you worked long and hard making Smalltalk and Lisp and Prolog and Haskell go fast on real hardware. It’s the C and C++ compilers that can’t optimize much because the language doesn’t hide anything.)

Yeah. It must be.

Can you expand upon that? What do you think MSFT is doing that you consider un-useful? And what exactly do you define as “what it has”?

At this point I raise a question: What is “functional programming”?

It’s only just beginningizing.

Thanks.

That was so helpful, my only possible response is to go run a cheese grater up and down the entire length of my arm for 36 hours.

Yeah, and we’re assuming it doesn’t mean “programming that works”!

Inquiring minds want to know.

Not that this is going to help but,

You’re absolutely right, Uncle.

Now in English for Dummies?

Pure functional programming is programming with no side effects. You can replace any statement with its return value and you won’t change the behavior of the program. It’s really popular in the academic community, and taking off with other people who do technical programming.

I’ve got a degree in Computer Science and I still can’t explain it so that it makes sense. I’ve taken classes in functional programming and have read entire books on its theory and practice, but sit me down in front of a computer and tell me to write a program in Haskell and I still choke. Functional programming haunts me like Moby haunted Ahab. Please excuse me, I’ll be weeping in the corner.