Learning F#
-
I've been spending some of my free time trying to learn about F# because it seems really interesting. The problem is, the existing F# tutorials SUCK. I think that the language tutorials provided by Microsoft were written by brainiacs in the Microsoft Research group, so it's not really helpful at all. For example, I read that this:
int -> int
...represents a function which takes and int and returns an int. The problem is, the author failed to mention which "int" represents the return type and which the parameter type. :| There's only one F# book out there yet, and all the reviews I've read of it say that it sucks too. Come on MS, if you're gonna publicly announce[^] that F# is on the rise, at least give us some good introductory material first!! Don't make it so f#ckin hard for us! ;)
:josh: My WPF Blog[^] Without a strive for perfection I would be terribly bored.
I remember that notation from university, but they really need to explain it. Lots of the tutorials assume that you have been taught discrete maths, and over and above that loads of the examples are hairy mathematical functions. MS really need tutorials and examples that don't assume a compsci background if they want to get traction for F#. Many of us know that pure functional programming is going to be a good solution for dealing with multiple cores but find the existing documentation very heavy going, they really need to do some functional programming for business programmers tutorials.
-
I've been spending some of my free time trying to learn about F# because it seems really interesting. The problem is, the existing F# tutorials SUCK. I think that the language tutorials provided by Microsoft were written by brainiacs in the Microsoft Research group, so it's not really helpful at all. For example, I read that this:
int -> int
...represents a function which takes and int and returns an int. The problem is, the author failed to mention which "int" represents the return type and which the parameter type. :| There's only one F# book out there yet, and all the reviews I've read of it say that it sucks too. Come on MS, if you're gonna publicly announce[^] that F# is on the rise, at least give us some good introductory material first!! Don't make it so f#ckin hard for us! ;)
:josh: My WPF Blog[^] Without a strive for perfection I would be terribly bored.
Actually, the book isn't that bad.
Me: Can you see the "up" arrow? User:Errr...ummm....no. Me: Can you see an arrow that points upwards? User: Oh yes, I see it now! -Excerpt from a support call taken by me, 08/31/2007
-
Actually, the book isn't that bad.
Me: Can you see the "up" arrow? User:Errr...ummm....no. Me: Can you see an arrow that points upwards? User: Oh yes, I see it now! -Excerpt from a support call taken by me, 08/31/2007
martin_hughes wrote:
Actually, the book isn't that bad.
That's good, since I bought it from Amazon and should be receiving it soon! :-D I figured something is better than nothing.
:josh: My WPF Blog[^] Without a strive for perfection I would be terribly bored.
-
I remember that notation from university, but they really need to explain it. Lots of the tutorials assume that you have been taught discrete maths, and over and above that loads of the examples are hairy mathematical functions. MS really need tutorials and examples that don't assume a compsci background if they want to get traction for F#. Many of us know that pure functional programming is going to be a good solution for dealing with multiple cores but find the existing documentation very heavy going, they really need to do some functional programming for business programmers tutorials.
Ryan Roberts wrote:
MS really need tutorials and examples that don't assume a compsci background if they want to get traction for F#.
Absolutely. I don't have a compsci or math background, so learning an "academic language" is very foreign to and difficult for me.
:josh: My WPF Blog[^] Without a strive for perfection I would be terribly bored.
-
martin_hughes wrote:
Actually, the book isn't that bad.
That's good, since I bought it from Amazon and should be receiving it soon! :-D I figured something is better than nothing.
:josh: My WPF Blog[^] Without a strive for perfection I would be terribly bored.
I haven't plowed through the book completely, but it doesn't seem bad.
"Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots. So far, the Universe is winning." - Rick Cook "There is no wealth like knowledge, no poverty like ignorance." Ali ibn Abi Talib
-
Ryan Roberts wrote:
MS really need tutorials and examples that don't assume a compsci background if they want to get traction for F#.
Absolutely. I don't have a compsci or math background, so learning an "academic language" is very foreign to and difficult for me.
:josh: My WPF Blog[^] Without a strive for perfection I would be terribly bored.
Mine is only basic, we were handily never taught functional programming practically either - a huge oversight. I'm waiting on documentation with a different focus too.
-
I've been spending some of my free time trying to learn about F# because it seems really interesting. The problem is, the existing F# tutorials SUCK. I think that the language tutorials provided by Microsoft were written by brainiacs in the Microsoft Research group, so it's not really helpful at all. For example, I read that this:
int -> int
...represents a function which takes and int and returns an int. The problem is, the author failed to mention which "int" represents the return type and which the parameter type. :| There's only one F# book out there yet, and all the reviews I've read of it say that it sucks too. Come on MS, if you're gonna publicly announce[^] that F# is on the rise, at least give us some good introductory material first!! Don't make it so f#ckin hard for us! ;)
:josh: My WPF Blog[^] Without a strive for perfection I would be terribly bored.
I had the same problem when I first looked at F# some 2 years ago, but then found that F# is pretty much the same language as OCaml[^], and that one has some decent tutorials[^]
-
I've been spending some of my free time trying to learn about F# because it seems really interesting. The problem is, the existing F# tutorials SUCK. I think that the language tutorials provided by Microsoft were written by brainiacs in the Microsoft Research group, so it's not really helpful at all. For example, I read that this:
int -> int
...represents a function which takes and int and returns an int. The problem is, the author failed to mention which "int" represents the return type and which the parameter type. :| There's only one F# book out there yet, and all the reviews I've read of it say that it sucks too. Come on MS, if you're gonna publicly announce[^] that F# is on the rise, at least give us some good introductory material first!! Don't make it so f#ckin hard for us! ;)
:josh: My WPF Blog[^] Without a strive for perfection I would be terribly bored.
Josh Smith wrote:
The problem is, the existing F# tutorials SUCK.
They must have been written by the VSS developers, because VSS sucks too.
"Why don't you tie a kerosene-soaked rag around your ankles so the ants won't climb up and eat your candy ass..." - Dale Earnhardt, 1997
-----
"...the staggering layers of obscenity in your statement make it a work of art on so many levels." - Jason Jystad, 10/26/2001 -
I had the same problem when I first looked at F# some 2 years ago, but then found that F# is pretty much the same language as OCaml[^], and that one has some decent tutorials[^]
Nemanja Trifunovic wrote:
F# is pretty much the same language as OCaml[^], and that one has some decent tutorials[^]
You're the man. Thanks!!
:josh: My WPF Blog[^] Without a strive for perfection I would be terribly bored.
-
Josh Smith wrote:
The problem is, the existing F# tutorials SUCK.
They must have been written by the VSS developers, because VSS sucks too.
"Why don't you tie a kerosene-soaked rag around your ankles so the ants won't climb up and eat your candy ass..." - Dale Earnhardt, 1997
-----
"...the staggering layers of obscenity in your statement make it a work of art on so many levels." - Jason Jystad, 10/26/2001John Simmons / outlaw programmer wrote:
They must have been written by the VSS developers, because VSS sucks too.
I'd be surprised if the people who are creating F# and its documentation also pooped out VSS.
:josh: My WPF Blog[^] Without a strive for perfection I would be terribly bored.
-
I've been spending some of my free time trying to learn about F# because it seems really interesting. The problem is, the existing F# tutorials SUCK. I think that the language tutorials provided by Microsoft were written by brainiacs in the Microsoft Research group, so it's not really helpful at all. For example, I read that this:
int -> int
...represents a function which takes and int and returns an int. The problem is, the author failed to mention which "int" represents the return type and which the parameter type. :| There's only one F# book out there yet, and all the reviews I've read of it say that it sucks too. Come on MS, if you're gonna publicly announce[^] that F# is on the rise, at least give us some good introductory material first!! Don't make it so f#ckin hard for us! ;)
:josh: My WPF Blog[^] Without a strive for perfection I would be terribly bored.
I'll bet if you get a good grip on Lisp in the meantime, that will help you out, since I would imagine that a lot of the ideas in F# have their roots in Lisp.
¡El diablo está en mis pantalones! ¡Mire, mire! Real Mentats use only 100% pure, unfooled around with Sapho Juice(tm)! SELECT * FROM User WHERE Clue > 0 0 rows returned Save an Orange - Use the VCF! VCF Blog
-
I'll bet if you get a good grip on Lisp in the meantime, that will help you out, since I would imagine that a lot of the ideas in F# have their roots in Lisp.
¡El diablo está en mis pantalones! ¡Mire, mire! Real Mentats use only 100% pure, unfooled around with Sapho Juice(tm)! SELECT * FROM User WHERE Clue > 0 0 rows returned Save an Orange - Use the VCF! VCF Blog
Jim Crafton wrote:
I'll bet if you get a good grip on Lisp in the meantime, that will help you out
Good idea. However, Nemanja pointed out that F# is based on OCaml, and OCaml has good tutorials online. I'll probably start with those tutorials.
:josh: My WPF Blog[^] Without a strive for perfection I would be terribly bored.
-
I remember that notation from university, but they really need to explain it. Lots of the tutorials assume that you have been taught discrete maths, and over and above that loads of the examples are hairy mathematical functions. MS really need tutorials and examples that don't assume a compsci background if they want to get traction for F#. Many of us know that pure functional programming is going to be a good solution for dealing with multiple cores but find the existing documentation very heavy going, they really need to do some functional programming for business programmers tutorials.
Required base compsci MS would go out of business. If I had a dollar for all the times I had to explain basic data structures and algorithms ...
Need a C# Consultant? I'm available.
Happiness in intelligent people is the rarest thing I know. -- Ernest Hemingway -
leppie wrote:
It's called common sense, aka from 'int' -> (to) 'int'
You call that common sense? I call that conditioning. Every language I've ever worked with before, all of which are C-based, put the return type on the left side.
:josh: My WPF Blog[^] Without a strive for perfection I would be terribly bored.
Josh Smith wrote:
I call that conditioning
No, it's a clever convention. Especially when you start mixing in currying and composition. It's an algebra. :)
-- Kein Mitleid Für Die Mehrheit
-
I'll bet if you get a good grip on Lisp in the meantime, that will help you out, since I would imagine that a lot of the ideas in F# have their roots in Lisp.
¡El diablo está en mis pantalones! ¡Mire, mire! Real Mentats use only 100% pure, unfooled around with Sapho Juice(tm)! SELECT * FROM User WHERE Clue > 0 0 rows returned Save an Orange - Use the VCF! VCF Blog
Hrm.. I think F# has more roots in languages such as Haskell, than in Lisp. F# seems much more pure than Lisp is, from a functional point of view.
-- Kein Mitleid Für Die Mehrheit
-
I've been spending some of my free time trying to learn about F# because it seems really interesting. The problem is, the existing F# tutorials SUCK. I think that the language tutorials provided by Microsoft were written by brainiacs in the Microsoft Research group, so it's not really helpful at all. For example, I read that this:
int -> int
...represents a function which takes and int and returns an int. The problem is, the author failed to mention which "int" represents the return type and which the parameter type. :| There's only one F# book out there yet, and all the reviews I've read of it say that it sucks too. Come on MS, if you're gonna publicly announce[^] that F# is on the rise, at least give us some good introductory material first!! Don't make it so f#ckin hard for us! ;)
:josh: My WPF Blog[^] Without a strive for perfection I would be terribly bored.
I think most of the F# docs assume you already know another functional language like OCaml or Haskell. I haven't used OCaml much, but Haskell has some good books written for it.
This blanket smells like ham
-
I've been spending some of my free time trying to learn about F# because it seems really interesting. The problem is, the existing F# tutorials SUCK. I think that the language tutorials provided by Microsoft were written by brainiacs in the Microsoft Research group, so it's not really helpful at all. For example, I read that this:
int -> int
...represents a function which takes and int and returns an int. The problem is, the author failed to mention which "int" represents the return type and which the parameter type. :| There's only one F# book out there yet, and all the reviews I've read of it say that it sucks too. Come on MS, if you're gonna publicly announce[^] that F# is on the rise, at least give us some good introductory material first!! Don't make it so f#ckin hard for us! ;)
:josh: My WPF Blog[^] Without a strive for perfection I would be terribly bored.
Josh Smith wrote:
Come on MS, if you're gonna publicly announce[^] that F# is on the rise, at least give us some good introductory material first!! Don't make it so f#ckin hard for us!
Oh come now. They do this with actual products, why not continue the trend with experimental ones? Besides, it's written by a bunch of geeks. Do you think geeks document? Marc
-
Josh Smith wrote:
Come on MS, if you're gonna publicly announce[^] that F# is on the rise, at least give us some good introductory material first!! Don't make it so f#ckin hard for us!
Oh come now. They do this with actual products, why not continue the trend with experimental ones? Besides, it's written by a bunch of geeks. Do you think geeks document? Marc
Marc Clifton wrote:
Besides, it's written by a bunch of geeks. Do you think geeks document?
Point well taken!
:josh: My WPF Blog[^] Without a strive for perfection I would be terribly bored.
-
Required base compsci MS would go out of business. If I had a dollar for all the times I had to explain basic data structures and algorithms ...
Need a C# Consultant? I'm available.
Happiness in intelligent people is the rarest thing I know. -- Ernest HemingwayEnnis Ray Lynch, Jr. wrote:
If I had a dollar for all the times I had to explain basic data structures and algorithms ...
You'd be a CompSci professor?
:josh: My WPF Blog[^] Without a strive for perfection I would be terribly bored.
-
I've been spending some of my free time trying to learn about F# because it seems really interesting. The problem is, the existing F# tutorials SUCK. I think that the language tutorials provided by Microsoft were written by brainiacs in the Microsoft Research group, so it's not really helpful at all. For example, I read that this:
int -> int
...represents a function which takes and int and returns an int. The problem is, the author failed to mention which "int" represents the return type and which the parameter type. :| There's only one F# book out there yet, and all the reviews I've read of it say that it sucks too. Come on MS, if you're gonna publicly announce[^] that F# is on the rise, at least give us some good introductory material first!! Don't make it so f#ckin hard for us! ;)
:josh: My WPF Blog[^] Without a strive for perfection I would be terribly bored.
Like others have mentioned, the documentation should state this. That said, mathematics contributes to it being this way, the doc writers must have assumed a mathematics background. C# 3 has something like this with lambdas:
var square = int i => i*i; // takes an int i, returns i * i
As a side note, I know some folks have played with WPF and F# together. A quick search reveals a few hits: XAML or F#[^]? F# meets 3d[^].Tech, life, family, faith: Give me a visit. I'm currently blogging about: No, Not I - A poem by Holocaust escapee, chief rabbi, and Messiah-follower Daniel Zion The apostle Paul, modernly speaking: Epistles of Paul Judah Himango