Updates on my progress

Since I started reading books on clojure, I have also been reading other books. In addition, I have started learning Blazor web framework for work. Overall I am stiill making progress.

I also realised that although I am making progress, it needs to align more in the direction that I am interested in. This means I need to also practice more on the practice of writing more code apart from what I do at work.

On this front I am writing documentation for a blazor project. in addition I have also started writing a quiz conducting app written in blazor. I plan to learn more about feature folders and unit testing components.

Reading: Learn ClojureScript – 1

Since I have covered the basic clojure concepts in the previous book, this is acting as a nice revision of the concepts I have read about.

Some notes from the reading:

  • A function is said to be “referentially transparent” if it fits in the
    pure substitution model of evaluation that we have discussed.
  • That is, a call to a function can always be replaced with the value to
    which it evaluates without having any other effect.

Reading: Clojure for the Brave – Done

After reading through all the chapters of this book, I have a fair understanding of what constitutes a Clojure program. I understand the basic data-types, what writing a macro entails, the syntax in various contexts (like de-referencing an atom, unquoting a binding, etc.).

Topics that will require more work:

  • Collections: seq, lazy seq, etc.
  • Standard library functions: I understand some basic functions but knowing what else is part of the core library will make a big difference
  • Just writing programs in clojure will also help gain some confidence. To this end, this video suggested writing a 2d game. The rationale is most of us have played some kind of 2d games in the past and already know how they operate, so we are clear on the requirement. This means all that we have to do is concentrate on how to do it in clojure.
  • More clojurescript? I primarily write web-apps for a living and this might give me something to compare.

Next steps

  • Solve some exercises on 4clojure and exercism
  • Read another book?