Hacker News new | past | comments | ask | show | jobs | submit login

State your backgrounds please~ ClojureScript users? Non-Clojure programmer? Known Lisp?

Showing code is most direct way of telling people what ClojureScript is. The official side gave thousands of words but people with less knowledge just don't read. Code just tells, even audience don't get the whole ideas, they are impressed.

Also the page listed quite some projects which are important to the community, which the official one did not offer.

I made this page and collected feedbacks from ClojureVerse and WeChat group mainly. Definitely I need to serve wider audience. Please tell me more details what you feel confused on this page.




Have used ClojureScript a little bit, Clojure a fair amount, a lot of coding in other Lisps.

Having code is useful! Yes! But it is easier if people are guided to it. On the reddit thread you link, you link to two tweets containing the homepages for languages like CoffeeScript, PureScript, and LispyScript. All of these pages have code on the main page, yes.

But note that on all of them, the code snippets are motivated. LispyScript has eight lines of code across six heavily explained examples. PureScript has five lines of code that come after a tagline that explains what the language is, then ten bullet points explaining benefits. Each example of Elm code is separately motivated. The user is never left guessing why the code is there: the first snippet is "Javascript Interop"; the second "No Runtime Exceptions".

Compare that to clojure-script.org/. The first thing I see when I load the page is "InterOp". Interop of what? The first English word I see on the page is "Microsoft". Is Clojurescript a Microsoft project? This is inverted, where the page wants to dive into details about Clojurescript before even explaining what Clojurescript is. You wouldn't display a Western-style horse saddle, expect them to figure out on their own the differences between that and an English saddle when you don't state them, and you definitely wouldn't talk about that before explaining what horseback riding is!


Can't disagree. I didn't see the page in that way before. At first I just want to paste some code there. If a new user came, he/she knows nothing about Clojure and he/she does not read it. He/she gets the impression that Clojure is a Lisp with so many garish features, nice. If a experienced Clojure user same, he just recognized the code and thought "yes that is Clojure".

If a new user tries to read the code, there can be confusions. True. There's still quite a gap in in front of new users who want to know ClojureScript better. Any examples you have seen that solves the problem while we still have so many snippets in the first screen?


I think some of the other sites you linked are great examples.

So move the elevator pitch for Clojurescript to the top of the page. "Clojurescript is a compiler for Clojure that targets Javascript" is an explanation technically, but you might want to write something more about why you'd use Clojurescript.

For example, the first words you see on Elm's site are "A delightful language for reliable webapps.". So you'd use Elm to make webapps, and it should be enjoyable to use. Ruby says "A dynamic, open source programming language with a focus on simplicity and productivity. It has an elegant syntax that is natural to read and easy to write." Note how none of these focus on how the language is implemented; most users don't care. The language could have a compiler written in Brainfuck to compile to Lua, but that's all under the hood.

So write a sentence or two about why a programmer would choose Clojurescript for a task. What kinds of things does Clojurescript do well?

Also, I'd suggest motivating the snippets the way Elm does, where the user isn't left guessing why a snippet is there. It's explicitly explained.


Hard question for me. Trying to reach for help https://clojureverse.org/t/how-do-you-introduce-clojurescrip...




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: