└── README.md
/README.md:
--------------------------------------------------------------------------------
1 | #### always-be-clojuring 🐝
2 |
3 | Issue Tracker
4 |
5 |
6 |
7 | #### Assumptions
8 | The Clojure and Clojurescript community would like more developers and companies to use Clojure.
9 |
10 | Currently Clojure and Clojurescript have a steep learning curve for most developers.
11 | On top of the language looking completely foreign, getting set up for Clojure development can be time-consuming, frustrating, and difficult.
12 |
13 | By discussing and analyzing the issues we think hamper more developers and companies from using Clojure,
14 | the community can plan and implement solutions that make learning and using it easier.
15 |
16 | If we want to grow the community, lowering the cost to entry shows great potential:
17 | Few people who get past Clojure's initial challenges ever turn back.
18 |
19 | ## Approach
20 | The main purpose of this repo is to provide a central place for the community to discuss and organize efforts to make Clojure easier to learn and use.
21 | Where it makes sense, we can try to use a few basic software development methodologies and principles as guides.
22 |
23 |
24 | **Create issues that define the problem**
25 |
26 | Reasons Clojure hasn't become more widely used is discussed on social media with relative frequency.
27 | It's generally the same pain points being mentioned each time.
28 | A central repository for these issues can prevent us from having to identify them repeatedly and move us toward a more complete understanding of the barriers developers and companies face.
29 |
30 | **Break large problems into subproblems**
31 |
32 | Prior conversations have considered the potential reasons Clojure hasn't become more popular, but they haven't been able to consider any individual reason very deeply.
33 | Having a place where we can break the problem down can allow us to get to the bottom of each individual issue and arrive at a solution for it.
34 |
35 | **Prioritization/impact**
36 |
37 | Prioritizing issues by how much impact the community thinks a solution would have can allow us to have some idea of which are most important.
38 | This can allow interested contributors to avoid spending time on issues that the community as a whole doesn't think will make as much of a difference as other issues.
39 |
40 | **Costing**
41 |
42 | By considering the cost of implementation, the community and contributors can have a better idea of the amount of time and effort involved to implement one solution versus another.
43 | Cross referencing this with how much impact we estimate it will have might show us there are low cost, high value issues we can take on right away.
44 |
45 |
46 | ## Prior art
47 | - [Clojure's growth trajectory](https://www.reddit.com/r/Clojure/comments/7047ts/clojure_growth_trajectory/)
48 | - [I just started learning Clojure, I love it but the documentation is just about the worst thing ever](https://www.reddit.com/r/Clojure/comments/7024oj/i_just_started_learning_clojure_i_love_it_but_the/)
49 | - [Maybe Clojure has nothing to offer web programming that is better enough to make people switch](https://twitter.com/ericnormand/status/947947506838753280)
50 | - [Simple and Happy; is Clojure dying, and what has Ruby got to do with it?](https://lambdaisland.com/blog/25-05-2017-simple-and-happy-is-clojure-dying-and-what-has-ruby-got-to-do-with-it)
51 | - [Interesting Discussion on Clojure Growth and Direction](https://www.reddit.com/r/Clojure/comments/6brhsq/interesting_discussion_on_clojure_growth_and/)
52 | - [What does Steve Yegge mean by Clojure being "user-hostile"?](https://www.reddit.com/r/Clojure/comments/3jjit5/what_does_steve_yegge_mean_by_clojure_being/)
53 | - [Should Cognitect do more for Clojure?](http://www.lispcast.com/cognitect-clojure)
54 | - [Guidance for ClojureScript beginners](https://docs.google.com/document/d/1vom_MUTmQjsmjeQgw60ChGO9NDD9AvoIwJPPzrf8FKM/edit#heading=h.657ovwb1zxit)
55 | - [Clojurescript for JS Devs](https://github.com/thheller/shadow-cljs/wiki/ClojureScript-for-JS-Devs)
56 | - [welcome-to-cljs](https://github.com/shaunlebron/welcome-to-cljs)
57 | - [cljs](https://www.npmjs.com/package/cljs)
58 | - [Parens of the Dead](http://www.parens-of-the-dead.com/)
59 |
60 | ### Editor setup
61 | - [Slick Clojure Editor Setup with Atom](https://medium.com/@jacekschae/slick-clojure-editor-setup-with-atom-a3c1b528b722)
62 |
63 | ### Error messages
64 | - [Improving error messages in Clojure as a library](https://clojureverse.org/t/improving-error-messages-in-clojure-as-a-library/1765)
65 |
66 | https://twitter.com/borkdude/status/974253241574809600
67 |
68 | ## Ongoing efforts
69 | ### Beginner entrypoints
70 | - [Clojurescript 1.10 Quickstart](https://github.com/clojure/clojurescript-site/blob/96cdf27ff1a2a836ae4f7c706e48a0bff21e95a0/content/guides/quick-start.adoc)
71 | - [maria.cloud](https://www.maria.cloud/) - A ClojureScript coding environment for beginners. [Github repo](https://github.com/mhuebert/maria)
72 |
73 | ### Documentation
74 | - [Dynadoc](https://github.com/oakes/Dynadoc) - Dynamic documentation for Clojure(Script)
75 | - [Ultra Docstrings](https://github.com/ericnormand/ultra-docstrings) - Replacement docstrings for Clojure, focusing on learning.
76 |
77 | ### Error messages
78 | - [Pyro](https://github.com/venantius/pyro) - Light up your Clojure stacktraces
79 | - [expound](https://github.com/bhb/expound) - Human-optimized error messages for clojure.spec
80 |
--------------------------------------------------------------------------------