
Show HN: My Interactive ClojureScript book - jdeisenberg
http://langintro.com/cljsbook/
======
jdeisenberg
My goal in writing this book was to give an introduction to new programmers,
with functional style as the default and without reference to prior knowledge
of an imperative language I wanted an interactive book where readers could try
things out. Since ClojureScript is a good vehicle for functional programming
and is self-hosted, it seemed to be a good choice.

~~~
gdubs
This looks really nice.

Your link to 'report a problem' 404s – I was going to send the following
feedback:

When you create a syntax error, the input box turns red. But it appears that
it stays red even after the error is corrected, FYI.

~~~
jdeisenberg
Thanks. I'm not serving the content from a Runestone server, but a lot of the
links for its features (report problems, the "save" and "load" in activecode)
appear to remain active.

[Edit] The red outline indicates that the text in the active code has changed
but has not been saved.

------
specialp
There are a lack of resources out there for things like this. Especially with
functional programming. This is very well done explaining the fundamentals of
FP along with having people actually write code that ends up showing them
something. Too many approaches go one way or the other.

Most FP stuff these days is trying to convert imperative programming users
with corollaries to it. Actually new programmers do not have as much of a
problem grasping FP as people think. The Clojure Bridge people have said as
much in their experience training beginners.

~~~
robto
I'll second this. Clojure was my first language, and I think I've been
spoiled. Learning mutable programming was a _lot_ harder for me, especially
when you add the object oriented paradigm to it. I think a lot of people who
learned it that way first underestimate how much complexity they had to master
in order to be productive.

------
sova
Very cool. I'm happy you're doing this. Greetings from #clojurewest by the
way! Yo, I have not gone through all the pages yet, but I'm hoping you jump to
map/filter/reduce and show how they are the intelligent and amazing
alternative (replacement?) to for-loops and the like. A non-obvious bit of
knowledge that is vital to FP.

~~~
jdeisenberg
I do discuss map/filter/reduce, but not in comparison to for-loops, as the
book presumes that FP is the only thing there is (analogous to how imperative
language books don't mention they are great replacements for assembly
language). I just realized today that I don’t have anything about list
comprehensions, and I may want to add a page on that topic.

------
peatmoss
I was just trying to figure out how to get started with ClojureScript the
other day. This looks fantastic—particularly Appendix C
([http://langintro.com/cljsbook/appendix_c.html](http://langintro.com/cljsbook/appendix_c.html))

------
symboltoproc
This is great work! I prolong learning ClojureScript for too long now - comes
to the right time!

------
mark_l_watson
That is really beautifully done, good job!

