The Author Online Book Forums are Moving

The Author Online Book Forums will soon redirect to Manning's liveBook and liveVideo. All book forum content will migrate to liveBook's discussion forum and all video forum content will migrate to liveVideo. Log in to liveBook or liveVideo with your Manning credentials to join the discussion!

Thank you for your engagement in the AoF over the years! We look forward to offering you a more enhanced forum experience.

dave.emerson (1) [Avatar] Offline
This may seem minor, but throughout the book you repeatedly refer to Scala syntax as strange. This is fine once or twice, but it's repeated again, and again, and again, and again, and again. This is an annoyance. While I'm sure that the syntax may be strange to those unfamiliar with functional programming, I don't think it's any stranger than other functional languages (or Ruby, for that matter). Odersky's Scala book goes into great detail explaining the rationale for the syntax, so please, please, please, just explain the syntax and move on. All you're doing is discouraging interest in the language that you've chosen for explaining functional programming. Makes no sense.
33577 (2) [Avatar] Offline
Michal Plachta (6) [Avatar] Offline
Thanks Dave! That's a good point and I totally agree.
wygotsky (10) [Avatar] Offline
Compared with other functional languages I would argue that Scala's syntax appears rather familiar. Erlang's syntax was influenced by Prolog and might be challenging for many learners. Clojure, Scheme and other languages inspired by LISP have their own special syntax. (With good reason of course.)

Scala can look a lot like Java. That is one of the reasons I regard Scala as an interesting teaching language for beginning functional programmers. All the important features of functional languages are there. But the syntax is still relatively familiar compared with other functional languages. This enables the learner to concentrate on functional programming concepts and a different approach to understand and solve programming problems. In my opinion this is more important and more difficult than learning new syntax. Once you have understood functional programming as such I assume it is a lot easier to learn other functional languages with rather different syntax.

At least this is what I experienced when experimenting with different functional languages. I invested a lot of time to become familiar with syntax (since learning a different imperative language is often not much more than just that). But then I was left with the real questions: How do I approach problems? How do I model my domain? How can I get anything done without mutating data? How can I represent state and change?

So it might worth mentioning that the reader's focus ought to be on grasping new concepts. Unfamiliar syntax will become familiar with time.
Michal Plachta (6) [Avatar] Offline
Thanks wygotsky! I agree with everything you wrote and this is something I have already included in revised chapter 1. Thanks!