Day Two of the 12th annual Emerging Technologies for the Enterprise Conference was held in Philadelphia. This two-day event included keynotes by Blair MacIntyre (augmented reality pioneer) and Scott Hanselman (podcaster), and featured speakers Kyle Daigle (engineering manager at GitHub), Holden Karau (principal software engineer at IBM), and Karen Kinnear (JVM technical lead at Oracle).
The Visual Studio 2017 release in early March included F# 4.1 and an update of the Visual F# tools. F# 4.1 brings improvements and interoperation with C# 7 while the tools are the first version supporting the Roslyn workspaces.
Microsoft develops C#, Visual Basic, and F# in public but doesn't always share its plans for these popular languages. Mads Torgersen has provided some new guidance on where Microsoft plans to take these languages in the future.
F# 4.1 brings improvements to the language. It is distributed through the Microsoft tools for F#, which are stated to ship later this year. This version enables support for struct tuples, interoperation with C# 7 and by-ref returns.
Project Springfield is a fuzz testing service for finding security critical bugs in software. William Blum, principal software engineering manager on the Springfield team at Microsoft Research, explains how adopting F# helped the team build the cloud service.
Scripting in F# is usually done using .fsx files and F# Interactive (Fsi). For scripts that will be reused, Paket and Fake bring several features to handle different uses cases. Fake can be used to structure complex scripts, while Paket brings dependency management.
The F# Software Foundation oversees all aspects related to F#. This includes the technical side as well as promoting the language and offering services to its members such as its mentorship program. InfoQ reached out to Reed Copsey, Jr., executive director of the foundation, to learn more about the foundation’s role and its programs.
Don Syme, creator of F#, presented at .Net Fringe 2016 an assessment of the current status of F#. He also commented on the duality that exists in F#, a functional language created on a runtime built for object oriented languages.
Windows Management Instrumentation (WMI) is a primary source of data when monitoring Windows systems. Given that the performance counters available vary from machine to machine, a tool is needed to list all counters available. The WMI type provider is one possible option to explore WMI performance counters.
The Azure Storage Type Provider brings statically typed access to Azure storage data sources: Blob, Table and Queue. Isaac Abraham, maintainer of the project, recently presented how to interact with these data sources using the type provider.
The advent of .NET Core brings the ability to build and run F# programs on Linux and Mac OS X with the same level of support as Windows. David Stephens, program manager for F# at Microsoft, presented how to get started with F# on .Net Core at Build 2016.
Unit of measures in F# bring the ability to add type information to basic numeric types. This leads to more safety against unit mismatch, such as using seconds where milliseconds were expected. While it is possible to deal with unit of measures using classes, having the feature built into the language leads to more concise code.
Although Selenium is a popular library for UI testing, issues about fragile and unreliable tests are common. InfoQ reached out Chris Holt, creator of canopy, to learn more about the F# library built on top of Selenium.