Personal Question - about F# language
This is not a Pythonista question, but I am going to ask here because I respect and trust your opinions.
I have a good friend in Denmark who is going back to school at the agesof 50. He has just completed a prerequisite math course. After the course (3 years) he will receive a BsC , And with an additional 2yrs he can get a masters. Previously he has been in the banking sector.
Anyway the full time university he is attending in Copenhagen is introducing him to programming with F#. I have done a little research, this seems really strange to me. The language looks like a bit of a throw back to gwbasic. From what I have read its also a general purpose language as well as a functional language. To me this seems like Python or another general programming language would be a better first choice and then work in the functional part of the programming at a later date. I listened to a podcast about coconut that seems like it attempts to bring functional programming idioms to Python. I am sure many other ways to get exposed to functional programming.
Look I have no real idea, just a feeling. My feeling is that this is not a good idea. It's possible its a great idea. It would be nice to know from others that know better than me. Even if its a crappy Idea, I am sure he can not change the course. But maybe he should learn Python in parallel to learning F#.
It's not that uncommon in academia to start with a functional language. F# seems like a strange choice (Lisp variants like Scheme are more popular), but I don't think the first language really matters all that much.
University professors do not like to change their courses...
Thanks guys. I appreciate the feedback. I showed my friend today. He is on the way back to Denmark and starts next week. I suggested that he tries to learn Python in parallel. He is 50, he does not have all the time in the world :).
I hope I haven't led him astray.
Pure functional languages can be more easily proven correct than languages that have more degrees of freedom.
If your friend is doing computer science research, F# is fine.
The discipline one needs to write in a pure functional language makes it very easy to later write in a language like Python, so I wouldn't worry. An F# programmer could become a good Python programmer in a relatively short amount of time, probably much less time than a Python programmer could learn F#.
Python is very popular for science research though, and of course it's used at Google and other companies. I suspect either choice is a good choice - it just depends on what your friend wants to do.
@technoway , thanks for your comment. My friend just completed his first week at uni and msg'ed me yesterday. But I passed on your post to him. I think it will be comforting to him