Foundations of F# - Coming Very Soon

R

robert

I'm very pleased to announce that Foundations of F#, the first book to
be published on the F# programming, will finish its first printing
run, tomorrow, Friday 25th May. It should reach any pre-order
customers between 5 to 10 days later, meaning if ordered it on Amazon
or Borders (or any other online store), it should be with you before
the end of May. A few weeks after that it should start appearing in
books stores, at least bookstores that have very big tech departments.

F# is a functional programming language implemented on the .NET
framework. F# blends nice the paradigms of functional programming with
those imperative and object oriented programming. Allowing you to
write functional programs that allows take advantage of the huge range
of libraries that exist in the .NET framework. Plus F# includes a "top-
level", that has also been integrated into visual studio, allowing you
to select sections of your code and execute them dynamically.

So what are you waiting for? Order a copy today, if you haven't
already:
http://www.amazon.com/dp/1590597575...tiveASIN=1590597575&adid=0F4QKB6A95B2Z4NW1BFN

Foundations of F# is the first of several books on the F# programming
language, which include Expert F# and F# for Scientist.
http://www.amazon.com/Expert-F-Don-...3745759?ie=UTF8&s=books&qid=1179999013&sr=1-2
http://www.ffconsultancy.com/products/fsharp_for_scientists/index.html

You can find out more about F# itself by visiting the official F# site
of "the hubfs" a community site for F# users.
http://research.microsoft.com/fsharp/fsharp.aspx
http://cs.hubfs.net/
 
P

Peter Duniho

I'm very pleased to announce that [redacted], the first book to
be published on the F# programming

I've got to say, Robert...seeing you post a commercial advertisement in a
newsgroup intended for programming questions makes me extremely UNLIKELY
to purchase, or even care about, your book.

You might want to rethink whether your approach, as you may find that
violating basic, common-sense newsgroup etiquette may result in the
opposite result for what you intend.

Pete
 
C

Chris Dunaway

I'm very pleased to announce that [redacted], the first book to
be published on the F# programming

I've got to say, Robert...seeing you post a commercial advertisement in a
newsgroup intended for programming questions makes me extremely UNLIKELY
to purchase, or even care about, your book.

You might want to rethink whether your approach, as you may find that
violating basic, common-sense newsgroup etiquette may result in the
opposite result for what you intend.

Pete

Yes, he also multiposted it to the VB group and who knows what other
groups. Very inconsiderate indeed!

Chris
 
J

John Brown

Yes, he also multiposted it to the VB group and who knows what other
groups. Very inconsiderate indeed!

Moreover, another programming language is the last thing most people need.
 
E

Egghead

Actually, this one is different. F# is from Microsoft research lab, and we
are all at the Microsoft server :)
I am very surprise someone wrote a book about this lang. I hope the writer
not just copying info from the F# website.
BTW, the F# team claims the performance of F# is as good as native C++, and
I did see the LINQ at F# when we are still using .Net 1.1. So, may be people
should at least take a look.
 
L

Larry Smith

Actually, this one is different. F# is from Microsoft research lab, and we
are all at the Microsoft server :)
I am very surprise someone wrote a book about this lang. I hope the writer
not just copying info from the F# website.
BTW, the F# team claims the performance of F# is as good as native C++,
and I did see the LINQ at F# when we are still using .Net 1.1. So, may be
people should at least take a look.

I strongly disagree. One of the (many) reasons most programmers can't write
clean and stable code is because the technology is constantly in a state of
flux. They can't master their skills partly because there are so many things
to learn and not enough to time to learn them before the next "greatest"
thing comes along. C# and/or C++ offer almost everything one needs today
notwithstanding their imperfections. Performance also isn't the issue it
once was and really isn't a critical consideration for most projects
(emphasis on "most"). The emphasis should usually be on clean and reusable
code which is largely defeated by turning everyone into amateurs again (with
the introduction of yet another language). We're already drowning in a sea
of technology so until a new paradigm-shift comes along which really offers
a major improvement over existing languages, I say enough already (and BTW,
comparisons with a good C++ compiler usually don't pan out in practice).
 
R

robert

Okay - I admit it - I'm trying to promote my book. But the effect I
was aiming for was interesting off topic post rather than nasty spamy
advert - I'm sorry if I missed that and end up offending people some.
Yes I did cross post it to several other microsoft dotnet news groups,
6 in total, but out of 55 isn't a huge percentage. I wanted to spread
the word about my book, but I also want to keep the number relatively
low so I could flow up on any comments posted. I've posted in to a few
other internet web based forums as well and generally there it has
been well received.

I posted it to the C# and VB groups because generally when C# or VB
programmers they have often heard of F# and are interested in knowing
a bit more. If I have totally missed the mark then I will have course
leave you alone and not post any further. If anyone _is_ interest in
F# feel free to mail me any questions you have directly and I'll do my
best to answers as promptly as possible.
 
J

Jon Harrop

Okay - I admit it - I'm trying to promote my book. But the effect I
was aiming for was interesting off topic post rather than nasty spamy
advert - I'm sorry if I missed that and end up offending people some.

Posting anywhere will always offend someone. You must be apathetic and
ignore it. Only bother responding to people who have positive contributions
to make.
I posted it to the C# and VB groups because generally when C# or VB
programmers they have often heard of F# and are interested in knowing
a bit more.

Indeed, I'm here trying to learn C#. I think you'll find the C++ users and
users of various functional programming languages will also be very
interested in your work. You will also find that advertising to users of
related languages is far more successful than advertising to F# users.

I recently did an experiment tracking the effectiveness of this approach to
improving visibility. I found that constantly posting to newsgroups can
garner you a few visits a day over months, mainly from people reading via
Google Groups and not posting. Worth having but nothing amazing.

Building a reputable blog can garner you dozens of visits spread over a few
days. For example, my blog entry discussing Tim O'Reilly's dodgy statistics
got us a few thousand new visitors:

http://ocamlnews.blogspot.com/2007/05/ocaml-revolution.html

Finally, posting headlines on news sites like dotnetkicks, dnzone, dzone,
reddit, fark, digg, slashdot etc. can garner a thousand visitors over 2
days:

http://www.dzone.com/links/free_introduction_to_f.html

There are also other avenues such as writing magazine articles and citing
yourself that will be successful. However, if you are using a publisher
like APress then they should be far more effective at advertising the book
than you will be.
If I have totally missed the mark then I will have course
leave you alone and not post any further. If anyone _is_ interest in
F# feel free to mail me any questions you have directly and I'll do my
best to answers as promptly as possible.

I am certainly interested but then I do not frequent this newsgroup and I am
already an F# user.

What I'd like to know is: how do you sell C# stuff?

We have products written in OCaml, F# and C# and the C# stuff is selling
worse than everything else. Why? Where should we be advertising? How do we
reach C# programmers? Have we simply targetting the wrong market (numerics
and C#)? What kinds of programs do all these C# programmers write?
 
J

Jon Harrop

Egghead said:
I am very surprise someone wrote a book about this lang.

I am also writing a book about F# although my book is aimed at scientists
and engineers whereas Robert's book is aimed at people like C# programmers.
I hope the writer not just copying info from the F# website.

He did not.
BTW, the F# team claims the performance of F# is as good as native C++,

F# is typically about 10-50% slower than C++ but it is much faster to
develop in and much easier to optimise, so F# programs developed in the
same time are typically much faster than C++ programs.
and I did see the LINQ at F# when we are still using .Net 1.1. So, may be
people should at least take a look.

I'm not a database guy but I've heard lots of people raving about F# in the
context of databases. The new support for asynchronous programming is cool
too.

F# is pioneering stuff that C# may adopt. So if you want the latest and
greatest of everything on the .NET platform then learn F#. If you want
stability (e.g. to write a big application) then use C#.

Scientists and engineers write a lot of disposable code, which is why I'm
targetting them for my book (and because I'm a physicist :).
 
J

Jon Harrop

Larry said:
One of the (many) reasons most programmers can't write clean and stable
code ... C# and/or C++ offer almost everything one needs today
notwithstanding their imperfections.

If that is true then you'll be able to help me translate the simple function
I quoted in the thread "Writing a simple function in C#" from OCaml into C#
or C++:

let rec nest ?(n=2) f x = if n=0 then x else nest ~n:(n-1) f (f x)

I sure as hell can't do it. :)
 
J

Jon Harrop

Larry said:
One of the (many) reasons most programmers can't write clean and stable
code ... C# and/or C++ offer almost everything one needs today
notwithstanding their imperfections.

If that is true then you'll be able to help me translate the simple function
I quoted in the thread "Writing a simple function in C#" from OCaml into C#
or C++:

let rec nest ?(n=2) f x = if n=0 then x else nest ~n:(n-1) f (f x)

I sure as hell can't do it. :)
 
J

Jon Skeet [C# MVP]

Jon Harrop said:
Posting anywhere will always offend someone. You must be apathetic and
ignore it. Only bother responding to people who have positive contributions
to make.

I don't think that's a particularly healthy attitude, particularly if
the people you're offending might otherwise be customers.

If I'm inadvertently rude and some people point it out, I'll try to
amend my behaviour rather than ignoring those who've taken the time to
correct me. If I believe my behaviour is justified, of course, I may
choose to defend it. Ignoring those who are offended is rude in itself,
IMO.

In this case the post was nothing but advertising. There are much
better places to advertise - as you suggested, a blog is a good idea.
Newsgroups designed for technical discussions and help are *not*
suitable for adverts like this (or job adverts, which are a more
serious problem).
 
P

Peter Duniho

[...]
Yes I did cross post it to several other microsoft dotnet news groups

You didn't cross-post. You multi-posted. Which is almost as rude as
posting advertising in the first place.
 
P

Peter Duniho

Indeed, I'm here trying to learn C#. I think you'll find the C++ users
and
users of various functional programming languages will also be very
interested in your work. You will also find that advertising to users of
related languages is far more successful than advertising to F# users.

A recent report stated that 4% of recipients of spam actually respond to
it. The fact that anyone might be interested in the information doesn't
make it right, any more than those idiots composing the 4% of email
recipients responding to spam make spam email right.
I recently did an experiment tracking the effectiveness of this approach
to
improving visibility. I found that constantly posting to newsgroups can
garner you a few visits a day over months, mainly from people reading via
Google Groups and not posting. Worth having but nothing amazing.

"A few visits a day over months" as compared to what? What control did
you use in your experiment to ensure that you were actually measuring only
the effect of your spam to newsgroups? How do you know that you wouldn't
have gotten even more visits using more user-friendly advertising means,
and that your spamming the newsgroups didn't actually inhibit growth of
visits to your web sites?

And just as important, even if your spamming did increase your traffic,
how does that justify being rude to the hundreds or thousands of people
who don't like advertising mixed in with their interactive programming
discussion community?

Suppose I had a product that I just *knew* you'd be interested in. Does
that end justify *any* means of informing you about it? Even if you might
find those means to be inconvenient, annoying, or just plain rude?

Pete
 
J

Jon Harrop

Jon said:
I don't think that's a particularly healthy attitude, particularly if
the people you're offending might otherwise be customers.

From a purely financial perspective, raising visibility wins by a huge
margin for niche products.
 
J

Jon Harrop

Peter said:
"A few visits a day over months" as compared to what?

Compared to zero visits.
What control did
you use in your experiment to ensure that you were actually measuring only
the effect of your spam to newsgroups?

Tagged URLs.
How do you know that you wouldn't
have gotten even more visits using more user-friendly advertising means,
and that your spamming the newsgroups didn't actually inhibit growth of
visits to your web sites?

No way to tell.
And just as important, even if your spamming did increase your traffic,
how does that justify being rude to the hundreds or thousands of people
who don't like advertising mixed in with their interactive programming
discussion community?

There is no evidence that five people were offended by this, let alone
thousands.
Suppose I had a product that I just *knew* you'd be interested in. Does
that end justify *any* means of informing you about it?

Would you be wrong to post a notice about it on a relevant public forum?
 
P

Peter Duniho

Tagged URLs.

By your own admission, using tagged URLs doesn't measure that.
No way to tell.

Of course. You had such a marginal return on your "investment", that for
all you know, you had a net loss of traffic improvement.
There is no evidence that five people were offended by this, let alone
thousands.

Well, first of all, the simple fact that there are rules of etiquette
addressing this very question *does* in fact suggest that there are
thousands of people who have been offended. Just because they didn't post
a message about it, doesn't mean that they welcome commercial advertising
in their forum.

But beyond that, there is no evidence that thousands weren't offended.
Why should it be okay for a person to go around engaging in behavior that
is known to be offensive, just because no one's stepped up and actually
said "I'm offended"? Doesn't it make more sense to take the affirmative
path, only engaging in behavior normally known to be offensive once one
has established that for the target audience, they don't share that sense
of offensiveness?
Would you be wrong to post a notice about it on a relevant public forum?

Yes, I would be wrong to post my own self-serving commercial
advertisement, even on a "relevant public forum".

So, is that your answer to my question as well? If not, why did you
answer my question with another question, rather than simply offering your
answer?

Pete
 
J

Jon Harrop

Peter said:
By your own admission, using tagged URLs doesn't measure that.

Our server wouldn't rack up hits to that URL otherwise.
Of course. You had such a marginal return on your "investment", that for
all you know, you had a net loss of traffic improvement.

Let Robert worry about that.
Well, first of all, the simple fact that there are rules of etiquette
addressing this very question *does* in fact suggest that there are
thousands of people who have been offended. Just because they didn't post
a message about it, doesn't mean that they welcome commercial advertising
in their forum.

Lack of evidence is evidence of nothing.
But beyond that, there is no evidence that thousands weren't offended.

So you want Robert to prove that his post offended no one?
Yes, I would be wrong to post my own self-serving commercial
advertisement, even on a "relevant public forum".

We disagree.
 
P

Peter Duniho

Lack of evidence is evidence of nothing.

There is no lack of evidence of the commonly accepted rules of etiquette
regarding commercial advertising in newsgroups not intended for commercial
advertising.
So you want Robert to prove that his post offended no one?

No. That would be silly. But if he's going to go against the accepted
rules of etiquette, he ought to at least be able to prove that the
majority of his audience agrees that he was right to ignore those rules.
I'd be happy with a simple majority of a randomly chosen, statistically
significant sample.

Same thing goes for you and your own spam.
We disagree.

Are you surprised? Funny how yet again you've avoided the actual
question, choosing instead to simply state the obvious.

Pete
 
J

Jon Harrop

Peter said:
There is no lack of evidence...

You mean there is evidence?
No. That would be silly. But if he's going to go against the accepted
rules of etiquette, he ought to at least be able to prove that the
majority of his audience agrees that he was right to ignore those rules.
I'd be happy with a simple majority of a randomly chosen, statistically
significant sample.

Well, I've asked around and the majority agree. ;-)
Are you surprised?

I am surprised to see such a heated discussion about an untestable
hypothesis.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top