# What do beginners struggle with?

**URL:** https://clojureverse.org/t/what-do-beginners-struggle-with/5383
**Category:** Beginners
**Created:** [January 22, 2020, 3:51pm UTC](https://clojureverse.org/t/what-do-beginners-struggle-with/5383 "2020-01-22T15:51:21Z")
**Posts on this page:** 1
**Showing post:** 142

<div class="post-metadata">

### Author: ![niveauverleih](https://clojureverse.org/user_avatar/clojureverse.org/niveauverleih/32/3528_2.png) [@niveauverleih](https://clojureverse.org/u/niveauverleih)
#### Post date: [October 18, 2021, 10:21pm UTC](https://clojureverse.org/t/what-do-beginners-struggle-with/5383/142 "2021-10-18T22:21:08Z")

</div>

- core.logic should be archived: it’s a rabbit hole, nobody uses it in production, the only introductory book is written in Scheme, and the documentation looks abandoned. You’ll get a better price when you sell 10 intact coffee cups than when you sell 10 intact coffee cups plus 2 broken coffee cups.  
Datalog, in contrast, was a revelation.

- laziness is a disappointment. It promises performance gains, but those are so meager that they don’t make up for dealing with he unexpected behaviour of your code

- homiconicity and lists: lists are rarely used in Clojure. I don’t understand why the language keeps them. Clojure forms are data, in particular: lists. If a data structure is representative of Clojure then its vectors or maps. Should Clojure be rewritten one day, then it would be better to use vectors for forms.

- core.async is tough and there are too few books or articles that go into depth. Also, newcomers are sent to documentatiin written for golang.

- Explanations often reference the hosting language, e.g. protocols. I don’t want to learn Java in order to learn Clojure.

---

_[View the full topic](https://clojureverse.org/t/what-do-beginners-struggle-with/5383)._
