Hacker News new | ask | show | jobs
by whb07 2557 days ago
There has always been a dark horse OS within .NET its called F#. But what is sad about the state of the average C# dev is that when I ask them about their opinions on F#, they always respond with a "whats F#?"

That's the problem with most .NET developers. They were fed straight from the MS spoon with blinders on, and never wondered what is out there. But to label oneself as a "I'm a .NET dev", and yet you don't know that there is another language besides VB/C# it's just sad.

But now that MSFT has turned things around, hopefully the F# community can get a bigger spotlight and bring a change about.

5 comments

Not intending to start a flame war, just to expand my knowledge.

As someone well versed in C#/VB please ELI5 why F# is so superior to it's OO cousins?

Seems to me like it's actually more difficult to get to the same results with functional languages especially when C# has a lot of "functional" paradigms included?

My general point was essentially that the "average" C# dev has no clue/idea about tech so much so that they don't even know F# exists.

I'm not making any assertions about OOP vs FP. Though some claims would be that with FP it is easier to maintain an application, functions are mapped to a singular result given a specific input, and with F# its got a strong type system.

F# is a fantastic language, IMHO. But there are kinder ways of expressing frustration at its limited popularity, than the way you phrased it.
> There has always been a dark horse OS within .NET its called F#.

F# isn't an OS. And it hasn't always been around, it's much newer than .NET.

> But what is sad about the state of the average C# dev is that when I ask them about their opinions on F#, they always respond with a "whats F#?"

And, so what? F# isn't C#. Why should a “C# dev” be expected to know F#.

> That's the problem with most .NET developers. They were fed straight from the MS spoon with blinders on, and never wondered what is out there.

F# is from MS and it's not exactly hidden by them. But why should a “.NET dev” be anything other than someone who has sufficient knowledge and proficiency with programming with the .NET framework, irrespective of whether it's all in VB.Net or whether they are a ployglot?

Why F# syntax is not c like? That would have increased the adoption
As you get used to the language some of the reasons make sense why it isn't C like. An example I've found is that (arg1, arg2) always defines a tuple wherever it is a function invocation or not. You can pass a tuple around to a tupled-arg function/method (C# style) with multiple args without unpacking it first as a example. Space orientated languages can be better with expressing in-language DSLs as well IMO allowing you to add symbols as appropriate.
" But to label oneself as a "I'm a .NET dev", and yet you don't know that there is another language besides VB/C# it's just sad."

I mean, do you really expect people to know all the CLI languages? Would you expect them to know about Boo, Nemerle or the other handful of languages that target the CLI? Microsoft has also done a pretty poor job marketing F# to developers.