Fog Creek Software
Discussion Board




Lord Palmerston and TopCoder

Joel said this in his latest article:

'...Someone who is a fantastic C++ coder with no API experience only knows about 10% of what you use every day writing code that runs on an API. When the economy is doing well, this doesn't matter...'

I agree, and I happen to recall the very popular TopCoder site ( http://www.topcoder.com ) where coding competitions are held regularly, and each contestant can use Java, C++ or C# to solve the same problem. Sun and nVidia spent a fair sum of money sponsoring these competitions. Part of TopCoder's business model is to get programming jobs for their members (mostly contestants).

I registered and took a look at some of the problems, from their simplest to their hardest, and all of them has got nothing to do with APIs outside the language's defaults. i.e. No specialised competitions, but on pure logic and language skills.

If this site is so popular and the industry is taking it seriously, but in light in Joel's opinion. What are your thoughts?

Rex Guo
Thursday, December 12, 2002

Sun and NVIDIA don't produce a lot of business software - so their needs are different.

Programming without making a single API call for months is very common in game development.

Ivan-Assen Ivanov
Thursday, December 12, 2002

Another thing is that game development relies a lot on data structures and algorithm implementation. For example, take a big BSP try and do some visibility checks, sort things in lists around, use funny old data structures not normally used in the name of optimal performance. Usually, API's are not available for these. Instead, you are more interested in whether the programmer can handle complex data structures and algorithms to manipulate these.

Siddharta Govindaraj
Thursday, December 12, 2002

This kind of validates what Joel was saying though. Game programming didn't have a lotr of uses for APIs until long ago. But now directX does a lot more for you, and the D3DX library in particular has a lot of utility functions that replace code that developers have been writting themselves for years, and I'd expect more and more code to move into such libraries over time until learning a complex a big api becomes just as important if not more so than programming those things yourself.

JB
Thursday, December 12, 2002

*  Recent Topics

*  Fog Creek Home