Foreword to the Second Edition
The real foreword will be written when the book is almost finished and I'll have a better idea of how much I've been able to realize my goals for the book. Nonetheless it's useful to have something here so people reading the drafts have some context.
Compared to the first edition, the intention for the second edition of Creative Scala is:
to cover more material, so that one can read Creative Scala and be reasonably comfortable programming in Scala (or another language; a majority of the material should be transferable);
show how the concepts apply to more domains than the "creative computing" examples that make up the first edition. I'm currently thinking of web development, data analysis, and possibly interpreters;
serve as a solid basis for building the ScalaBridge curriculum; and
aiming for great rather than good enough.
Many things will stay the same:
- a focus on fundamentals of programming language theory, such as models of evaluation, and the patterns behind programming, such as structural recursion; and
- a target audience of programmers who are new to coding and without a STEM background. This means some material on process that might be absent when targetting more experienced developers.
One more thing: the name may change as well! I'm not sure Creative Scala fits the book I'm aiming for.