This week I had a interesting email from an academic interested in exploring F# for functional programming. F# for those who aren't aware has a number of opportunities in academic teaching, learning and research including analytical programming  the sort that are encountered in finance and data science.

image

Microsoft Research have recently announced a web based IDE entitled Try F#. Try F# is much more than a set of tutorials its actually a web based IDE which lets users write code in the browser and share it with others on the web to help grow a community of F# developers.

image

Very similar to Microsoft Touchdevelop at www.touchdevelop.com this latest release of Try F# is an evolution that keeps the tool in synch with the new experiences and information-rich programming features that are available in F# 3.0, the latest version of the language. The tutorials incorporate many domains, and help users understand F#’s new powerful “type providers” for data and service programming in the browser-based experience.

The following video includes some recent work by University College London.

Give it a try today!

Try F# now includes “create and share” experiences that help you write simple code to solve complex problems and then easily share snippets or sample packs with others.

F# communities make it easy to get involved:

Why F# in Education

Simple Code for Complex Problems - F# is expressive and concise, which allows developers to implement their algorithms more directly. This means less code to read and maintain.

Rapid Prototyping- Using F# Interactive, code can be executed immediately without first compiling, which enables fluid problem exploration. Developers can use F# Interactive to iteratively refine algorithms to production quality.

Fewer Bugs-  Case studies and user reports consistently show that F#'s strong type system reduces software bugs. Units of Measure further increase these benefits by preventing code from accidentally combining such elements as inches and centimeters, dollars and euros, or any custom units.

Seamless Interoperability  - F# interoperates seamlessly with C#, and F# can be used with HTML5, JavaScript and other web standards. F# type providers can be used to integrate data sources and thousands of statistical libraries from packages such as R. The NuGet package environment provides over 8,000 new packages. Enterprises can use F# effectively without having to use different libraries and frameworks, and can leverage their existing assets and domain knowledge.

Efficient Execution- F# features modern, high-performance just-in-time (JIT) compilation to native code. F# code runs unchanged on both 32-bit and 64-bit systems by using the instructions available on the target architecture. The resulting code runs at the speeds much faster than languages such as Python, JavaScript or R, and in some cases significantly faster than C#.

Reduced Complexity- F# makes it easier to write functional programs, which eliminates complex time and state dependencies. This helps prevent bugs, makes unit testing more straightforward, simplifies refactoring, and promotes code reuse.

 

If your interested in learning more about F# in academia please contact Kenji Takeda at Microsoft Research Connections