Settings

Theme

Microsoft unveils the F# programming language

blogs.techrepublic.com.com

13 points by 0_o 17 years ago · 9 comments

Reader

henning 17 years ago

"You can get F# to do what you want, but it seems to be more relevant for number crunching activities like financial/data analysis, modeling, and academic work — at least, this is what Microsoft is saying."

I don't understand this -- .NET-oriented podcasts and other people discussing the language have described F# this way as well. It would be a mistake to think F# is some kind of niche language like APL or Prolog just because it supports functional programming. They also bring up Lisp (which they all seem to spell as LISP), which shows that they have a hard time separating functional programing support from Lisp which is multi-paradigm.

My limited experience with it tells me F# would be a good general-purpose replacement for C#.

  • cosmo7 17 years ago

    > My limited experience with it tells me F# would be a good general-purpose replacement for C#.

    Yes, in the same way that a hairdresser would be a good general-purpose replacement for a pizza.

    • cosmo7 17 years ago

      The point I was trying to make, before a horde of retards modded me down, was that C# and F# address different challenges and are not designed to replace each other.

scott_s 17 years ago

"That is, you don’t have to write object-oriented code with F#; you can think in more procedural terms to solve a problem."

Ouch. I don't think the author knows the difference between procedural and functional.

  • gregwebs 17 years ago

    I doubt we do either. Procedural isn't very well defined term. Usually people mean imperative when they say procedural, and it doesn't seem like the author understands the difference between imperative and functional, other than not being able to re-assign a variable.

jodrellblank 17 years ago

If this is the September CTP rather than, say, a v1.0 release, then it's not really an unveiling - there have been previous CTPs for months / year(s).

I thought my download/install/say oooh/delete was cursory, but whoo, he really does kick the tyres, doesn't he?

"One of the first things I noticed is the use of the let keyword to assign variables"

No no no! They're not variables because they don't vary!

(and the shell doesn't work without compilation, it does on-the-fly compilation - or it wouldn't work. And you don't need to wait to find out about it's efficiency, it's been benchmarked loads, it runs on the .Net VM taking advantage of all that it provides. Pattern matching lends itself to data analysis? How vague and useless is that claim? And you don't need to force it on a client, it's a .net language, hello? It runs on the .net framework! "The previous sample demonstrates output via the printfn function" hello redundant commenting that tells you exactly what the code tells you! Gah!)

;_;

trezor 17 years ago

While not really "news", it's interesting to see how Microsoft actually puts time and effort into non-mainstream projects like this.

As for the linked article, it raises one question which had me thinking:

I also pondered why another .NET language (from Microsoft) is necessary. Are C#, VB.NET, and the available third-party languages not enough?

I'm not complaining about getting more options, but with .NET compiler implementations for a dozen languages, functional languages like Python included, this seems like a valid question.

  • mrkurt 17 years ago

    First class MS languages fit into the entire "environment" in a way that the less important ones can't even begin to approach. There are a bunch of super interesting languages that are extremely tedious to use in a mixed language .NET environment. Things like MS Build support, VS integration, and everything else are really nice to have.

    Even F# suffered before MS really bought into it. It had basic VS integration, but no MS Build support, and other quirks that just became a headache to deal with every day. With the CTP, I can add an F# project to an existing .NET solution and use it like I would C# or VB. It's saved me a ton of time already.

    As to why you want more: I want more because it's good for my brain. :) I also want more because I can attack problems with a tool that may be better for the job without breaking out of my applications.

  • wayne 17 years ago

    Getting official Microsoft support with an official IDE is a big deal and this seems to be the first functional language Microsoft is taking seriously. IronRuby/IronPython and third party languages may exist, but they're nowhere near as big as the official languages (C#, VB.NET, managed C++, and heck, even J#).

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection