
Learning Clojure Made Easy - ertucetin
https://clojurecademy.com/#
======
mollusk
My advice would be allowing to start take a course without signing up, and
offering to create an account during the learning process "to save progress"
i.e. the way Codecademy does it (as far as I remember).

~~~
dvfjsdhgfv
Fortunately it accepts throwaway e-mails so you can test it anyway.

------
hellofunk
Not clear if the site does this or not, but it would be good for the Clojure
community if the course covered a lot in Clojurescript (or even focused on
it). I think the browser development audience is likely much larger than the
JVM audience, and Clojurescript and its ecosystem are an area that
particularly shines in the industry.

~~~
ertucetin
hi I'm author of the site,

You are right! I'm also considering to add Clojurescript feature to
Clojurecademy(it does not have at the moment) and this would be very useful
for browser development audience like you said.

~~~
trimaster
Hi, have you also considered forgoing (or delaying) the sign-up step for your
site? I would love to try without having to register.

~~~
ertucetin
hey, actually I did not until lots of people started asking for it. I did not
think that that would be a problem, if I did before I would not have asked for
sign up. I guess I need to find a way for that. Thank you for your suggestion!

------
dvfjsdhgfv
> Please copy and paste the following code and click Run. > (+ 1 2 3)

I typed (+ 3 3 3) and lo and behold...

> 2\. instruction failed.

> Apparently you did not copy and paste properly.Please check copy paste
> order.

What on Earth? Please don't make programmers feel like copy & paste monkeys -
many other sites are doing this it already.

~~~
freehunter
Copy and paste might be the wrong method to use, but following directions
isn't hard. It's not a REPL, it's a tutorial. Typing something wrong _should_
cause you to fail the lesson.

~~~
bitwize
Never underestimate the power of being able to goof around.

When I was a kid, I learned basic Unix commands using 'learn', a tutorial
program that worked like this: you were presented a menu of concepts to learn
from which you chose one. The program would then give you a textual overview
of the concept and any associated commands; then, to test your knowledge, it
would give you a goal (say, move a specified file into a specified directory,
or edit a file) and drop you into a fake shell prompt.

The fake shell worked just like the real shell in most every way. You could
mess around, delete files, destroy stuff, etc. When you thought you had
finished the lesson you could type a command (I believe it was 'ready'), and
the tutorial would then exit the fake shell and assess your progress. If you
did not meet the goal, or you seriously messed up the fake environment, you
would not pass the lesson but you could opt to be dropped into the fake shell,
restored to the exact same state as when you first saw it, and try the lesson
again.

Rapping newcomers on the knuckles for exploring is not how you win them over.
Give them directed goals to accomplish, sure, but also give them a safe
environment where it's practically impossible to seriously mess things up
while exploring, so that they can satisfy that "what does this button do?"
urge as they hunt for the solution.

~~~
freehunter
Again, that's the job of a REPL. If you're taking a spelling test in school
and they ask you to spell "butterfly" and you write "treadmill"... sure,
you've written a word correctly, congratulations. You still failed because you
didn't write the correct word, and writing the correct word was the entire
point of the exercise. If your boss tells you to write a landing page and you
write a Twitter clone, hey congrats you did a great job. Now you're fired
because you didn't do what you were specifically told to do.

There is a time and a place for exploration and the first step of a tutorial
is _not_ that time or place. It is the time for following directions,
otherwise the rest of the tutorial will not work and you will be frustrated.

This is a tutorial, not a playground. Here's what you're looking for:
[https://repl.it/languages/clojure](https://repl.it/languages/clojure)

------
justaquickquest
Serious question: what problems does Clojure solve for programmers? Every time
I try a new and interesting language I end up saying "Gee, that was pretty fun
I guess" and then go back to whatever it is that I was using prior to that. I
have never been able to justify moving away from Python or C. Learning a new
language can be fun and enlightening in it's own ways, but it also feels like
a waste of time.

Just curious if anyone can add some perspective.

~~~
connormcarthur
In a production environment: Clojure combines all of the resources of the
Java/JVM environment with a nicer (in my opinion), dynamic syntax. It also has
the best standard library of any language I have worked with, bar none.

From a learning standpoint: Clojure and other functional languages are worth
using because they make you approach problems differently, and in doing so you
become a better programmer.

Source: used Clojure in production building a real product for ~3 years

~~~
agumonkey
If compared to non recent java, clojure turns KLoC in LoC. Remembering raw
swing vs seesaw gui makes me dizzy.

Also, remember that when java devs were tired of suffering bloat, they
invented gui designers to hide it. Now you have two problems.

------
joeevans1000
Thank you for what was probably a lot of hard work to get this site together!
I appreciate it a lot.

~~~
ertucetin
You are welcome!

------
kul_
Learning clojure is relatively easy, the hard part would be to get paid for
writing it.

~~~
ertucetin
If language gets enough attention over time, there will be more job
opportunities so that's a start I guess :)

