Exercism :: GitHub project of the week by SD Times

It’s hard to keep up with the vast array of programming languages available today, especially when new programming languages are popping up almost every week. Exercism wants to help. Exercism is an open-source project designed to help new and experienced programmers get up to speed with programming languages quickly.

The project allows developers to experiment with more than 30 languages through practice problems.

“Learning to program is exhilarating and challenging… and also frustrating, exhausting, and overwhelming,” according to the project’s website. “Exercism provides countless small wins. The exercises are achievable mini-quests: small and well defined, and with enough complexity to uncover bite-sized knowledge gaps.”

Programming languages include C#, C++, CoffeeScript, Elm, Erlang, F#, Go, Java, JavaScript, Kotlin, Objective-C, PHP, Python, Ruby, Rust, Scala and Swift. The project will have support for languages such as Bash, C, Nim, Object Pascal, R and Windows PowerShell soon, along with plans to add languages like Ceylon, Julia, and TECO in the future.

Practices are aimed at helping developers gain fluency, ramp up their skills, and develop skills such as code review, refactoring and mentoring. Once developers solve an exercise, they can discuss it with other Exercism users. Feedback includes reading code and sharing experiences.

“Exercism’s tiny toy problems, in the form of automated tests, provide a balance of constraints and freedom,” according to its website. “The exercises encourage you to explore tradeoffs and best practices. Each solution you write is an occasion to ponder readability and code smells. Each solution you review challenges you to articulate your experiences and gut feelings. Each discussion is an opportunity to strengthen your instincts for clean, well-factored code.”

One of the nicest things about Exercism against other similar applications such as Hackerrank or even Codewars is that it has a CLI which allow you to develop with your own tools. And for each language comes a corresponding suitable Test Framework.

See below an example of a use of the Exercism CLI fetching a challenge:

Originally published at sdtimes.com on January 13, 2017.