Take the 2-minute tour ×

I am currently learning the two languages F-Sharp and Scala. These two languages are, in my opinion, both quite comprehensive to grasp. Nonetheless, what seems to make Scala and F-Sharp similar, is that both of them try to offer a conglomeration of programming paradigms (OO, functional), in order to solve real-world tasks and to make them applicable as general-purpose languages.

While both languages seem to get the most attention in academia, there is comparable little mention of their usage in commercial software projects.

Considering the different platform philosophies behind these two languages, which is -in your subjective opinion- more promising to become widely used for commercial purposes in the near future?


migration rejected from stackoverflow.com Oct 25 at 7:27


closed as primarily opinion-based by gnat, MichaelT, Dan Pichelman, GlenH7, Bart van Ingen Schenau Oct 25 at 7:27


1. It is called F# (except in file names and urls, because # has a different meaning there). 2. SO doesn't appreciate opinion questions, you should ask questions like this in Programmers. Someone will probably move it for you this time (I can't). –  Ramon Snir Jul 5 '11 at 9:08
What a helpful reply! Thank you! –  Lord Flashback Jul 5 '11 at 9:12

2 Answers 2

I know F# has been accepted in the financial sector. I remember awhile ago Don Syme (the main creator of F#) posted on his blog that Credit Suisse was hiring F# programmers. I think the nature of F# (at least, have little to no experience with Scala) lends itself more to internal applications or niche software. I don't think that it is likely that you'll go out and see shrinkwrap software that was written in F#.

It has gained a foothold there, but not more. The vast majority of software developed right now in finance is C++/C#/Java. –  quant_dev Jul 5 '11 at 13:16

Most programming languages these days are multiparadigm, one way and another.

Functional languages like the ones you mention, have been for a while, but, today are a "trend" or "hype".

C#, VB.NET, Delphi, Java: altought very object oriented, are a combination of other paradigms.

For example, Usage of "modules" or "namespace" ist considered not a paradigm by itself, or part o the procedural paradigm. Have you seen a C / C++ / PHP program without namespaces ? Its complicated.

In conclution, a lot of applications you have in your PC or web, its already "Multiparadigm", even if there is a main paradigm, like Object Orientation in Java or Functional Orientation in F# ...