DEV Community

Nick Tolhurst
Nick Tolhurst

Posted on • Originally published at nicholastolhurst.com on

day 1 of learning clojure as a total beginner

Context

  • I have never used clojure before.
  • I will be honest about my approach and thoughts.
  • I have experience with various OOP languages, but not in a professional capacity.
  • I work as an infrastructure engineer, I am not new to tech.

Setup

Where to start?

  1. Google “how to install closure”
  2. Click on “Show instead ‘how to install clojure’“

After poking around the many different ways to get clojure installed - and some failed attempts with WSL2 🥴 - I found that vscode has an extension/environment - Calva.

This was a no-brainer. Though I am also interested in learning Emacs, Vim, and the numerous other editors out there (and I will, I promise), I am already familiar with vscode, and I’m here to give clojure my best effort and full attention.

Installing Calva is easy. Below is the one-liner, or you could use the UI.

code --install-extension betterthantomorrow.calva
Enter fullscreen mode Exit fullscreen mode

It is also admirably beginner friendly, with an interactive getting-started guide that has a witty style. To start this, pressctrl+shift+p, type calfig, press enter (you will learn more about these tasks in the guide!).

Wow. This looks nerdy 🤓. I’ll wait to get stuck in; first, some reading:

Okay, I wish I didn’t read them - even though I know it is essential, it made little sense at this point 🤷‍♂️. It took a lot to follow, especially for a newbie in this type of programming. In retrospect - this blog was written up a day later - I should have completed the getting-started guide first. A little warm-up is advised.

Actually getting started

Ah, this is better.

My initial thoughts are this is beginner friendly 🙌. Can programming languages be inclusive for newbies? 🤔 I already feel like I am being lured in and want to learn more. As I spend the next ~40 minutes working my way through the introduction.

There are lots of shortcuts worth learning. Below 👇 are the top 4 that I most use so far. I’ll continue to post these as I discover them.

  • alt+enter: evaluate top level form.
  • ctrl+enter: evaluate current form.
  • ctrl+alt+c, enter: load / reload current file.
  • escape: remove all evaluated results.

Wrap up

The getting-started guide is longer than I expected. It’s been a very late hour. Yet I’m still here and even more invested. Have I learned anything? Only that I now understand less. I have no idea what this would ever be used for - but that’s okay. Trust the process.

Let me know your thoughts and recommendations! Apologies if I mistype or misunderstand. I am always open to feedback and corrections.

I’ll check back in tomorrow, thanks for reading 🙏

Top comments (0)