DZone
Web Dev Zone
Thanks for visiting DZone today,
Edit Profile
  • Manage Email Subscriptions
  • How to Post to DZone
  • Article Submission Guidelines
Sign Out View Profile
  • Post an Article
  • Manage My Drafts
Over 2 million developers have joined DZone.
Log In / Join
  • Refcardz
  • Trend Reports
  • Webinars
  • Zones
  • |
    • Agile
    • AI
    • Big Data
    • Cloud
    • Database
    • DevOps
    • Integration
    • IoT
    • Java
    • Microservices
    • Open Source
    • Performance
    • Security
    • Web Dev
DZone > Web Dev Zone > Learning Made Fun, the Zen Way—No, Really!

Learning Made Fun, the Zen Way—No, Really!

Learning new technologies and languages can be a daunting task to even the most seasoned developers. How can we make this easier? Read on to find out one possible solution.

Duncan Brown user avatar by
Duncan Brown
·
Mar. 29, 16 · Web Dev Zone · Opinion
Like (12)
Save
Tweet
5.60K Views

Join the DZone community and get the full member experience.

Join For Free

Those Zen Buddhists have a word for everything!

From Wikipedia, a "koan" is "a story, dialogue, question, or statement, which is used in Zen practice to provoke the "great doubt" and "test a student's progress in Zen practice."

What, pray tell, do koans have to do with anything in the development world?

The answer: a lot.

Koans in Technology

The concept has been transferred—indeed, translated—to the world of technology in the form of incremental, digestible tutorials that have the student start with fundamental concepts that build on each other towards bigger and more challenging, open-ended questions.

The first time I was exposed to this concept was while learning how to code against the various APIs for the Neo4j graph database several years ago.  (Side note: These koans have a Doctor Who theme thanks to Neo's Chief Scientist, Jim Webber, and you can check out these koans in this GitHub repo.)

I was quickly enthralled by the process and found myself thoroughly enjoying it.  In fact, I went through the whole series in 1-2 days because I just could not put it down.

It is that kind of experience that makes people want to learn, and applied to brand new subject matter, it can be a godsend.

Koan and Get It!

It would seem that other authors have adopted this technique, which makes this author very happy.

I had originally started this article with the intention of discussing learning Clojure and Clojurescript, two very powerful languages, both of which can be intimidating. However, as someone who has not touched many languages that employ the "prefix notation" paradigm since university, I was not necessarily looking forward to it.

Then, it came to me in a flash (flashback?): Koans.

Does Clojure or Clojurescript have any koan-based learning materials?

The answer, thankfully, is yes!

So to you, dear reader, I present a list of koans that will hopefully be useful as you start your journey down the path of some new language.  From there, perhaps you can find other koans that you feel are useful.  Feel free to share them in the comments should you find any!

  • Clojurescript koans

  • Clojure koans

  • Ruby koans

  • Python koans

  • Elixir koans

  • Go koans

  • A huge list of koans!

Image title

Happy learning!

Koan (program)

Opinions expressed by DZone contributors are their own.

Popular on DZone

  • Everything You Need to Know About Web Pentesting: A Complete Guide
  • How Do You Know If a Graph Database Solves the Problem?
  • Everything You Need to Know About Cloud Automation in 2022
  • API Security Weekly: Issue 172

Comments

Web Dev Partner Resources

X

ABOUT US

  • About DZone
  • Send feedback
  • Careers
  • Sitemap

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

  • Article Submission Guidelines
  • MVB Program
  • Become a Contributor
  • Visit the Writers' Zone

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 600 Park Offices Drive
  • Suite 300
  • Durham, NC 27709
  • support@dzone.com
  • +1 (919) 678-0300

Let's be friends:

DZone.com is powered by 

AnswerHub logo