F# Foundation: Taking Microsoft's F# Language to a Higher Ground
“As open source software, F# has great potential for education so we want to see it taught in schools and universities around the world and made available on computers like the Raspberry Pi,” Harrop said. “F# is perfectly suitable for software development on Android and iOS but, to date, nobody is really using it for this. The F# Foundation was created to help with all these non-Microsoft initiatives. For example, Xamarin sells fantastic products that provide .NET-like software development tools for Android and iOS development including C#, but not yet F#. So we are pushing them to add F# support to their products.” Indeed, Harrop said many of Flying Frog’s clients want to develop mobile applications in F#, so the firm wants to work with the F# Foundation to make this easier. Meanwhile, Cesar Mendoza, an FSSF member and software architect at DuPont Pioneer, said as a .NET developer interested in functional programming, moving to F# was a “no brainer” for him. He said he uses F# mostly as a scripting language, which is one feature in F# that does not get as much attention as others.“We use F# scripts to automate administrative tasks,” Mendoza said. “When a sales rep connects to our network, the synchronization process downloads any F# scripts that we have released and runs them on the laptop. What we like about F# is that we have the feel of a scripting language with the safety of static typing.” For its part, Flying Frog has provided F#-related products and services to more than 1,000 customers around the world, Harrop said. And the company has trained dozens of people in various industries to use F# products, ranging from the CTOs of billion-dollar hi-tech multinationals to ordinary LOB software developers with non-technical backgrounds. As a scientific computing shop, Flying Frog is quite familiar with Fortran, which has long held a key role in the world of scientific computing, Harrop said. Yet, “Fortran is fine for linear algebra but bad for almost everything else, particularly computer algebra,” he said. However, Harrop said his shop got around some of Fortran’s limitations with the OCaml language. “We learned from that and set out to encourage wider adoption of this fantastic tool,” he said. “In 2007, when Microsoft learned that we were making money from OCaml they decided to productize their own derivative language called F#.” Moreover, also in 2007, Flying Frog decided to diversify and assessed C#, Scala and Haskell as well as F#. “We decided that only F# had the essence of what makes OCaml so productive,” Harrop said. That year, the firm shipped the first commercial literature about F#, the F#.NET Journal, and the first commercial product written in F# -- the F# for Visualization library, “which turns F# in Visual Studio into a graphical calculator on steroids,” he said. As a developer that looks for the art in programming, Belitski said he likes the “pure aesthetics” of F# and appreciates its “tooling quality” and support for “exploratory programming” -- where developers can more easily try different things and get a final result that is less error-prone and much faster, than through traditional full build cycles. “I love F#’s succinct style that eliminates a lot of syntactic noise from the source code,” Belitski said. “I cannot live without static type checking. Not to mention other novel facilities like Active Patterns, Async Computations, Units of Measure, and the latest and greatest, Type Providers.”
DuPont Pioneer has a mobile sales force of around 4,000 in North America and each one of them is issued a laptop Mendoza’s team has to provide apps for,” he said.