9 ms·
ClojureScript beginners' home page
- spinningarrow 9y agoI find the random sample snippet of code at the top of the page quite confusing. The first time it loaded it was about threading macros and the second time was reagent, both of which are things I wouldn’t expect a beginner to be familiar with. Perhaps some context would be nice. Even better, how about a snippet of code in cljs showing how people can do something they’re familiar with in JS?
- kimi 9y agoAgreed. Consider also that for someone who does not know anything about Clojure, it looks alien enough.
- jiyinyiyong 9y agoDoes the first paragraph the page help? I was expecting this paragraph telling people what ClojureScript is. > Clojure is a dialect of the Lisp programming language. Clojure is a general-purpose programming language with an emphasis on functional programming. ClojureScript is a compiler for Clojure that targets JavaScript.
- kimi 9y agoYes, sure, but if the snippet looks complex people will think "oh - that's too complex for me!" and give up. PS. why don't you post it on Clojureverse as well? :-)
- jiyinyiyong 9y agoI posted it on Reddit/Clojure before. People on ClojureVerse read Reddit a lot, I think.
- zck 9y agoWho's your target market for the front page? If it's people who don't know what Clojurescript is, why confuse them with hundreds of characters of incomprehensible code, with no understanding of why it's there or what it does? On the other hand, if it's people who are familiar with Clojurescript...also why is it there? It's given no motivation on the page, and gets in the way of people finding what they're looking for.
- jiyinyiyong 9y agoState 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.
- zck 9y agoHave 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!
- jiyinyiyong 9y agoI put some random snippet gathered from the community about all the features ClojureScript supports. This page is not targeting JavaScript developers alone. It's visited by many Clojure and ClojureScript developers. And I want to exhibit more on what ClojureScript is capable and the beauty of the code. I was trying to ask what are the best snippet we should display. But it turned out we didn't reach a conclusion, not even close. https://clojureverse.org/t/which-piece-of-code-do-you-think-makes-clojurescript-significant/1917 https://clojureverse.org/t/which-piece-of-code-do-you-think-... BTW what's your background? What do you refer to by "something they are familiar with in JS"?
- spinningarrow 9y agoOn the whole, great work! Something like this is definitely needed to make cljs more approachable.
- jbeja 9y agoSo this is for Clojurist who want to try Clojurescript? That's what is screaming.
- Sawamara 9y agoI could not get leiningen to install under Win10 a week ago, was quite a sobering experience. Some site that was linked to download from got a 404, then I got directed towards some bat script, which complained about HTTPS certification issues (lol)? Took less than 5 minutes under a linux server though, so thats something, I guess. But still, its kinda mind-blowing how much Win users are ignored.
- jiyinyiyong 9y agoI saw David adding commands that Windows users need in the docs. Personally I don't like treating Windows users like how I treated Linux/macOS users. You chose Windows, you chose the hard way, you have to figure it out on you own. Post your question to http://clojureverse.org/ http://clojureverse.org/ see if others can help.
- tmountain 9y agoThis kind of thinking is not helpful in maximizing adoption for any technology, period.
- jiyinyiyong 9y agoAgreed. David definitely knows that.
- swannodette 9y agoLead developer of ClojureScript here. Agreed, we take Windows support quite seriously.
- Sawamara 9y agoWell, then I can only say this: ClojureScript is "competing" for developer attention with Purescript, Bucklescript, and lately, ReasonML. Ease of installation on windows is one factor that will matter to many users.
- Hupriene 9y agoIt's been a while since I've worked with ClojureScript. I was excited to learn about lumo. Thanks.
- jiyinyiyong 9y agoMake sure you also know the goodies in shadow-cljs https://news.ycombinator.com/item?id=16866085 https://news.ycombinator.com/item?id=16866085
- holtalanm 9y agoI've been learning Clojure and ClojureScript in my spare time. I can honestly say that one thing that would make adoption a lot more wide-spread is a better way to include NPM modules in the project. I know that there is a new feature for it, but the documentation was a little cryptic. Ended up just adding some CLJSJS dependencies to my project and giving up on using the NPM module I _really_ wanted to use. In the end, that could be because i'm just lazy, though. I'd love to hear what others think on this topic.
- typon 9y agoBeen working on a cljs project and took me a solid week to get npm integration working. The documentation is either wrong or incomplete on both the official site and the wikis for lein/boot.
- jiyinyiyong 9y agoStill, please try shadow-cljs https://news.ycombinator.com/item?id=16866085 https://news.ycombinator.com/item?id=16866085 and join us on Slack.
- typon 9y agoYep, that's what I ended up discovering and going with. However, shadow-cljs REPL integration was also pretty hard to get working with my editor (spacemacs), because most of the tutorials assume you're using lein to build your project. shadow-cljs is pretty dope though. Almost instantaneous rebuild times and basically no setup besides a small, understandable config file.
- holtalanm 9y agoi think the underlying problem is that the documentation is incomplete and/or outright incorrect. CLJSJS was a life-saver for me, at least.
- puredanger 9y agoIt's helpful to post doc problems / questions on the clojurescript-site issues so that it can be improved. https://github.com/clojure/clojurescript-site/issues https://github.com/clojure/clojurescript-site/issues
- geokon 9y agoI haven't found a place that explains the big picture and how everything fits together. Is there a good resource to learn clojurescript for someone who's never done web programming and without having to learn JS? I'm learning Clojure now (coming from years of C++) and I love it. There is a bit of black magic (lein/cider make cmake look like a shell script) but CJS is a bit daunting b/c it has so many layers. CJS on Lumo on React on JS on the DOM ... I don't actually know what any of those words mean :P
- bgorman 9y agoI would highly advise newcomers to CLJS to use lein cljsbuild, reagent, and the figwheel template. It is by far the most popular tooling for CLJS - although recently shadow-cljs folks have been quite loud.
- jiyinyiyong 9y agoI'm definitely one of shadow-cljs folks. We are trying to shorten the steps and paths people coming from JavaScript world to ClojureScript. Figwheel is a great tool, just not a perfect one to people with JavaScript background.
- fnordsensei 9y agoCould you elaborate a little bit on how figwheel is challenging for people with JS background and how shadow-cljs differs?
- cutler 9y agoTry getting Figwheel to work with Emacs CIDER and Spacemacs. It's a joke. This is what you have to go through: https://github.com/bhauman/lein-figwheel/wiki/Using-the-Figwheel-REPL-within-NRepl https://github.com/bhauman/lein-figwheel/wiki/Using-the-Figw... and at the end of it Spacemacs told me cider-connect-clojurescript was not available. I'm not the only one who's given up on this. Quite a few luminaries in the Clojurescript world have abandoned Emacs/CIDER.
- aaroniba 9y agoYou might think from the URL or logo that this is some kind of official ClojureScript page, but it's not. The official page is clojurescript.org (no hyphen). I don't speak in any official way for ClojureScript, but as an enthusiast, I wish this author had chosen a different URL to make that more clear. Other ideas to mitigate the confusion: using a different logo in the corner; prefixing the html <title> with "unofficial"; and adding a more prominent link to clojurescript.org titled "Official ClojureScript Page".
- jiyinyiyong 9y agoWell, you may need this one https://www.reddit.com/r/Clojure/comments/8anepx/a_fake_home_page_for_clojurescript/ https://www.reddit.com/r/Clojure/comments/8anepx/a_fake_home... The main purpose of this page is trying to make new developers come to ClojureScript feel better by providing informations. People in Clojure community already knew it so I don't have to emphasis that my side is unofficial again. Plus I added a link at the corner. Still thanks for putting down you impressions. But I thought about you option before when posting to Reddit.
- resurge 9y agoPeople in the Clojure community might know that your site is not the official one, but people new to Clojure(script) might not! I actually thought it was the official website first time I visited the page. (The "Back to official" link is not clear enough) I agree with the improvements that were suggested. (different logo or putting unofficial in the title)
- jiyinyiyong 9y ago> ClojureScript(Unofficial) Fine... Updated.
- nothrabannosir 9y agoThat’s very cool, thanks for doing that. As a complete outsider to all of this, I have to say that does help a lot.
- doglooksgood 9y agogreat job, it’s pretty hard to sell clojurescript withoit any context(I mean, somebody tell you his success story or explain why it is good). To make who comes here adopt on clojurescript, I think this page should have some links on sucess story or open source applications. And it will be more attractive if it has more logos here, instead of plan text links IMO.
- jiyinyiyong 9y agoThanks. The official sites might be the better place doing that. I'll see what I can do on my side as well.
- stojano 9y agoStill figuring out the keybindings for spacemacs... after mastering it, I'll have a look at Clojure & ClojureScript. CU in 2020
- stojano 9y agoKidding... easy start documentation for it is really needed
- achikin 9y agoYou could try Cursive - a plug-in for Inellij Idea. Unfortunately most tutorials suggest emacs, which is not very good for quick start.
- CodeArtisan 9y agoNightcode, Nightlight, Nightcoders are programming environments specifically made for clojure/clojurescript. http://nightcoders.net/ http://nightcoders.net/ https://sekao.net/nightlight/ https://sekao.net/nightlight/ https://sekao.net/nightcode/ https://sekao.net/nightcode/
- philbo 9y agoIs it possible to develop CLJS without needing the JVM yet?