23 July 2010

Start a PL/SQL "programming competition"?

I just received this note from Niladri Biswas:

I am an active participant of the PL SQL Challenge . Basically I am a SQL Server developer but also shares a lot of interest in Oracle which I started not very long. PL SQL Challenge forum is a great place to learn and hone our skills. At least it is helping me.

I would like to make one suggestion. Along with the current challenge idea, if you can organize PL SQL programming competition then it will be more attractive. I basically set up questions in the TSQL beginners challenge(Current one is #12) with collaboration with Mr. Jacob Sebestain and I am also an active participant of TSQL Challenge (Current on is #34).

He and I agreed: I would post this on the blog and invite comment, so please comment!

Here is my initial feedback: I have definitely thought about this in the past (either me posting a challenge such as "Write a function that parses a delimited string." or posting a problem a developer has, and seeking a solution). I have two concerns:

1. If it's a competition, how do you score and rank people? It's one thing to answer a multiple choice quiz. It's quite another to verify that a program is correct or well-written etc.

2. How can this be done without consuming an enormous amount of someone's time? Believe me, the Challenge is already chewing up large chunks of my life. :-)

The nice thing about this could be a "crowd-development" dynamic, posting a solution, having it critiqued and improved, get general agreement on optimal solution, then make available as reusable code for everyone.



  1. I like the idea but I agree with the time issue. As for scoring/ranking, you just have to be very specific as to what you're looking for - like what you've done with the challenge. The problem is that it couldn't be automated so any remaining chucks of life you have left would disappear.

    If this ever does go forward, I suggest the winning code be added to https://www.samplecode.oracle.com/


  2. We can have a challeneg evaluation team who will do the soltuion evalutions. The time frame for each challenge may be set to say 7 days or 14 days (as what tsql challenge forum does) and after that new challenge will come up and the cycle will go on.

  3. My feeling is that, while it is easy to spare a few minutes for a challenge question, the chunks of time to respond to a challenge may be beyond a lot of people.
    Also, I looked at putting some code on samplecode.oracle.com once and got the response "Please do not host utilities or other executables here; intended for sample
    code only".
    So you can include code that demonstrate techniques, but not code that does anything useful.