This chapter covers:
- The standard library as a fundamental piece in your toolbox
- Transforming "dry specifications" into a fun and educational experience
- Clojure standard library high level structure
- Some examples of the library in action
Software development is often compared to a craft, despite the fact that it’s predominantly an intellectual activity. While software development is abstract in nature there are many craft-oriented aspects to it:
- The keyboard requires time and dedication to operate correctly. There are endless discussions on the best keyboard layout for programmers, for example to speed up typing [1].
- The development environment is a key aspect of programmers productivity and another source of debate (almost reaching a religious connotation). Mastering a development environment often translates into learning useful key combinations and ways to customize the most common operations.
- Libraries, tools and idioms surrounding the language. Almost everything above the pure syntax rules.
- Proficiency in several programming languages is definitely a plus in the job marketplace and the way to achieve it is by practicing them on a regular basis including getting familiar with APIs and libraries the language offers.
- Many other aspects require specific skills depending on the area of application: teaching, presenting or leadership.