Learning Mode Objective

Should Exercism learning mode be sufficient for an experienced programmer to pick up a new language, or is it more of a refresher of external learning before attempting an exercise on that topic?

For most languages, the “learning mode” should be sufficient for an experienced programmer to pick up a new language. Although depends on which one. A few languages have a deeper learning mode and some do not

1 Like

First off, this would depend on the track: many learning modes are incomplete, and even the complete ones might not agree on approach: many tracks delegate to external resources, whereas some other tracks prefer to do the bulk of the explaining themselves.

Second, a language is more than just its grammar. At least for some languages, it should be doable for Exercism to teach the grammar fairly completely. Vocabulary, i.e. the stuff of libraries, is a lot harder, as are architectures and styles.

Third, this depends on the language (≠ track). The present exercise corpus does not suit all languages equally well. For example, many of Haskell’s core features are not the focus of any of the exercises (but are that of other languages’ features).

1 Like


Whether all tracks with Learning Mode achieve that is an unknown, but that is the aim. I’d say that most that have a live Learning Mode do achieve it though.

Exercism aims to teach fluency, not proficiency. That means we hope you end up being able to fluent in the language - or as I think of it, “to be able think like a [LANG] developer”. There will be tools and libraries and things that you need to be proficient in that language in a production environment, but those should (for the most part) be relatively straight-forward once you can speak the language.[1]

[1] Counter example: Learning JS is not enough to be a web-developer if you don’t have web programming experience. But learning JS its enough to go from Rails to Node without huge difficulty if you do know backend web dev.