Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I am seeing that Microsoft is concentrating too much on F#. What type of language it is going to be and will it replace the C# user base?

In the last few months I am noticing Ruby posts in some forums going down whereas Python forums are going up. If Microsoft had not stepped back from IronPython, do you think Python would have ruled C#?

share|improve this question

closed as primarily opinion-based by MichaelT, gnat, Giorgio, Simon, Bart van Ingen Schenau Jan 2 '14 at 17:43

Many good questions generate some degree of opinion based on expert experience, but answers to this question will tend to be almost entirely based on opinions, rather than facts, references, or specific expertise. If this question can be reworded to fit the rules in the help center, please edit the question.

I don't think MS is consentrating too much on F#, in Don Syme's F# talk on PDC09 at about 15:40, listen to his reason on why theres no CTP. He says something about the F# team not being as organized as C#/VB –  Jiew Meng Nov 26 '10 at 10:02
Also, I either read or listened something that F# is not a replacement for C#. I think F# is more for services? Not sure ... but theres no F# for WPF is there, there are workarounds tho. I think they still do different things. Not an expert to comment much into it, nv really used F#, watched some videos only –  Jiew Meng Nov 26 '10 at 10:04
I am noticing Ruby posts in some forums going down whereas Python forums are going up!... I am sure is this pretty vague comment –  Tech Jerk Nov 26 '10 at 10:04
We definitely need a [crystal-ball] tag on this site. –  missingfaktor Nov 26 '10 at 17:51

2 Answers 2

up vote 11 down vote accepted

In Short: "No".

On the Java side there's a similar discussion "Will Scala/Clojure (both functional languages) take over from Java? Will Jython (Java port of Python) or JRuby take over?

In all of those cases the newer languages all do have some compelling features, but they're all lacking that key factor of having the existing developer base (and I'm not talking about your enthusiastic thought leaders) easily move into the new paradigm.

So moving to Java from C++ was easy, moving to C# from Java is really easy.

Moving to F# or Python from C#.... hmmm not so much.

share|improve this answer
I've dabbled. Moving from C# to F# doesn't seem that hard. They're interoperable, and once you're really trying to program in C# in a functional way, you realize that there would be a lot of benefits of moving to F#, not the least of which are: type inference, automatic generalization, option type, discriminated unions and pattern matching. The only thing missing for F# right now is a GUI designer tool. (I'm leaving out async workflows because C# 5 will have the equivalent.) –  Scott Whitlock Nov 26 '10 at 17:36
@Scott Whitlock Thanks for sharing your experience! I'm not a .NET developer, but I assumed the transition would be similar to Java --> Scala, it can be done with a bit of nous and enthusiasm, but it is a paradigm shift. –  Martijn Verburg Nov 26 '10 at 18:49

One of the things to keep in mind is that Java gained traction as much from marketing as any technical merit. Sun convinced developers that it was the "language of the Internet"! So many people bought into it that Netscape named their scripting language after it even though the two had nothing to do with each other.

Any language that really hopes to take off needs a new market. The most recent example is the rise of Objective-C for iPhone programming.

Perhaps in the future, a language that convinces developers it's the one for multicore or cloud computing will have a better chance of adoption.

share|improve this answer
Netscape didn't name JavaScript JavaScript because Java was the language of the Internet. In fact, they didn't name it JavaScript at all, they named it LiveScript. Sun paid Netscape to change the name to JavaScript, because they realized that Java had lost and that LiveScript was the language of the Internet, and they simply wanted to save face. –  Jörg W Mittag Nov 26 '10 at 23:08

Not the answer you're looking for? Browse other questions tagged or ask your own question.