I was reading How I became a Delphi developer on "Thoughts and other things..." a blog by Andreas Hausladen. In his blog post Andy explains that it was something he found interesting in a Delphi Handbook that hooked him on Delphi. It's really quite similar to the events that got me interested in computers and programming and it's a story you hear quite frequently. A comment to Andy by Gerald goes as far as to suggest that: "Maybe CodeGear should have those cool examples and/or books to get people interested in experimenting with programming again.." and I got to thunking. What if went just a little further. I think that it would be really cool if CodeGear [or anyone for that matter] would host a monthly coding challenge for ... well, anyone who wanted to participate.
Yea, there are a lot of sites out there that show you how to perform different/specific functions in Delphi. One of the best that I've used of his type is DelphiForFun by Gary Darby. There are tons of puzzles, tutorials, challenges and example code ... all generally aimed at teaching the principles of Delphi programming. There is one aspect to these types of sites that is missing ... feedback.
When I was just getting into Delphi I stumbled across "Delphi Programming Tic Tac Toe Contest" on About.Com:Delphi Programming hosted by Zarko Gajic. I was very excited running across this site - I had Googled "Delphi Contest" and found something even bigger. Wow, they have contests [challenges] where you submit your code, it is evaluated and your skills/code are graded against a number of peers. Unfortunately for me, on this one, I was away at sea and arrived home to submit my entry several days after the contest closed. I'm sure it would have won :)
The other misfortune was that this was the last contest of this type that they had. I did toss an entry into the "Delphi Programming Quickies Contest" which came into existence shortly after [also hosted on the site] but soon realized that, as things stand, it will probably be a while yet before I'll be submitting entries with titles like; "Adding Regular Expression Filename Filtering to ShellListView" or "Sending messages to non-windowed applications" which are in the current winners list. Some day though :)
FWIW : My entry was "How to Convert Numbers (Currency) to Words" and it was produced as the result of reading a post on one of the Delphi News-Groups. Well ... I thought it was nothing short of brilliant! :) Truth be known Zarko had to do a bit of editing to accommodate the international flavor of those that might be interested - the feedback was much appreciated and I learned from it.
I think CodeGear could have a lot of fun with something like this, while providing a huge service to newbies, hobbyists and even professionals that just need a bit of grey matter exercise. No 3rd party tools, no 3rd party code - just your noggin and your favorite Delphi IDE.
Back in Feb 2002 there was a Multi-Threaded Applications Contest ... brilliant idea. From the sound of it, these contests used to occur frequently. One of that particular caliber was probably a bit out of my league, but I'm not so sure that I would let that bother me too much. The contest did produce a huge resource of source code for me to read and learn from - once I get to threading. I noted that part of the article was: "Community programming contests are back!". Wonder why they died out again ... so soon after?
The existing Developer Network is already set up to allow voting on user submitted articles - which can include code. A few minor changes [stop cringing John :) ] to allow contestants to prove a few additional details about themselves [delphi skill, programming skill, beginner-hobbyist-professional ... ] and we're away. Other members of the network can download your entries, evaluate your code and give you a rating. Highest rated entries bubble to the top ... woohoo, your famous. CodeGear could even offer upgrades/software assurance [or even mouse pads, base ball caps, T-shirts ...] as prizes following some established scheme.
It's the closest thing to a mentor that I'm probably ever going to get :)
Just a passing thought ... thanks for stopping by,
Dave