F# - Introduction
Just a few days ago, 27th of February, I gave a presentation introducing F#, and like a few years ago this was held at realraum. In case you are interested, view the slides.
Although the announcement mentioned “one hour” and “teaser on the F# highlights”, I totally screwed up those parts and it took nearly 2.5 hours, and only talked about the basics of the basics. I talked about the
- minimum necessary syntax
- functional-programming ideas like higher-order functions, currying, composition, tail-recursion, immutability
- that OO and imperative style exists
- a little bit on monads, especially
- pattern-matching, type deduction
Type providers only existed as a teaser, and many other things where not covered at all. I don’t know what took me so long. At least, the mood of the participants seemed quite OK, and I was told that one liked my enthusiasm. (I hope that was meant as a good thing.)
Now, I have not further edited the slides, as this would probably lead to them never being finished. However, I took some lessons from my part-screw-up:
- I should have taken a step back, and asked myself more strictly: What is the goal of this? At the end of the presentation, what can the audience take with them?
- But even then I must take limited time into account: I must choose a topic so narrow that a meaningful exhibit is possible.
- Not knowing something is OK, but not knowing something, telling people that, and then going on speculating for another five minutes does not add to the conversation. Just, stop. Better to talk about things that I know.
- I really don’t understand why I was falling for this stupid comparison trap: it’s about F#, and not some problems of the Ruby VM. So don’t talk about the Ruby VM. Damn it.
But after all that complaining: at the end, it did not run worse than expected. It’s an acceptable base level. And also, I got to know remark and highlight.js.