First, a proper introduction. Im a 22 year old student from Sweden who have been programming on and off since I was 12, and at the moment Im studying "application development", at something called KY(basically a little less fancy university where you have 6 months of mandatory internship at some company).What we do at school is object oriented programming day in and day out for two and a half year, and during my summer break Im working with a iPhone-app. I would say that my understanding of the object oriented paradigm is steadily getting better and better.
Although I really enjoy this and never get bored doing it I have begun to think about what would be my next step, after i graduate October 2011.
Over the last couple of years I have stared to enjoy mathematics more and more and have been looking at functional programming(mainly Haskell) for a while and I feel that this is something I would be willing to spend a good portion of my life doing(among artist, record label owner, custom bicycle builder and rock star :-) ). Im interested to work with functional programming and to know math, not so much work with it.
So, I have a couple of questions.
A. What would be best choice to get the most out of a degree and get the deepest understanding about FP? A CS-bachelor with mainly math and functional programming courses(in Sweden Chalmers offers quite a lot in this subject) or a Mathematics bachelor with lots functional programming courses?
B. Should I work for a few years before I start studying again? On one hand I think It would be nice to get some real experience but on the other Im afraid that if I get to deep down in the OO-rabbit hole I would get stuck in it, have a harder time grasping all the, for me, abstract techniques and theorems behind FP or just get comfortable with the salary and refuse to start living as a poor student again ;-).
C. I know there is always exiting work for a good programmer, but how is it for a functional programmer?(I'm not limited by living in Sweden, I really want to work all over the world). Do you have to be among the best to get somewhere? Is there many jobs where you program a good portion in the FPparadigm etc etc.
D. Is the idea of studying a lot of math stupid since Its mostly for my personal interest? Would it be better to do a CS, have fun on the math-courses, and choose other courses, maybe software engineering stuff like that to broaden my OO-understanding?
And since Im a music nerd and have held your attention for this long I would like to offer a song as compensation for the long text :-) I present; Tetragon - Fugue, on of the most awesome and epic song of all time. Part 1/2: http://www.youtube.com/watch?v=MNlOuzNkF40 Part 2/2: http://www.youtube.com/watch?v=m9bXMtMIR-s