Ada Lovelace Day 2010: Amanda Laucher


I m late with the Ada Lovelace Day article, I had the choice of making it on time but incomplete, or put some time and be late, and I chose the later this time. I really though the person and the topic deserved in depth investigation.

I didnt really know how to aproach the Ada Lovelace Day last year and this year I still dont know now, I think the best homage I can do is learn more about F# in this case.

This post is about Amanda Laucher and about F#. Amanda is the author of F# in Action. A speaker and most importantly a software developer, when you see her talking you can see she really likes what she does, and that fact is pretty inspirational.

I found quite a few of her presentations online

Then I also found some other F# resources

Wikipedia had a pleasant surprise in store for me with a really comprehensive introduction to the language, and also pointed me to a wikibook however when I started typing the code and tryng to run it I ran into problems because the parser looks at line breaks.

Disclaimer: I never done any f# before so anything below could be completely wrong (if so please let me know so I learn 🙂 )

In a short time I learnt that

F# is

  • Not purely a functional language, some OO aspects and has type inference.
  • a strongly typed language
  • .Net language
  • has Garbage Collection
  • does Lazy evaluation ( this is really cool )
  • Some sort of Asynchronous workflow ( need to digg deeper on this)

More detail

  • Everything is inmutable by default, but there are mutable objects ( apparently the objects that you can get by interoping with, say,a  c# dll are mutable but i m not sure)
  • lazy evaluation
  • Asynchronous Workflows
  • You can pass functions as result of function executions, or be the result of functions, and have functions inside functions
  • Send parts of parameters into a function
  • have a collection of functions that can be started asynchronously (holy smokes!)

After looking around I also found some good videos from Erik Meyer on the topic, hes got a series of them you can have a look here, the series goes through the history of functional programming and principles, very interesting.

I can see a lot of potential on this, I find functional programming a big mind switch and I m sure it will take me a good while to do it properly, however, the goodness of looking at this code comes from the ideas you can take from different aproaches.

One thing that did strike me so far is that i ve seen bad variable names and no unit testing on it at all, on the other hand, the power that you seem to sudenly have is just incredible, tho since the paradigm shift is so big, I found myself stumbling and not being able to do things that i find really simple in c# (like print an array to the console, the difficulty was on realising that the line breaks are significant)

The real life example from the QCon talk from 2009 was a really good way to see the value of the language as real life usage, the QCon  talk from 2010 was really good because it dived deep into the language, language usage, etc.

I feel like I ve started learning something that will cahnge the way I code and I m really happy about that.


3 Responses to “Ada Lovelace Day 2010: Amanda Laucher”

  1. 1 nola

    I’ve met Amanda and she is a great person! And just meeting her made me want to try functional programming. 🙂

  2. 2 Maggie Longshore

    Great topic. Amanda spoke at the Central Ohio day of .net in 2008 on F#. This was my first introduction to functional languages. On a related note, at this talk, Amanda spoke about the developer community and twitter and inspired me to check it out – this has led me to branch out and meet many many developers and travel to several conferences. This has had a big impact on my career.

    Her blog is

  3. 3 roundcrisis

    Thanks for your comments 🙂
    Glad to hear this. I don’t know where you guys are, but we have a growing community here in Ireland and if you are ever around, let me know we can organise something

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

%d bloggers like this: