Writing Scala books...

57 views
Skip to first unread message

Ken Scambler

unread,
Sep 3, 2012, 10:54:10 PM9/3/12
to scala...@googlegroups.com
Is anyone else a little confused as to why Bruce Eckel would be simultaneously
- learning about monads and flatmap on the mailing list (good on him!)
- writing a Scala book to teach "beginners and experienced programmers" about the concepts of Scala (huh?)

Should we be getting in on this book-writing game too?

Tony Morris

unread,
Sep 3, 2012, 11:08:20 PM9/3/12
to scala...@googlegroups.com
> --
> You received this message because you are subscribed to the Google
> Groups "Melbourne Scala User Group" group.
> To post to this group, send an email to scala...@googlegroups.com.
> To unsubscribe from this group, send email to
> scala-melb+...@googlegroups.com.
> For more options, visit this group at
> http://groups.google.com/group/scala-melb?hl=en-GB.

It depends on your goal of writing the book. Do you want to make money
or teach people who are willing to learn? What if you had to sacrifice
one for the other?

What is confusing exactly anyway?

--
Tony Morris
http://tmorris.net/


Ken Scambler

unread,
Sep 3, 2012, 11:19:11 PM9/3/12
to scala...@googlegroups.com
It depends on your goal of writing the book. Do you want to make money
or teach people who are willing to learn? What if you had to sacrifice
one for the other?

What is confusing exactly anyway?


Yes I suppose so.  In the world of rainbows and unicorns I like to think I live in, authors owe their readers a certain amount of authority on their given topic, to justify the outlay for the purchase.   The alternative seems openly dishonourable to me -- that's why I was surprised. 

I remember a blog post a while back where someone suggested that it was dishonest to even prepare for a talk/presentation, because if you don't already know it off the top of your head, then you don't know it well enough to present.  I think that's a bit extreme, but I think there's some truth in that too.

Tony Morris

unread,
Sep 3, 2012, 11:26:24 PM9/3/12
to scala...@googlegroups.com
--
You received this message because you are subscribed to the Google Groups "Melbourne Scala User Group" group.
To post to this group, send an email to scala...@googlegroups.com.
To unsubscribe from this group, send email to scala-melb+...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/scala-melb?hl=en-GB.

It could be counter-argued that maybe that author[ity] does not know the subject that well, but better than many -- their target audience. It can also be counter-argued that an author may not know the subject as well as some, but can present it better. I totally do not buy these arguments, but I can see how they might be appealing to an observer who doesn't know any better.

I like to think of a subject on which I am clueless, like maybe, how to fly a fighter aircraft beyond an understanding of the principles of flight, then consider if I'd be able to tell the difference between a knowledgeable presenter or just someone who knows a little bit more than I do -- I doubt it.

Ken Scambler

unread,
Sep 3, 2012, 11:47:13 PM9/3/12
to scala...@googlegroups.com

I like to think of a subject on which I am clueless, like maybe, how to fly a fighter aircraft beyond an understanding of the principles of flight, then consider if I'd be able to tell the difference between a knowledgeable presenter or just someone who knows a little bit more than I do -- I doubt it.

A good example is science popularisers like Carl Sagan, Simon Singh, Ben Goldacre, etc.   While there were many scientists more knowledgeable and qualified, I'm sure as hell glad that Carl Sagan wrote books.   So I don't have a problem with this.  

I can't, though, imagine Carl Sagan getting on the phone to the astronomy department halfway through filming/writing Cosmos and asking "So how do these galaxy things work again?"   This is my problem with Mr Eckel here; if he was getting some pointers on some advanced or esoteric FP/Category theory techniques, fair enough; he could write a perfectly adequate introductory text without grokking the hairy stuff.   But monads/flatmap?   Fraud seems too strong a word, but you shouldn't be writing a book on Scala without knowing this kind of thing beforehand.

Martin Paulo

unread,
Sep 3, 2012, 11:55:20 PM9/3/12
to scala...@googlegroups.com
Maybe he simply wants to improve his knowledge of Scala? Correcting others is a great way to learn [http://techcrunch.com/2012/09/03/study-dumb-robots-cause-students-to-learn-more-quickly/ :) ]

Or maybe he wants to see what kind of errors potential readers are making when talking about these concepts?

We could spend hours trying to read meaning into his actions, but we'll never  really know what he is up to until someone actually asks him and gets an honest reply...

Martin

--
You received this message because you are subscribed to the Google Groups "Melbourne Scala User Group" group.
To post to this group, send an email to scala...@googlegroups.com.
To unsubscribe from this group, send email to scala-melb+...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/scala-melb?hl=en-GB.



--
=================================================================

Martin Paulo, BSc.
Software Developer


Tel :         +61-3-9434 2508 (Home)
Tel :          04 205 20339      (Mobile)
Site:          http://www.thepaulofamily.net

"Nobody goes there any more. It's too crowded" - Yogi Berra.

Andrew Conway

unread,
Sep 4, 2012, 8:37:03 AM9/4/12
to scala...@googlegroups.com
I think you could write a decent book on Scala without knowing the definition of a Monad (indeed I think Martin Odersky's book [ which I really like ] only mentions monads once in passing when describing the most general form of the for comprehensions).

On the other hand I find it hard to imagine how you could have written a lot of Scala and not have realized how useful the flatMap function is (even I find that I use it frequently in practice, and I am a recalcitrant user of null pointers and at least 1% vars). While I am tempted to say that any book written by someone without a lot of practical experience is not worth reading, there is a real chicken and egg problem with relatively obscure languages in that there are not enough people who have used the language in their day job for years, and who are able and interested in writing a good book on it. So I think the answer to your question is YES, we should be getting in on this book writing game. Someone has to. Note that I am not volunteering... by "we" I mean "you". :-) Writing a book is hard.


> someone suggested that it was dishonest to even prepare for a talk/presentation, because if you don't already know it off the top of your head, then you don't know it well enough to present.

The talks I have gotten the most out of have been rambling "poorly" prepared talks by an expert on the field who lets me see how an expert in the field thinks. If I want a well prepared talk, I will read a (well prepared) textbook - I can read faster than someone can speak. But most students disagree with me. (I remember one class I had where the feedback from the students was "one person really liked it, but everyone else wished it was better prepared").

I will put forward another example - the Feynmann lectures in physics. They were well prepared, by one of the best in the field, and were generally considered as excellent and fascinating by other experts in the field - but the students doing the actual course did poorly. So maybe we should just be happy that there is another Scala book out there, and who knows, it may turn out to be good for some people. If not, then it will probably fade into obscurity and better books will be written and little harm done.

Tony Morris

unread,
Sep 4, 2012, 8:43:25 AM9/4/12
to scala...@googlegroups.com
As a side note, I would like to point out that Scala's
for-comprehensions operate on semi-monads; structures supporting
flatMap+map (filter aside).

This is actually a really useful property, because it turns out that
there are many structures supporting flatMap+map, but not point and
there are many operations derivable from flatMap+map without requiring
point. In short, semi-monads (invented term, not in common use) arise in
practice far more often than monads. We like to think of this as The
Semigroupoid Way of Thinking. Please join our cult.
Reply all
Reply to author
Forward
0 new messages