You know what'd be a cool website/application? A front end to all these 'learn-to-code' things. Like how Mint is a front end to multiple bank's websites I could have one account that interfaces into project euler, rosalind, exercism, etc grabs exercises and checks them.
exercism.io has been an amazing tool to improve my Ruby skills (I can't speak to any other languages yet) although it seems that nitpicks have become a bit on the light side lately.
I'd challenge anyone to pick a language they are semi-comfortable in or a brand new-language and do a month of exercism exercises, refactoring as you get comments, and then moving onto the next exercise.
Even 15 minutes of code practice a day goes a long way.
and I should say, don't forget to critique your peers' code as well (gently and respectfully) as the site points out, reading and critiquing code is just as useful practice in getting better at coding as writing code.
I practically learned Swift by doing the first available exercises. (12 or so) when I ran out of exercises I started to implement new ones by taking the test cases from the ruby track (most similar to Apple's XCTest). Check out the available tracks http://synopsis.exercism.io/ Next I am exited about practicing Rust!
I imagine the idea behind this was to avoid having to roll an in-browser IDE with the advantage of letting users use (and learn) the actual tooling that comes with that language.
I personally liked using my own editor, but the CLI didn't provide much added value in my opinion. The tests were enough for me and it was kind of annoying to have to run the CLI every time you're finished just to get the next exercise...
Yes, but what's the value in this website having a dedicated application that I either have to trust blindly or evaluate and compile?
We already have this great sandboxed environment called a browser for running untrusted code from the internet. They could still offer endpoints for curl, if it's just about using the command line.
It was originally designed as more of a mentoring platform, so you would be led through it by a friend that knows the process. It's easier to trust a friend than a code review for a non programmer. It's also easier on the friend to be able to download just one binary and start mentoring than for her to have to find a bunch of requirements just to get the exercise.
It's enough to have to get all of the language's requirements installed...
Yeah. But reviewing 1900 lines of code before I've even seen a single one of their exercises? That doesn't sound like fun. I would be far more willing to run their app if I could try the actual service first.
It's not absurd to have a healthy distrust of foreign code running on personal machines, especially binaries from random people with a website while there's no discernible reason for a binary in the first place.
Extremely confusing website, are the exercises somewhere on the website or do I need to download an application or are the exercises on Github or what?
The screenshots make it look like CodeAcademy with messages/comments, but I can't find the exercises anywhere.
If you're just interested in the exercises without all the code review shenanigans that the site + CLI tool offer, they're all available on https://github.com/exercism (all the ones named `x$language`).
One of the issues is that it was originally designed as a mentoring platform, so you would be led through it by a friend that knows the process. The help link is very good for some languages, but could use some love for other languages.
You know, at first I found this was really good, but after trying it for a little I just completely forgot about it. Is it as good as everyone says? From the comments so far it makes me want to try it out again.
I really enjoyed it. It was pretty fun to see everyone else's submissions and read their comments.
I also like the command-line interface. No GUI or web garbage to muck with to fetch or submit exercises.
When I saw that you expected users to join with their GitHub accounts, I assumed that the exercises would be made available on GitHub and the submissions would also happen through GitHub (on a user specified repo).
You can find the exercises on GitHub (see https://github.com/exercism/xhaskell for example). They have their own workflow for the review process ("nitpicks" and "iterations") which could be grafted onto GitHub issues and pull requests, but it's not necessary and might just make beginners more self conscious about their stuff being open to anyone on GitHub.
The CLI is easier to integrate into a normal development workflow, than clicking buttons, dragging files, or copy/pasting code to get the code into the browser.
I guess this supposes that "normal" means somewhere near the command-line, which might not be true for all developers.
If you mean CLI by desktop app, then... It strips out one of the most annoying parts of doing exercises for people who already have tools and like them... navigating to a website, using some crappy browser editor, file browser, and all that. No copy/paste.
This is the workflow:
Ask for a new [language] exercise (it selects the next one for you to work on and downloads a test file and readme)
Work on exercise locally in whatever environment you want
Submit exercise and fetch the next one