使用 Exercism 提升你的编程技巧
编程 Exercism

> 
> 这些练习目前已经支持 33 种编程语言了。
> 
> 
> 


![Improve your programming skills with Exercism ](/data/attachment/album/201704/15/100442knjg7677vxjso7jy.png "Improve your programming skills with Exercism ")


我们中的很多人的 2017 年目标，将提高编程能力或学习如何编程放在第一位。虽然我们有许多资源可以访问，但练习独立于特定职业的代码开发的艺术还是需要一些规划。[Exercism.io](http://exercism.io/) 就是为此目的而设计的一种资源。


Exercism 是一个 [开源](https://github.com/exercism) 的项目和服务，通过发现和协作，帮助人们提高他们的编程技能。Exercism 提供了几十种不同编程语言的练习。实践者完成每个练习，并获得反馈，从而可以从他们的同行小组的经验中学习。


这里有这么多同行！ Exercism 在 2016 年留下了一些令人印象深刻的统计：


* 有来自 201 个不同国家的参与者
* 自 2013 年 6 月以来，29,000 名参与者提交了练习，其中仅在 2016 年就有 15,500 名参加者提交练习
* 自 2013 年 6 月以来，15,000 名参与者就练习解决方案提供反馈，其中 2016 年有 5,500 人提供反馈
* 每月 50,000 名访客，每周超过 12,000 名访客
* 目前的练习已经支持 33 种编程语言，另外 22 种语言在筹备工作中


该项目为各种级别的参与者提供了一系列小小的挑战，使他们能够“即使在低水平也能发展到高度谙熟”，Exercism 的创始人 [Katrina Owen](https://twitter.com/kytrinyx) 这样说到。Exercism 并不旨在教导学员成为一名职业程序员，但它的练习使他们对一种语言及其瑕疵有深刻的了解。这种熟悉性消除了学习者对语言的认知负担（使之更谙熟），使他们能够专注于更困难的架构和最佳实践的问题。


Exercism 通过一系列练习（或者还有别的？）来做到这一点。程序员下载[命令行客户端](http://exercism.io/cli)，检索第一个练习，添加完成练习的代码，然后提交解决方案。提交解决方案后，程序员可以研究他人的解决方案，并学习到对同一个问题不同的解决方式。更重要的是，每个解决方案都会收到来自其他参与者的反馈。


反馈是 Exercism 的超级力量。鼓励所有参与者不仅接收反馈而且提供反馈。根据 Owen 说的，Exercism 的社区成员提供反馈比完成练习学到更多。她说：“这是一个强大的学习经验，你需要发表内心感受，并检查你的假设、习惯和偏见”。她还指出，反馈可以有多种形式。


欧文说：“只需进入，观察并发问”。


那些刚刚接触编程，甚至只是接触了一种特定语言的人，可以通过预设好的问题来提供有价值的反馈，同时通过协作和对话来学习。


除了对新语言的 <ruby> “微课”学习 <rt>  bite-sized learning </rt></ruby> 之外，Exercism 本身还强烈支持和鼓励项目的新贡献者。在 [SitePoint.com](https://www.sitepoint.com/exorcise-your-newbie-demons-by-contributing-to-exercism/) 的一篇文章中，欧文强调：“如果你想为开源贡献代码，你所需要的技能水平只要‘够用’即可。” Exercism 不仅鼓励新的贡献者，它还尽可能地帮助新贡献者发布他们项目中的第一个补丁。到目前为止，有近 1000 人成为 [Exercism 项目](https://github.com/exercism)的贡献者。


新贡献者会有大量工作让他们忙碌。 Exercism 目前正在审查[其语言发展轨迹的健康状况](http://tinyletter.com/exercism/letters/exercism-track-health-check-new-maintainers)，目的是使所有发展轨迹可持续并避免维护者的倦怠。它还在寻求[捐赠](http://exercism.io/donate)和赞助，聘请设计师提高网站的可用性。


Owen 说：“这些改进对于网站的健康以及为了 Exercism 参与者的发展是有必要的，这些变化还鼓励新贡献者加入并简化了加入的途径。” 她说：“如果我们可以重新设计，产品方面将更加可维护……当用户体验一团糟时，华丽的代码一点用也没有”。该项目有一个非常活跃的[讨论仓库](https://github.com/exercism/discussions/issues?page=1&q=is%3Aissue+is%3Aopen)，这里社区成员合作来发现最好的新方法和功能。


那些想关注项目但还没有参与的人可以关注[邮件列表](http://tinyletter.com/exercism/archive)。




---


作者简介：


VM（Vicky）Brasseur - VM（也称为 Vicky）是技术人员、项目、流程、产品和 p^Hbusinesses 的经理。在她超过 18 年的科技行业从业中，她曾是分析师、程序员、产品经理、软件工程经理和软件工程总监。 目前，她是 Hewlett Packard Enterprise 上游开源开发团队的高级工程经理。 VM 的博客在 anonymoushash.vmbrasseur.com，tweets 是 @vmbrasseur。




---


via: <https://opensource.com/article/17/1/exercism-learning-programming>


作者：[VM (Vicky) Brasseur](https://opensource.com/users/vmbrasseur) 译者：[geekpi](https://github.com/geekpi) 校对：[jasminepeng](https://github.com/jasminepeng)


本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译，[Linux中国](https://linux.cn/) 荣誉推出


OK
Many of us have a 2017 goal to improve our programming skills or to learn how to program in the first place. While we have access to many resources, practicing the art of code development independent of a specific job requires some planning. [Exercism.io](http://exercism.io/) is one resource designed for this exact purpose.

Exercism is an [open source](https://github.com/exercism) project and service aimed at helping people level up in their programming skills using a philosophy of discovery and collaboration. Exercism provides exercises for dozens of different programming languages. Practitioners complete each exercise and then receive feedback on their response, enabling them to learn from their peer group's experience.

And what a lot of peers there are. Exercism racked up some impressive stats in 2016:

- Participants from 201 different countries
- 29,000 participants submitted exercises since June 2013, with 15,500 of them submitting exercises in 2016 alone
- 15,000 participants provided feedback on exercise solutions since June 2013, with 5,500 of them providing feedback in 2016
- 50,000 visitors a month and over 12,000 each week
- 33 programming languages are currently supported by exercises, with another 22 in the works

The project provides a series of small wins to participants of all levels, allowing them to develop "a high degree of fluency even at a low level of proficiency," said [Katrina Owen](https://twitter.com/kytrinyx), founder of Exercism. While Exercism does not aim to teach participants enough to become employed as a programmer, its exercises give them a deep familiarity with a language and its foibles. This familiarity removes the cognitive burden of language from learners (fluency), allowing them to focus instead on the more difficult problems of architecture and best practices (proficiency).

Exercism does this through a series of (what else?) exercises. A programmer downloads the [command line client](http://exercism.io/cli), retrieves the first exercise, adds code that fulfills the exercise, and then submits the solution. After submitting a solution the programmer can study the solutions of others and learn from different approaches to the same problem. More importantly, each solution receives feedback from other participants.

Feedback is the super power of Exercism. All participants are encouraged not only to receive feedback, but also to provide it. According to Owen, members of the Exercism community learn more from providing feedback than from completing the exercises themselves. "It's a powerful learning experience. You're forced to articulate gut feelings and to examine your assumptions, habits, and biases," she said. She also pointed out that feedback can take many forms.

"Just go in and make observations and ask questions," said Owen.

Those who are new to programming, or even just to a specific language, can provide valuable feedback by questioning assumptions while also learning through collaboration and dialog.

Beyond just enabling bite-sized learning of new languages, Exercism itself strongly supports and encourages new contributors to the project. In an [article on SitePoint.com](https://www.sitepoint.com/exorcise-your-newbie-demons-by-contributing-to-exercism/), Owen stressed that, "If you want to contribute code to open source, the level of skill you need is 'good enough.'" Exercism not only encourages new contributors, but as a project it does everything possible to help new contributors land their first patch. To date nearly 1,000 people are contributors to the [Exercism project](https://github.com/exercism).

New contributors will have plenty to keep them busy. Exercism is currently reviewing [the health of its language tracks](http://tinyletter.com/exercism/letters/exercism-track-health-check-new-maintainers) with an eye toward making all tracks sustainable and avoiding maintainer burnout. It's also seeking [donations](http://exercism.io/donate) and sponsorships to hire designers to improve the usability of the site.

These improvements are necessary for the health of the site and for the well-being of Exercism's participants, but also these changes encourage and ease the path for new contributors to join, said Owen. "The product side would be much more maintainable if we could get this redesigned... When the user experience is a mess, there really is no point in having gorgeous code," she said. The project has a very vibrant [discussion repo](https://github.com/exercism/discussions/issues?page=1&q=is%3Aissue+is%3Aopen) where community members collaborate to discover the best new approaches and features.

Those who want to keep tabs on the project but not yet participate can follow along on the [behind the scenes mailing list](http://tinyletter.com/exercism/archive).

## 2 Comments