Epic codefest: 7 programming languages in 7 days

We challenged our developers to learn Clojure, Scala, JavaScript, Ruby, Java, Kotlin, and Go in a day. Here's how easy it is to make the switch

Page 2 of 9

Methodology

For each language, we chose a developer who didn't know the language at all. For example, our UI/JavaScript-savvy Web developer was assigned Java, which he's never really done, living as he does in JavaScript/JQuery/HTML/CSS land. For Node.js, we put to the test a back-end Java developer who didn't know JavaScript.

To ensure each version of Granny was "quintessential," we used the frameworks and methods most common for the language in question, though this should be taken with a grain of salt. For Java, our JavaScript guy started out with JAX-RS and the Java EE stack before moving to Spring. We also relied on the most commonly used free tools, and because we're an open source shop, we used Linux across the board.

We contacted the company or community behind most of the languages and asked whether a mentor could be supplied. (We have enough in-house expertise in Java, JavaScript, and Ruby to do the mentoring ourselves.) We also used community forums, IRC, and mailing lists where possible. Our thinking: A company/organization with enough PR energy to help with the article will be helpful to a paying customer as well. A community that functions on this short a timeline in a helpful manner for a n00b will be reasonably helpful to developers on real projects.

Most developers implemented Granny first in Java and Spring, according to our staff dev guide for a comparable experience. Then after many moons, they implemented it in their assigned "new" language. Aside from the overall guidance above (be "quintessential" and "conventional"), nothing was dictated, like "use higher order functions" or "declare your types." Then each developer was asked some basic questions.

  • What makes this language special?
  • What did you like about it?
  • What frameworks and runtimes did you use?
  • What IDE, editor, and so on did you use?
  • How did you build Granny?
  • Now that you're done, would you find it easier to implement Granny again in Java (or whatever language you are most skilled in) or in the new language we assigned you?
  • What things did you learn that you will take back to your "day job"?
  • Where did you get your questions answered?
  • Would you recommend using this language on a project; if so, where/when?
  • What was the biggest drawback (besides lack of familiarity)?

Following you will find the takeaways from this experiment in programming language transition, as told by each Granny's Addressbook developer.

| 1 2 3 4 5 6 7 8 9 Page 2
From CIO: 8 Free Online Courses to Grow Your Tech Skills
Notice to our Readers
We're now using social media to take your comments and feedback. Learn more about this here.