Summary
This week we released an early access version of the book, Programming in Scala, in PDF form. With this work, Artima enters the world of book publishing for the first time. In this blog post, I explain what we did and why, and what this means for Artima in the future.

Advertisement

Last week we released an early access version of a new book, Programming in Scala, in PDF form. With this work, Artima enters the world of book publishing for the first time. We see book publishing as a way to augment our web publishing efforts, and plan to publish more books over time.

Why Scala?

For some time now
I have been looking for a language that gives the productivity benefits of Ruby or Python, but one that is statically
typed and allows us to continue to benefit from our investment in Java. Scala fits our needs well, and we have already started using Scala internally at Artima for our own development projects.

Scala is also similar to Ruby and Python in that programming in it is a lot of fun. Learning Scala (and I'm still learning it)
has been intellectually exciting for me, because it has broadened my horizons. Having spent my programming career primarily with
C, C++, and Java, I found that working with Scala has exposed me to new ideas and attitudes that have changed how I
think about software design in important ways.

How did we end up publishing a Scala tutorial as our first book?
About a year ago, I emailed Martin Odersky, the creator of the Scala language, indicating we'd be interested in publishing articles on Artima that would help OO programmers learn about functional programming ideas. I had been getting the feeling that functional programming was poised to become more accepted in “mainstream” programming circles, and that Scala could be an important language in that shift. In my career, I had migrated from C, to C++, to Java, and as a result did not have much background in functional programming. I figured there were probably a lot of programmers in that category. Just as C programmers needed help learning OO concepts when moving to C++, I figured many OO programmers today might want some help learning functional programming concepts.

In the phone conversation that followed, Martin mentioned he wanted to not only publish articles but also a book. I replied that we'd been planning on entering the world of book publishing at Artima. One thing led to another and we ended up signing a book contract with Martin Odersky and Lex Spoon to publish their Scala tutorial. In the original plan, I was to serve as editor for the book, but I ended up writing enough new material that we decided to list my name as an author as well. Nevertheless, the book has been primarily written by Martin and Lex, and they are of course the real Scala experts.

About the book

We have worked hard to make both the PDF eBook and ultimately the paper book easy to use and a pleasure to read. It has
been fun to work on the typography and layout, because we finally have a level of control that is lacking in
web publishing. We've tried to make the eBook easy to navigate by including useful hyperlinks, both embedded in the text and in running headers and footers, which make using the PDF feel a bit more like using a web site. In addition, our goal was that you could comfortably read the eBook on a laptop screen without needing to scroll. In the past, I've found most PDF documents a pain to read on-screen, so I tried hard to make this PDF an
exception to that rule. The eBook also prints well, so you can print out a chapter at a time, or the
whole thing if you want, to carry with you and read on paper.

You can purchase a PrePrintTM Edition of the eBook today for $22.50, or an eBook/Paper Book
combo for $45.95. We hope to have the paper book out for JavaOne, which is early May 2008. If you buy the combo now,
we'll ship you the paper book once it is printed.

A PrePrintTM Edition is a work-in-progress PDF that gives readers early access
to the information, and the authors valuable feedback. We'll publish periodic updates to the eBook over the next
few months. People who buy the eBook now may download all the updates, as well as the final version of the eBook,
for no additional charge.

We also set up a small web application, called “BackTalk,” to collect reader feedback. We put a Suggest
link in the footer of each page. If you have something to say about the book, you just click on that link and your browser will open and
take you to the BackTalk application on Artima.com. We'll know the page number and eBook version, so you can simply type
your comment. We're hoping to enlist the power of many eyeballs, from which open source projects benefit, to help make
this book even better—and it's already working. A lot of very helpful comments have come in through BackTalk from people
who bought the book last week.

Future directions

Although we are excited to get our first book out the door last week, I want to reassure our readers that Artima will
not be “going Scala” completely in our editorial coverage. Scala is one of many languages and technologies that
we've been covering in the past, and we plan to continue that diverse coverage in the future. Our editorial focus is still programming
best practice, with the aim of keeping programmers informed about products, projects, and ideas that can help them work
more productively.

In closing I wanted to say thanks to everyone who has been visiting Artima these many years. Thank you for reading and participating
on the site. The Scala book is a big milestone for us. We're excited to be adding print publication to our web publishing efforts, and
we couldn't have done it without you, our audience. To find out more about the book (or buy it), visit
the Programming in Scala page.

Talk Back!

Have an opinion?
Readers have already posted
19
comments
about this weblog entry. Why not
add yours?

RSS Feed

If you'd like to be notified whenever Bill Venners adds a new entry to his weblog, subscribe to his RSS feed.

About the Blogger

Bill Venners is president of Artima, Inc., publisher of Artima Developer (www.artima.com). He is author of the book, Inside the Java Virtual Machine, a programmer-oriented survey of the Java platform's architecture and internals. His popular columns in JavaWorld magazine covered Java internals, object-oriented design, and Jini. Active in the Jini Community since its inception, Bill led the Jini Community's ServiceUI project, whose ServiceUI API became the de facto standard way to associate user interfaces to Jini services. Bill is also the lead developer and designer of ScalaTest, an open source testing tool for Scala and Java developers, and coauthor with Martin Odersky and Lex Spoon of the book, Programming in Scala.