Your current filters are…
Data science is emerging as a hot topic across many areas both in industry and academia. In my research, I’m using machine learning methods to build mathematical models for cancer cell behaviours. But using today’s data science tools is hard – we waste a lot of time figuring out what format different CSV files use or what is the structure of JSON or XML files. Often, we need to switch between Python, Matlab, R and other tools to call functions that are missing elsewhere. And why are many programming languages used in data science missing tools standard in modern software engineering?
In this talk I’ll look at data science tools in F# and how they simplify the life of a modern scientist, who heavily relies on data analytics. F# provides a unique way of integrating external data sources and tools into a single environment. This means that you can seamlessly access not only data, but also R statistical and visualization packages, all from a single environment. Compile-time static checking and rich interactive tooling gives you many of the standard tools known from software engineering, while keeping the explorative nature of simple, scripting languages.
Using examples from my own research in bioinformatics, I’ll show how to use F# for data analysis using various type providers and other tools available in F#.
In object oriented programming world, writing code for the success of your project is often not enough. You have to bear in mind various frameworks and libraries like ORMs, IoC, mocking and testing and so on and so forth. Writing code is also complex: finding the right abstractions, or applying S.O.L.I.D principles and design patterns are meant to keep your code extensible and refactorable, but require the experience of a senior developer - and ultimately, they have little to do with delivering business value. This is just noise !
Signal-to-noise ratio is a measure used in science and engineering that compares the level of actual information conveyed by signal, to the level of background noise. We can see business value as signal, and noise as everything that is not directly used to deliver business value, like frameworks, libraries, complexity, lack of expressiveness.
In this talk, we will explain how bringing F# to an actual project helped improve the signal and reduce the noise. The conciseness of F# helped de-clutter the code from useless language constructions. Its convenience made many programming tasks much simpler, and its very powerful type system prevented many common errors, and also helped expressing a really powerful domain model. Getting rid of mocking frameworks for testing, ORMs for databases, and using just functions, focusing on building functionality and delivering business value, made the whole experience a real pleasure !
F# type providers are way to inject types for external data sources into compiler without code generation. Let's dive into the world, where all your data, wherever it comes from, can be statically typed. Thanks to power of F# type providers you can get type safety on your json data, sql databases, csv files or external API's. In this talk I'm gonna demo how you can start using this powerful features, and how start working on your own type provider.
26th–27th February 2015