Programming Challenge for Newbies in Clojure and Python too?
RubyLearning has been conducting the monthly Ruby Programming Challenge for Newbies for over a year now and so far 12 challenges have been completed. The 13th challenge is in progress. All this was possible due to the extensive support we got from Rubyists across the world. Also, you all indicated that we continue with these challenges in the months to come.
Recently, my colleague Dhananjay Nene posted a Python based solution to the 13th Ruby challenge. While discussing the solution it struck me that it would help Clojure and Python Newbies, if we opened up these challenges in these languages too. Dhananjay and some of my Clojure colleagues are interested in evaluating the submitted solutions in Clojure and Python and maybe we could start the challenges from Oct. 2010.
Clojure and Python enthusiasts – interested? What Do you Think? What is Your Opinion? Please share in the comments below.

3rd Sept. Thanks for the very encouraging response. Based on the feedback received so far, we have decided the following:
- We will start the challenges for Clojure, Python and Ruby from 1st Oct. 2010. We will call these “Programming Challenge for Newbies” and host it on this blog till end Dec. 2010. If the response is encouraging, we can host the challenges on different domains.
- We will have separate panels to evaluate the solutions. One each for Clojure, Python and Ruby.
- We will keep separate prizes for the 3 languages (and hopefully would find some sponsors).
- The challenge problem setters (fixed till Dec. 2010) would be told that the problem should be solvable in all languages and specifically Clojure, Python and Ruby. This means that the problem setter should not set a problem that needs to be solved by some specific language feature.
Technorati Tags: Clojure, Python, RPCFN, Ruby Challenge, Ruby, Programming
Posted by Satish Talim

{ 53 comments… read them below or add one }
← Previous Comments
Cool idea! This should attract more sponsors and participants. Thanks Satish.
Congrats Satish. Just goes to show how three different communities can work together.
The idea is good, but what about the execution?
Some time ago there was a question about existence of Ruby Challenge because of not many Rubists are willing to set the challenge.
I don’t think this problem has changed dramatically since then.
So wouldn’t you have the same issue with Clojure and Python.
Sure, people can submit solutions in other languages, but who is going to “judge” those?
On the other note, it kind of defeats the purpose of “!Ruby! challenge”.
Maybe it would have make sense to open just “Programming challenge” and make it more to the community to judge the solutions?
Again thinking about what I wrote before:
http://blog.approache.com/2010/08/ruby-challenge-for-newbies-reborn.html
Cheers,
Dmytrii.
There are Clojure and Python experts who have agreed to judge the submitted code, if we open the challenge to these language enthusiasts.
We have Ruby experts willing to set the challenge upto Dec. 2010 and I am hopeful that more would contribute.
Yes, whether we still keep the name as RPCFN or drop the R(uby) part can be decided based on the response we get.
Cool!
This will be an interesting way to learn Python and Clojure for me.
I think it’s a great idea, though clearly it couldn’t just be called ‘Ruby Challenge’
If people want to submit in Language X and people agree to judge Language X, there doesn’t seem to be much reason not to allow it.
However, now the question becomes, why just those three languages? What about Language Y?
Sounds like you need to be starting CodeLearning, ProgrammingLearning, or something like that, Satish!
I second Peter’s suggestion. RubyLearning should target Ruby developers and there should be a different one for Python or Clojure or any other programming language for that matter.
Wow! Awesome idea. It’d help me — and a lot of people — learn Clojure faster.
Sounds fun to me!
Sounds awesome.
+1
I think thats a nice idea. +1
Love the idea of adding multiple languages, I’d love to see Scala in there!
I agree with Todd, would love to see Scala in the mix! I would definitely jump in for Python.
You may want to take a look at: http://codingkata.org
They have a nice unified framework setup for solving the various problems (or katas) in the numerous languages that run on the JVM. Using a similar framework might make it easier to support multiple languages, however, if you have one judge per language then perhaps it’s not an issue.
+1
+1. Let’s do it.
+1 Cool idea.
Would definitely participate in the Clojure challenge. I thought it’s already on
That’s a cool idea!
So far, the prizes were Ruby books or Ruby-related screencasts from PeepCode. With Clojure and Python being added to the challenge, we’d have to make sure that the prizes become more generally appealing.
I would advise against diluting your site. It should be the site to visit for all things Ruby.
I think a Clojure challenge would be a wonderful idea.
I always dreamed of doing ***practical scripting tasks*** in a Lisp-like language (the one I was using was Scheme) and also having all the libraries of Perl or Python.
Clojure overcomes this by harnessing Java’s libraries.
Libraries plus the well-proven raw programming language power of a Lisp language as presented in the classics Structure and Interpretation of Computer Programs (SICP) and Essentials of Programming Languages (EOPL) would be ideal.
http://en.wikipedia.org/wiki/Structure_and_Interpretation_of_Computer_Programs
http://en.wikipedia.org/wiki/Essentials_of_Programming_Languages
Data munging or screen screen scraping data out of newspaper articles is what I use programming for now everyday, since I work at a newspaper. I use Ruby but I would love to try Clojure for this.
Excellent idea. It’ll become more and more like a mini google code jam, and give some of us exposure to languages that we haven’t previously had much or any experience with. I especially like the comment before mine about Scala. That along with Haskell and Erlang has been on my “investigate” list for some time now.
Great idea ! Especially for Clojure it could give a boost.
I am a Ruby newbie but I found Python coding interesting. I am willing to learn it in the future.
I love it! It would be a great way to see multiple ways to solve the same problem. I am enjoying Clojure, but finding it more difficult to get up to speed than other languages I have learned. This would be the perfect way to have a community of Clojure learners
I think Clojure is an excellent idea.
That’s a cool idea. +1
This looks cool. However, I think there should be two winners – one with the best Ruby code and the other one in any approved alternative language. This way, we can see the situations in which Ruby triumphs other languages and vice verse.
Sounds great.
This will be an interesting way to learn Python and Clojure apart from Ruby
I like Python and Clojure, but “Ruby challenge” in Python sounds strange
Maybe a new name.
Probably “Programming Challenge for Newbies”.
+1 for Programming Challenge for Newbies. Sounds like a nice idea to include Python and Clojure. Will be interesting to see how the solutions compare.
(inc *challenge-idea*)
Bring it own.
I think Python is an excellent idea!
+1, Great Idea!
Every opportunity you provide to teach a programming language is always more than welcome, man!
I also agree with some of the comments above that, in order to expand this concept to Python and Clojure, a revamp on the name of the challenge has to be made.
If the problem to solve is general enough, you can propose to solve the problem in the language of choice and then chose the best solution based on different criteria.
Particularly speaking, it’d be cool to learn Clojure by diff
Awesome idea… I will certainly jump on with Python.
As a Python user, I support this idea
Sounds good to me. I suggest separate sections for Ruby, Python and Closure, a prize for the best in each section and no attempt to choose the best of the three best (to simplify judging).
I suggest the competition be open to all, not just “newbies”. I see several advantages:
- More entrants.
- More varied and interesting solutions.
- More and better comments offered by entrants on other entrant’s solutions (which I think should be encouraged).
- The possibility of simplifying the judging by simply allowing participants to vote.
Possible names: “Satish’s Programming Challenge”, “RPC Programming Challenge”, “Clojure Ruby And Python Programming Challenge” (or some simplification of the last one).
+1, great ideas!
I have been away from Ruby for some time, but planning to come back soon…also I’m interested in learning Python…so sure! Having Challenges would be an awesome opportunity to both learn and share knowledge.
Another big hit from Rubylearning.com! -:D
Great idea. But I also agree that if you will use more languages “Ruby Challenge” is probably not a good name. Maybe “Programming Challenge” or something similar would fit better. Other than that, I am in favor or having more languages. I can learn something myself as I have no experience at all in Clojure.
This could work,because,Python and Clojure apart from Ruby are open source friendly, and very powerful.
I think you should keep it related to, the hottest cutting edge technologys only.
Otherwise you will lose the buzz factor, that you have now,because your classes are better than many 2 k boot camps Satish!
Like I commented in Facebook, I think that challenges, overall, should remain focused on a specific language. Not that there’s really much of a difference, but because I think that a coding challenge should focus more on the challenge itself under a specific language rather than falling into “lines of code” ambiguous comparisons.
After lifting up Ruby Challenge then proceed to lift up Python Challenge and Clojure Challenge and Scala Challenge. And for those rare moments where language is of not so much substantial consequence, issue a Programming Challenge. Perhaps 3 weeks out of 4 in specific languages and 1 week in any language of choice.
Sounds great!
I think contests for intermediates/experts would be a hit too.
It would be a good start to learn Clojure
I’d be delighted to participate, this site was the one that got me hook into dynamic languages, unfortunately I ended up going to Python so I’d love to participate in a Python challenge right here!!!
I agree with most of the commenters that it’s a good idea — it would provide nice side to side examples how to solve the challenges in different programming languages and paradigms.
sounds good, but i have a suggestion. Let the problem be primarily for one language. If someone solves it in another language good for him.
It would be lame if a problem is not asked if it is not-elegant in another language. There should be no such requirement that it has to be solvable in all the three languages.
{ 13 trackbacks }